Annotation of embedaddon/php/ext/imap/php_imap.h, revision 1.1.1.2

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: 
1.1.1.2 ! misho      30: /* $Id$ */
1.1       misho      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>