Annotation of embedaddon/php/ext/imap/php_imap.h, revision 1.1
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 */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>