Return to php_imap.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / imap |
1.1 ! misho 1: /* ! 2: +----------------------------------------------------------------------+ ! 3: | PHP Version 5 | ! 4: +----------------------------------------------------------------------+ ! 5: | Copyright (c) 1997-2012 The PHP Group | ! 6: +----------------------------------------------------------------------+ ! 7: | This source file is subject to version 3.01 of the PHP license, | ! 8: | that is bundled with this package in the file LICENSE, and is | ! 9: | available through the world-wide-web at the following url: | ! 10: | http://www.php.net/license/3_01.txt | ! 11: | If you did not receive a copy of the PHP license and are unable to | ! 12: | obtain it through the world-wide-web, please send a note to | ! 13: | license@php.net so we can mail you a copy immediately. | ! 14: +----------------------------------------------------------------------+ ! 15: | Authors: Rex Logan <veebert@dimensional.com> | ! 16: | Mark Musone <musone@afterfive.com> | ! 17: | Brian Wang <brian@vividnet.com> | ! 18: | Kaj-Michael Lang <milang@tal.org> | ! 19: | Antoni Pamies Olive <toni@readysoft.net> | ! 20: | Rasmus Lerdorf <rasmus@php.net> | ! 21: | Chuck Hagenbuch <chuck@horde.org> | ! 22: | Andrew Skalski <askalski@chekinc.com> | ! 23: | Hartmut Holzgraefe <hholzgra@php.net> | ! 24: | Jani Taskinen <sniper@iki.fi> | ! 25: | Daniel R. Kalowsky <kalowsky@php.net> | ! 26: | PHP 4.0 updates: Zeev Suraski <zeev@zend.com> | ! 27: +----------------------------------------------------------------------+ ! 28: */ ! 29: ! 30: /* $Id: php_imap.h 321634 2012-01-01 13:15:04Z felipe $ */ ! 31: ! 32: #ifndef PHP_IMAP_H ! 33: #define PHP_IMAP_H ! 34: ! 35: #if HAVE_IMAP ! 36: ! 37: #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) ! 38: /* these are used for quota support */ ! 39: # include "c-client.h" /* includes mail.h and rfc822.h */ ! 40: # include "imap4r1.h" /* location of c-client quota functions */ ! 41: #else ! 42: # include "mail.h" ! 43: # include "rfc822.h" ! 44: #endif ! 45: ! 46: extern zend_module_entry imap_module_entry; ! 47: #define imap_module_ptr &imap_module_entry ! 48: ! 49: ! 50: /* Data types */ ! 51: ! 52: #ifdef IMAP41 ! 53: #define LSIZE text.size ! 54: #define LTEXT text.data ! 55: #define DTYPE int ! 56: #define CONTENT_PART nested.part ! 57: #define CONTENT_MSG_BODY nested.msg->body ! 58: #define IMAPVER "Imap 4R1" ! 59: #else ! 60: #define LSIZE size ! 61: #define LTEXT text ! 62: #define DTYPE char ! 63: #define CONTENT_PART contents.part ! 64: #define CONTENT_MSG_BODY contents.msg.body ! 65: #define IMAPVER "Imap 4" ! 66: #endif ! 67: ! 68: ! 69: /* Determines how mm_list() and mm_lsub() are to return their results. */ ! 70: typedef enum { ! 71: FLIST_ARRAY, ! 72: FLIST_OBJECT ! 73: } folderlist_style_t; ! 74: ! 75: typedef struct php_imap_le_struct { ! 76: MAILSTREAM *imap_stream; ! 77: long flags; ! 78: } pils; ! 79: ! 80: typedef struct php_imap_mailbox_struct { ! 81: SIZEDTEXT text; ! 82: DTYPE delimiter; ! 83: long attributes; ! 84: struct php_imap_mailbox_struct *next; ! 85: } FOBJECTLIST; ! 86: ! 87: typedef struct php_imap_error_struct { ! 88: SIZEDTEXT text; ! 89: long errflg; ! 90: struct php_imap_error_struct *next; ! 91: } ERRORLIST; ! 92: ! 93: typedef struct _php_imap_message_struct { ! 94: unsigned long msgid; ! 95: struct _php_imap_message_struct *next; ! 96: } MESSAGELIST; ! 97: ! 98: ! 99: /* Functions */ ! 100: ! 101: PHP_MINIT_FUNCTION(imap); ! 102: PHP_RINIT_FUNCTION(imap); ! 103: PHP_RSHUTDOWN_FUNCTION(imap); ! 104: PHP_MINFO_FUNCTION(imap); ! 105: ! 106: PHP_FUNCTION(imap_open); ! 107: PHP_FUNCTION(imap_popen); ! 108: PHP_FUNCTION(imap_reopen); ! 109: PHP_FUNCTION(imap_num_msg); ! 110: PHP_FUNCTION(imap_num_recent); ! 111: PHP_FUNCTION(imap_headers); ! 112: PHP_FUNCTION(imap_headerinfo); ! 113: PHP_FUNCTION(imap_rfc822_parse_headers); ! 114: PHP_FUNCTION(imap_body); ! 115: PHP_FUNCTION(imap_fetchstructure); ! 116: PHP_FUNCTION(imap_fetchbody); ! 117: PHP_FUNCTION(imap_fetchmime); ! 118: PHP_FUNCTION(imap_savebody); ! 119: PHP_FUNCTION(imap_gc); ! 120: PHP_FUNCTION(imap_expunge); ! 121: PHP_FUNCTION(imap_delete); ! 122: PHP_FUNCTION(imap_undelete); ! 123: PHP_FUNCTION(imap_check); ! 124: PHP_FUNCTION(imap_close); ! 125: PHP_FUNCTION(imap_mail_copy); ! 126: PHP_FUNCTION(imap_mail_move); ! 127: PHP_FUNCTION(imap_createmailbox); ! 128: PHP_FUNCTION(imap_renamemailbox); ! 129: PHP_FUNCTION(imap_deletemailbox); ! 130: PHP_FUNCTION(imap_listmailbox); ! 131: PHP_FUNCTION(imap_scanmailbox); ! 132: PHP_FUNCTION(imap_subscribe); ! 133: PHP_FUNCTION(imap_unsubscribe); ! 134: PHP_FUNCTION(imap_append); ! 135: PHP_FUNCTION(imap_ping); ! 136: PHP_FUNCTION(imap_base64); ! 137: PHP_FUNCTION(imap_qprint); ! 138: PHP_FUNCTION(imap_8bit); ! 139: PHP_FUNCTION(imap_binary); ! 140: PHP_FUNCTION(imap_mailboxmsginfo); ! 141: PHP_FUNCTION(imap_rfc822_write_address); ! 142: PHP_FUNCTION(imap_rfc822_parse_adrlist); ! 143: PHP_FUNCTION(imap_setflag_full); ! 144: PHP_FUNCTION(imap_clearflag_full); ! 145: PHP_FUNCTION(imap_sort); ! 146: PHP_FUNCTION(imap_fetchheader); ! 147: PHP_FUNCTION(imap_fetchtext); ! 148: PHP_FUNCTION(imap_uid); ! 149: PHP_FUNCTION(imap_msgno); ! 150: PHP_FUNCTION(imap_list); ! 151: PHP_FUNCTION(imap_list_full); ! 152: PHP_FUNCTION(imap_listscan); ! 153: PHP_FUNCTION(imap_lsub); ! 154: PHP_FUNCTION(imap_lsub_full); ! 155: PHP_FUNCTION(imap_create); ! 156: PHP_FUNCTION(imap_rename); ! 157: PHP_FUNCTION(imap_status); ! 158: PHP_FUNCTION(imap_bodystruct); ! 159: PHP_FUNCTION(imap_fetch_overview); ! 160: PHP_FUNCTION(imap_mail_compose); ! 161: PHP_FUNCTION(imap_alerts); ! 162: PHP_FUNCTION(imap_errors); ! 163: PHP_FUNCTION(imap_last_error); ! 164: PHP_FUNCTION(imap_mail); ! 165: PHP_FUNCTION(imap_search); ! 166: PHP_FUNCTION(imap_utf8); ! 167: PHP_FUNCTION(imap_utf7_decode); ! 168: PHP_FUNCTION(imap_utf7_encode); ! 169: #ifdef HAVE_IMAP_MUTF7 ! 170: PHP_FUNCTION(imap_utf8_to_mutf7); ! 171: PHP_FUNCTION(imap_mutf7_to_utf8); ! 172: #endif ! 173: PHP_FUNCTION(imap_mime_header_decode); ! 174: PHP_FUNCTION(imap_thread); ! 175: PHP_FUNCTION(imap_timeout); ! 176: ! 177: #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) ! 178: PHP_FUNCTION(imap_get_quota); ! 179: PHP_FUNCTION(imap_get_quotaroot); ! 180: PHP_FUNCTION(imap_set_quota); ! 181: PHP_FUNCTION(imap_setacl); ! 182: PHP_FUNCTION(imap_getacl); ! 183: #endif ! 184: ! 185: ! 186: ZEND_BEGIN_MODULE_GLOBALS(imap) ! 187: char *imap_user; ! 188: char *imap_password; ! 189: ! 190: STRINGLIST *imap_alertstack; ! 191: ERRORLIST *imap_errorstack; ! 192: ! 193: STRINGLIST *imap_folders; ! 194: STRINGLIST *imap_folders_tail; ! 195: STRINGLIST *imap_sfolders; ! 196: STRINGLIST *imap_sfolders_tail; ! 197: MESSAGELIST *imap_messages; ! 198: MESSAGELIST *imap_messages_tail; ! 199: FOBJECTLIST *imap_folder_objects; ! 200: FOBJECTLIST *imap_folder_objects_tail; ! 201: FOBJECTLIST *imap_sfolder_objects; ! 202: FOBJECTLIST *imap_sfolder_objects_tail; ! 203: ! 204: folderlist_style_t folderlist_style; ! 205: long status_flags; ! 206: unsigned long status_messages; ! 207: unsigned long status_recent; ! 208: unsigned long status_unseen; ! 209: unsigned long status_uidnext; ! 210: unsigned long status_uidvalidity; ! 211: #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) ! 212: zval **quota_return; ! 213: zval *imap_acl_list; ! 214: #endif ! 215: /* php_stream for php_mail_gets() */ ! 216: php_stream *gets_stream; ! 217: ZEND_END_MODULE_GLOBALS(imap) ! 218: ! 219: #ifdef ZTS ! 220: # define IMAPG(v) TSRMG(imap_globals_id, zend_imap_globals *, v) ! 221: #else ! 222: # define IMAPG(v) (imap_globals.v) ! 223: #endif ! 224: ! 225: #else ! 226: ! 227: #define imap_module_ptr NULL ! 228: ! 229: #endif ! 230: ! 231: #define phpext_imap_ptr imap_module_ptr ! 232: ! 233: #endif /* PHP_IMAP_H */