source: trunk/zpush/backend/zarafa/mapi/mapidefs.php @ 7589

Revision 7589, 35.8 KB checked in by douglas, 11 years ago (diff)

Ticket #3209 - Integrar módulo de sincronização Z-push ao Expresso

Line 
1<?php
2/*
3 * Copyright 2005 - 2012  Zarafa B.V.
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License, version 3,
7 * as published by the Free Software Foundation with the following additional
8 * term according to sec. 7:
9 *
10 * According to sec. 7 of the GNU Affero General Public License, version
11 * 3, the terms of the AGPL are supplemented with the following terms:
12 *
13 * "Zarafa" is a registered trademark of Zarafa B.V. The licensing of
14 * the Program under the AGPL does not imply a trademark license.
15 * Therefore any rights, title and interest in our trademarks remain
16 * entirely with us.
17 *
18 * However, if you propagate an unmodified version of the Program you are
19 * allowed to use the term "Zarafa" to indicate that you distribute the
20 * Program. Furthermore you may use our trademarks where it is necessary
21 * to indicate the intended purpose of a product or service provided you
22 * use it in accordance with honest practices in industrial or commercial
23 * matters.  If you want to propagate modified versions of the Program
24 * under the name "Zarafa" or "Zarafa Server", you may only do so if you
25 * have a written permission by Zarafa B.V. (to acquire a permission
26 * please contact Zarafa at trademark@zarafa.com).
27 *
28 * The interactive user interface of the software displays an attribution
29 * notice containing the term "Zarafa" and/or the logo of Zarafa.
30 * Interactive user interfaces of unmodified and modified versions must
31 * display Appropriate Legal Notices according to sec. 5 of the GNU
32 * Affero General Public License, version 3, when you propagate
33 * unmodified or modified versions of the Program. In accordance with
34 * sec. 7 b) of the GNU Affero General Public License, version 3, these
35 * Appropriate Legal Notices must retain the logo of Zarafa or display
36 * the words "Initial Development by Zarafa" if the display of the logo
37 * is not reasonably feasible for technical reasons. The use of the logo
38 * of Zarafa in Legal Notices is allowed for unmodified and modified
39 * versions of the software.
40 *
41 * This program is distributed in the hope that it will be useful,
42 * but WITHOUT ANY WARRANTY; without even the implied warranty of
43 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
44 * GNU Affero General Public License for more details.
45 *
46 * You should have received a copy of the GNU Affero General Public License
47 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
48 *
49 */
50
51
52/* Resource types as defined in main.h of the mapi extension */
53define('RESOURCE_SESSION'                        ,'MAPI Session');
54define('RESOURCE_TABLE'                          ,'MAPI Table');
55define('RESOURCE_ROWSET'                         ,'MAPI Rowset');
56define('RESOURCE_MSGSTORE'                       ,'MAPI Message Store');
57define('RESOURCE_FOLDER'                         ,'MAPI Folder');
58define('RESOURCE_MESSAGE'                        ,'MAPI Message');
59define('RESOURCE_ATTACHMENT'                     ,'MAPI Attachment');
60
61
62/* Object type */
63
64define('MAPI_STORE'                              ,0x00000001);    /* Message Store */
65define('MAPI_ADDRBOOK'                           ,0x00000002);    /* Address Book */
66define('MAPI_FOLDER'                             ,0x00000003);    /* Folder */
67define('MAPI_ABCONT'                             ,0x00000004);    /* Address Book Container */
68define('MAPI_MESSAGE'                            ,0x00000005);    /* Message */
69define('MAPI_MAILUSER'                           ,0x00000006);    /* Individual Recipient */
70define('MAPI_ATTACH'                             ,0x00000007);    /* Attachment */
71define('MAPI_DISTLIST'                           ,0x00000008);    /* Distribution List Recipient */
72define('MAPI_PROFSECT'                           ,0x00000009);    /* Profile Section */
73define('MAPI_STATUS'                             ,0x0000000A);    /* Status Object */
74define('MAPI_SESSION'                            ,0x0000000B);    /* Session */
75define('MAPI_FORMINFO'                           ,0x0000000C);    /* Form Information */
76
77define('MV_FLAG'                                 ,0x1000);
78define('MV_INSTANCE'                             ,0x2000);
79define('MVI_FLAG'                                ,MV_FLAG | MV_INSTANCE);
80
81define('PT_UNSPECIFIED'                          ,  0);    /* (Reserved for interface use) type doesn't matter to caller */
82define('PT_NULL'                                 ,  1);    /* NULL property value */
83define('PT_I2'                                   ,  2);    /* Signed 16-bit value */
84define('PT_LONG'                                 ,  3);    /* Signed 32-bit value */
85define('PT_R4'                                   ,  4);    /* 4-byte floating point */
86define('PT_DOUBLE'                               ,  5);    /* Floating point double */
87define('PT_CURRENCY'                             ,  6);    /* Signed 64-bit int (decimal w/    4 digits right of decimal pt) */
88define('PT_APPTIME'                              ,  7);    /* Application time */
89define('PT_ERROR'                                , 10);    /* 32-bit error value */
90define('PT_BOOLEAN'                              , 11);    /* 16-bit boolean (non-zero true) */
91define('PT_OBJECT'                               , 13);    /* Embedded object in a property */
92define('PT_I8'                                   , 20);    /* 8-byte signed integer */
93define('PT_STRING8'                              , 30);    /* Null terminated 8-bit character string */
94define('PT_UNICODE'                              , 31);    /* Null terminated Unicode string */
95define('PT_SYSTIME'                              , 64);    /* FILETIME 64-bit int w/ number of 100ns periods since Jan 1,1601 */
96define('PT_CLSID'                                , 72);    /* OLE GUID */
97define('PT_BINARY'                               ,258);   /* Uninterpreted (counted byte array) */
98/* Changes are likely to these numbers, and to their structures. */
99
100/* Alternate property type names for ease of use */
101define('PT_SHORT'                                ,PT_I2);
102define('PT_I4'                                   ,PT_LONG);
103define('PT_FLOAT'                                ,PT_R4);
104define('PT_R8'                                   ,PT_DOUBLE);
105define('PT_LONGLONG'                             ,PT_I8);
106
107
108define('PT_TSTRING'                              ,PT_STRING8);
109
110
111
112define('PT_MV_I2'                                ,(MV_FLAG | PT_I2));
113define('PT_MV_LONG'                              ,(MV_FLAG | PT_LONG));
114define('PT_MV_R4'                                ,(MV_FLAG | PT_R4));
115define('PT_MV_DOUBLE'                            ,(MV_FLAG | PT_DOUBLE));
116define('PT_MV_CURRENCY'                          ,(MV_FLAG | PT_CURRENCY));
117define('PT_MV_APPTIME'                           ,(MV_FLAG | PT_APPTIME));
118define('PT_MV_SYSTIME'                           ,(MV_FLAG | PT_SYSTIME));
119define('PT_MV_STRING8'                           ,(MV_FLAG | PT_STRING8));
120define('PT_MV_BINARY'                            ,(MV_FLAG | PT_BINARY));
121define('PT_MV_UNICODE'                           ,(MV_FLAG | PT_UNICODE));
122define('PT_MV_CLSID'                             ,(MV_FLAG | PT_CLSID));
123define('PT_MV_I8'                                ,(MV_FLAG | PT_I8));
124
125define('PT_MV_TSTRING'                           ,PT_MV_STRING8);
126/* bit 0: set if descending, clear if ascending */
127
128define('TABLE_SORT_ASCEND'                       ,(0x00000000));
129define('TABLE_SORT_DESCEND'                      ,(0x00000001));
130define('TABLE_SORT_COMBINE'                      ,(0x00000002));
131
132define('MAPI_UNICODE'                            ,0x80000000);
133
134/* IMAPIFolder Interface --------------------------------------------------- */
135define('CONVENIENT_DEPTH'                        ,0x00000001);
136define('SEARCH_RUNNING'                          ,0x00000001);
137define('SEARCH_REBUILD'                          ,0x00000002);
138define('SEARCH_RECURSIVE'                        ,0x00000004);
139define('SEARCH_FOREGROUND'                       ,0x00000008);
140define('STOP_SEARCH'                             ,0x00000001);
141define('RESTART_SEARCH'                          ,0x00000002);
142define('RECURSIVE_SEARCH'                        ,0x00000004);
143define('SHALLOW_SEARCH'                          ,0x00000008);
144define('FOREGROUND_SEARCH'                       ,0x00000010);
145define('BACKGROUND_SEARCH'                       ,0x00000020);
146
147/* IMAPIFolder folder type (enum) */
148
149define('FOLDER_ROOT'                             ,0x00000000);
150define('FOLDER_GENERIC'                          ,0x00000001);
151define('FOLDER_SEARCH'                           ,0x00000002);
152
153/* CreateMessage */
154/****** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below */
155/****** MAPI_ASSOCIATED         ((ULONG) 0x00000040) below */
156
157/* CopyMessages */
158
159define('MESSAGE_MOVE'                            ,0x00000001);
160define('MESSAGE_DIALOG'                          ,0x00000002);
161/****** MAPI_DECLINE_OK         ((ULONG) 0x00000004) above */
162
163/* CreateFolder */
164
165define('OPEN_IF_EXISTS'                          ,0x00000001);
166/****** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below */
167/****** MAPI_UNICODE            ((ULONG) 0x80000000) above */
168
169/* DeleteFolder */
170
171define('DEL_MESSAGES'                            ,0x00000001);
172define('FOLDER_DIALOG'                           ,0x00000002);
173define('DEL_FOLDERS'                             ,0x00000004);
174
175/* EmptyFolder */
176define('DEL_ASSOCIATED'                          ,0x00000008);
177
178/* CopyFolder */
179
180define('FOLDER_MOVE'                             ,0x00000001);
181/****** FOLDER_DIALOG           ((ULONG) 0x00000002) above */
182/****** MAPI_DECLINE_OK         ((ULONG) 0x00000004) above */
183define('COPY_SUBFOLDERS'                         ,0x00000010);
184/****** MAPI_UNICODE            ((ULONG) 0x80000000) above */
185
186
187/* SetReadFlags */
188
189define('SUPPRESS_RECEIPT'                        ,0x00000001);
190/****** FOLDER_DIALOG           ((ULONG) 0x00000002) above */
191define('CLEAR_READ_FLAG'                         ,0x00000004);
192/****** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below */
193define('GENERATE_RECEIPT_ONLY'                   ,0x00000010);
194define('CLEAR_RN_PENDING'                        ,0x00000020);
195define('CLEAR_NRN_PENDING'                       ,0x00000040);
196
197/* Flags defined in PR_MESSAGE_FLAGS */
198
199define('MSGFLAG_READ'                            ,0x00000001);
200define('MSGFLAG_UNMODIFIED'                      ,0x00000002);
201define('MSGFLAG_SUBMIT'                          ,0x00000004);
202define('MSGFLAG_UNSENT'                          ,0x00000008);
203define('MSGFLAG_HASATTACH'                       ,0x00000010);
204define('MSGFLAG_FROMME'                          ,0x00000020);
205define('MSGFLAG_ASSOCIATED'                      ,0x00000040);
206define('MSGFLAG_RESEND'                          ,0x00000080);
207define('MSGFLAG_RN_PENDING'                      ,0x00000100);
208define('MSGFLAG_NRN_PENDING'                     ,0x00000200);
209
210/* GetMessageStatus */
211
212define('MSGSTATUS_HIGHLIGHTED'                   ,0x00000001);
213define('MSGSTATUS_TAGGED'                        ,0x00000002);
214define('MSGSTATUS_HIDDEN'                        ,0x00000004);
215define('MSGSTATUS_DELMARKED'                     ,0x00000008);
216
217/* Bits for remote message status */
218
219define('MSGSTATUS_REMOTE_DOWNLOAD'               ,0x00001000);
220define('MSGSTATUS_REMOTE_DELETE'                 ,0x00002000);
221
222/* SaveContentsSort */
223
224define('RECURSIVE_SORT'                          ,0x00000002);
225
226/* PR_STATUS property */
227
228define('FLDSTATUS_HIGHLIGHTED'                   ,0x00000001);
229define('FLDSTATUS_TAGGED'                        ,0x00000002);
230define('FLDSTATUS_HIDDEN'                        ,0x00000004);
231define('FLDSTATUS_DELMARKED'                     ,0x00000008);
232
233
234/* IMAPIStatus Interface --------------------------------------------------- */
235
236/* Values for PR_RESOURCE_TYPE, _METHODS, _FLAGS */
237
238define('MAPI_STORE_PROVIDER'                     , 33);    /* Message Store */
239define('MAPI_AB'                                 , 34);    /* Address Book */
240define('MAPI_AB_PROVIDER'                        , 35);    /* Address Book Provider */
241define('MAPI_TRANSPORT_PROVIDER'                 , 36);    /* Transport Provider */
242define('MAPI_SPOOLER'                            , 37);    /* Message Spooler */
243define('MAPI_PROFILE_PROVIDER'                   , 38);    /* Profile Provider */
244define('MAPI_SUBSYSTEM'                          , 39);    /* Overall Subsystem Status */
245define('MAPI_HOOK_PROVIDER'                      , 40);    /* Spooler Hook */
246define('STATUS_VALIDATE_STATE'                   ,0x00000001);
247define('STATUS_SETTINGS_DIALOG'                  ,0x00000002);
248define('STATUS_CHANGE_PASSWORD'                  ,0x00000004);
249define('STATUS_FLUSH_QUEUES'                     ,0x00000008);
250
251define('STATUS_DEFAULT_OUTBOUND'                 ,0x00000001);
252define('STATUS_DEFAULT_STORE'                    ,0x00000002);
253define('STATUS_PRIMARY_IDENTITY'                 ,0x00000004);
254define('STATUS_SIMPLE_STORE'                     ,0x00000008);
255define('STATUS_XP_PREFER_LAST'                   ,0x00000010);
256define('STATUS_NO_PRIMARY_IDENTITY'              ,0x00000020);
257define('STATUS_NO_DEFAULT_STORE'                 ,0x00000040);
258define('STATUS_TEMP_SECTION'                     ,0x00000080);
259define('STATUS_OWN_STORE'                        ,0x00000100);
260define('STATUS_NEED_IPM_TREE'                    ,0x00000800);
261define('STATUS_PRIMARY_STORE'                    ,0x00001000);
262define('STATUS_SECONDARY_STORE'                  ,0x00002000);
263
264
265/* ------------ */
266/* Random flags */
267
268/* Flag for deferred error */
269define('MAPI_DEFERRED_ERRORS'                    ,0x00000008);
270
271/* Flag for creating and using Folder Associated Information Messages */
272define('MAPI_ASSOCIATED'                         ,0x00000040);
273
274/* Flags for OpenMessageStore() */
275
276define('MDB_NO_DIALOG'                           ,0x00000001);
277define('MDB_WRITE'                               ,0x00000004);
278/****** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) above */
279/****** MAPI_BEST_ACCESS        ((ULONG) 0x00000010) above */
280define('MDB_TEMPORARY'                           ,0x00000020);
281define('MDB_NO_MAIL'                             ,0x00000080);
282
283/* Flags for OpenAddressBook */
284
285define('AB_NO_DIALOG'                            ,0x00000001);
286
287/* ((ULONG) 0x00000001 is not a valid flag on ModifyRecipients. */
288define('MODRECIP_ADD'                            ,0x00000002);
289define('MODRECIP_MODIFY'                         ,0x00000004);
290define('MODRECIP_REMOVE'                         ,0x00000008);
291
292
293define('MAPI_ORIG'                               ,0);          /* Recipient is message originator          */
294define('MAPI_TO'                                 ,1);          /* Recipient is a primary recipient         */
295define('MAPI_CC'                                 ,2);          /* Recipient is a copy recipient            */
296define('MAPI_BCC'                                ,3);          /* Recipient is blind copy recipient        */
297
298
299/* IAttach Interface ------------------------------------------------------- */
300
301/* IAttach attachment methods: PR_ATTACH_METHOD values */
302
303define('NO_ATTACHMENT'                           ,0x00000000);
304define('ATTACH_BY_VALUE'                         ,0x00000001);
305define('ATTACH_BY_REFERENCE'                     ,0x00000002);
306define('ATTACH_BY_REF_RESOLVE'                   ,0x00000003);
307define('ATTACH_BY_REF_ONLY'                      ,0x00000004);
308define('ATTACH_EMBEDDED_MSG'                     ,0x00000005);
309define('ATTACH_OLE'                              ,0x00000006);
310
311/* OpenProperty  - ulFlags */
312define('MAPI_MODIFY'                             ,0x00000001);
313define('MAPI_CREATE'                             ,0x00000002);
314define('STREAM_APPEND'                           ,0x00000004);
315/****** MAPI_DEFERRED_ERRORS    ((ULONG) 0x00000008) below */
316
317
318/* PR_PRIORITY values */
319define('PRIO_URGENT'                             , 1);
320define('PRIO_NORMAL'                             , 0);
321define('PRIO_NONURGENT'                          ,-1);
322
323/* PR_SENSITIVITY values */
324define('SENSITIVITY_NONE'                        ,0x00000000);
325define('SENSITIVITY_PERSONAL'                    ,0x00000001);
326define('SENSITIVITY_PRIVATE'                     ,0x00000002);
327define('SENSITIVITY_COMPANY_CONFIDENTIAL'        ,0x00000003);
328
329/* PR_IMPORTANCE values */
330define('IMPORTANCE_LOW'                          ,0);
331define('IMPORTANCE_NORMAL'                       ,1);
332define('IMPORTANCE_HIGH'                         ,2);
333
334/* Stream interace values */
335define('STREAM_SEEK_SET'                         ,0);
336define('STREAM_SEEK_CUR'                         ,1);
337define('STREAM_SEEK_END'                         ,2);
338
339define('SHOW_SOFT_DELETES'                       ,0x00000002);
340define('DELETE_HARD_DELETE'                      ,0x00000010);
341
342/*
343 *    The following flags are used to indicate to the client what access
344 *    level is permissible in the object. They appear in PR_ACCESS in
345 *    message and folder objects as well as in contents and associated
346 *    contents tables
347 */
348define('MAPI_ACCESS_MODIFY'                      ,0x00000001);
349define('MAPI_ACCESS_READ'                        ,0x00000002);
350define('MAPI_ACCESS_DELETE'                      ,0x00000004);
351define('MAPI_ACCESS_CREATE_HIERARCHY'            ,0x00000008);
352define('MAPI_ACCESS_CREATE_CONTENTS'             ,0x00000010);
353define('MAPI_ACCESS_CREATE_ASSOCIATED'           ,0x00000020);
354
355define('MAPI_SEND_NO_RICH_INFO'                  ,0x00010000);
356
357/* flags for PR_STORE_SUPPORT_MASK */
358define('STORE_ANSI_OK'                           ,0x00020000); // The message store supports properties containing ANSI (8-bit) characters.
359define('STORE_ATTACH_OK'                         ,0x00000020); // The message store supports attachments (OLE or non-OLE) to messages.
360define('STORE_CATEGORIZE_OK'                     ,0x00000400); // The message store supports categorized views of tables.
361define('STORE_CREATE_OK'                         ,0x00000010); // The message store supports creation of new messages.
362define('STORE_ENTRYID_UNIQUE'                    ,0x00000001); // Entry identifiers for the objects in the message store are unique, that is, never reused during the life of the store.
363define('STORE_HTML_OK'                           ,0x00010000); // The message store supports Hypertext Markup Language (HTML) messages, stored in the PR_BODY_HTML property. Note that STORE_HTML_OK is not defined in versions of MAPIDEFS.H included with Microsoftï¿œ Exchange 2000 Server and earlier. If your development environment uses a MAPIDEFS.H file that does not include STORE_HTML_OK, use the value 0x00010000 instead.
364define('STORE_LOCALSTORE'                        ,0x00080000); // This flag is reserved and should not be used.
365define('STORE_MODIFY_OK'                         ,0x00000008); // The message store supports modification of its existing messages.
366define('STORE_MV_PROPS_OK'                       ,0x00000200); // The message store supports multivalued properties, guarantees the stability of value order in a multivalued property throughout a save operation, and supports instantiation of multivalued properties in tables.
367define('STORE_NOTIFY_OK'                         ,0x00000100); // The message store supports notifications.
368define('STORE_OLE_OK'                            ,0x00000040); // The message store supports OLE attachments. The OLE data is accessible through an IStorage interface, such as that available through the PR_ATTACH_DATA_OBJ property.
369define('STORE_PUBLIC_FOLDERS'                    ,0x00004000); // The folders in this store are public (multi-user), not private (possibly multi-instance but not multi-user).
370define('STORE_READONLY'                          ,0x00000002); // All interfaces for the message store have a read-only access level.
371define('STORE_RESTRICTION_OK'                    ,0x00001000); // The message store supports restrictions.
372define('STORE_RTF_OK'                            ,0x00000800); // The message store supports Rich Text Format (RTF) messages, usually stored compressed, and the store itself keeps PR_BODY and PR_RTF_COMPRESSED synchronized.
373define('STORE_SEARCH_OK'                         ,0x00000004); // The message store supports search-results folders.
374define('STORE_SORT_OK'                           ,0x00002000); // The message store supports sorting views of tables.
375define('STORE_SUBMIT_OK'                         ,0x00000080); // The message store supports marking a message for submission.
376define('STORE_UNCOMPRESSED_RTF'                  ,0x00008000); // The message store supports storage of Rich Text Format (RTF) messages in uncompressed form. An uncompressed RTF stream is identified by the value dwMagicUncompressedRTF in the stream header. The dwMagicUncompressedRTF value is defined in the RTFLIB.H file.
377define('STORE_UNICODE_OK'                        ,0x00040000); // The message store supports properties containing Unicode characters.
378
379
380/*  PR_DISPLAY_TYPEs                 */
381/*  For address book contents tables */
382define('DT_MAILUSER'                             ,0x00000000);
383define('DT_DISTLIST'                             ,0x00000001);
384define('DT_FORUM'                                ,0x00000002);
385define('DT_AGENT'                                ,0x00000003);
386define('DT_ORGANIZATION'                         ,0x00000004);
387define('DT_PRIVATE_DISTLIST'                     ,0x00000005);
388define('DT_REMOTE_MAILUSER'                      ,0x00000006);
389
390/* For address book hierarchy tables */
391define('DT_MODIFIABLE'                           ,0x00010000);
392define('DT_GLOBAL'                               ,0x00020000);
393define('DT_LOCAL'                                ,0x00030000);
394define('DT_WAN'                                  ,0x00040000);
395define('DT_NOT_SPECIFIC'                         ,0x00050000);
396
397/* For folder hierarchy tables */
398define('DT_FOLDER'                               ,0x01000000);
399define('DT_FOLDER_LINK'                          ,0x02000000);
400define('DT_FOLDER_SPECIAL'                       ,0x04000000);
401
402/* PR_DISPLAY_TYPE_EX values */
403define('DT_ROOM'                                 ,0x00000007);
404define('DT_EQUIPMENT'                            ,0x00000008);
405define('DT_SEC_DISTLIST'                         ,0x00000009);
406
407/* PR_DISPLAY_TYPE_EX flags */
408define('DTE_FLAG_REMOTE_VALID'                   ,0x80000000);
409define('DTE_FLAG_ACL_CAPABLE'                    ,0x40000000); /* on for DT_MAILUSER and DT_SEC_DISTLIST */
410define('DTE_MASK_REMOTE'                         ,0x0000FF00);
411define('DTE_MASK_LOCAL'                          ,0x000000FF);
412
413/* OlResponseStatus */
414define('olResponseNone'                          ,0);
415define('olResponseOrganized'                     ,1);
416define('olResponseTentative'                     ,2);
417define('olResponseAccepted'                      ,3);
418define('olResponseDeclined'                      ,4);
419define('olResponseNotResponded'                  ,5);
420
421/* OlRecipientTrackStatus to set PR_RECIPIENT_TRACKSTATUS in recipient table
422 * Value of the recipient trackstatus are same as OlResponseStatus but
423 * recipient trackstatus doesn't have olResponseOrganized and olResponseNotResponded
424 * and olResponseNone has different interpretation with PR_RECIPIENT_TRACKSTATUS
425 * so to avoid confusions we have defined new constants.
426*/
427define('olRecipientTrackStatusNone'              ,0);
428define('olRecipientTrackStatusTentative'         ,2);
429define('olRecipientTrackStatusAccepted'          ,3);
430define('olRecipientTrackStatusDeclined'          ,4);
431
432/* OlMeetingStatus */
433define('olNonMeeting'                            ,0);
434define('olMeeting'                               ,1);
435define('olMeetingReceived'                       ,3);
436define('olMeetingCanceled'                       ,5);
437define('olMeetingReceivedAndCanceled'            ,7);
438
439/*    OlMeetingResponse */
440define('olMeetingTentative'                      ,2);
441define('olMeetingAccepted'                       ,3);
442define('olMeetingDeclined'                       ,4);
443
444/* OL Attendee type */
445define('olAttendeeRequired'                      ,1);
446define('olAttendeeOptional'                      ,2);
447define('olAttendeeResource'                      ,3);
448
449/* task status */
450define('olTaskNotStarted'                        ,0);
451define('olTaskInProgress'                        ,1);
452define('olTaskComplete'                          ,2);
453define('olTaskWaiting'                           ,3);
454define('olTaskDeferred'                          ,4);
455
456/* restrictions */
457define('RES_AND'                                 ,0);
458define('RES_OR'                                  ,1);
459define('RES_NOT'                                 ,2);
460define('RES_CONTENT'                             ,3);
461define('RES_PROPERTY'                            ,4);
462define('RES_COMPAREPROPS'                        ,5);
463define('RES_BITMASK'                             ,6);
464define('RES_SIZE'                                ,7);
465define('RES_EXIST'                               ,8);
466define('RES_SUBRESTRICTION'                      ,9);
467define('RES_COMMENT'                             ,10);
468
469/* restriction compares */
470define('RELOP_LT'                                ,0);
471define('RELOP_LE'                                ,1);
472define('RELOP_GT'                                ,2);
473define('RELOP_GE'                                ,3);
474define('RELOP_EQ'                                ,4);
475define('RELOP_NE'                                ,5);
476define('RELOP_RE'                                ,6);
477
478/* string 'fuzzylevel' */
479define('FL_FULLSTRING'                           ,0x00000000);
480define('FL_SUBSTRING'                            ,0x00000001);
481define('FL_PREFIX'                               ,0x00000002);
482define('FL_IGNORECASE'                           ,0x00010000);
483define('FL_IGNORENONSPACE'                       ,0x00020000);
484define('FL_LOOSE'                                ,0x00040000);
485
486/* bitmask restriction types */
487define('BMR_EQZ'                                 ,0x00000000);
488define('BMR_NEZ'                                 ,0x00000001);
489
490/* array index values of restrictions -- same values are used in php-ext/main.cpp::PHPArraytoSRestriction() */
491define('VALUE'                                   ,0);        // propval
492define('RELOP'                                   ,1);        // compare method
493define('FUZZYLEVEL'                              ,2);        // string search flags
494define('CB'                                      ,3);        // size restriction
495define('ULTYPE'                                  ,4);        // bit mask restriction type BMR_xxx
496define('ULMASK'                                  ,5);        // bitmask
497define('ULPROPTAG'                               ,6);        // property
498define('ULPROPTAG1'                              ,7);        // RES_COMPAREPROPS 1st property
499define('ULPROPTAG2'                              ,8);        // RES_COMPAREPROPS 2nd property
500define('PROPS'                                   ,9);        // RES_COMMENT properties
501define('RESTRICTION'                             ,10);       // RES_COMMENT and RES_SUBRESTRICTION restriction
502
503/* GUID's for PR_MDB_PROVIDER */
504define("ZARAFA_SERVICE_GUID"                     ,makeGuid("{3C253DCA-D227-443C-94FE-425FAB958C19}"));    // default store
505define("ZARAFA_STORE_PUBLIC_GUID"                ,makeGuid("{D47F4A09-D3BD-493C-B2FC-3C90BBCB48D4}"));    // public store
506define("ZARAFA_STORE_DELEGATE_GUID"              ,makeGuid("{7C7C1085-BC6D-4E53-9DAB-8A53F8DEF808}"));    // other store
507define('ZARAFA_STORE_ARCHIVER_GUID'              ,makeGuid("{BC8953AD-2E3F-4172-9404-896FF459870F}"));    // archive store
508
509/* global profile section guid */
510define('pbGlobalProfileSectionGuid'              ,makeGuid("{C8B0DB13-05AA-1A10-9BB0-00AA002FC45A}"));
511
512/* Zarafa Contacts provider GUID */
513define('ZARAFA_CONTACTS_GUID'                    ,makeGuid("{30047F72-92E3-DA4F-B86A-E52A7FE46571}"));
514
515/* Permissions */
516
517// Get permission type
518define('ACCESS_TYPE_DENIED'                      ,1);
519define('ACCESS_TYPE_GRANT'                       ,2);
520define('ACCESS_TYPE_BOTH'                        ,3);
521
522define('ecRightsNone'                            ,0x00000000);
523define('ecRightsReadAny'                         ,0x00000001);
524define('ecRightsCreate'                          ,0x00000002);
525define('ecRightsEditOwned'                       ,0x00000008);
526define('ecRightsDeleteOwned'                     ,0x00000010);
527define('ecRightsEditAny'                         ,0x00000020);
528define('ecRightsDeleteAny'                       ,0x00000040);
529define('ecRightsCreateSubfolder'                 ,0x00000080);
530define('ecRightsFolderAccess'                    ,0x00000100);
531//define('ecrightsContact'                       ,0x00000200);
532define('ecRightsFolderVisible'                   ,0x00000400);
533
534define('ecRightsAll'                             ,ecRightsReadAny | ecRightsCreate | ecRightsEditOwned | ecRightsDeleteOwned | ecRightsEditAny | ecRightsDeleteAny | ecRightsCreateSubfolder | ecRightsFolderAccess | ecRightsFolderVisible);
535define('ecRightsFullControl'                     ,ecRightsReadAny | ecRightsCreate | ecRightsEditOwned | ecRightsDeleteOwned | ecRightsEditAny | ecRightsDeleteAny | ecRightsCreateSubfolder | ecRightsFolderVisible);
536define('ecRightsDefault'                         ,ecRightsNone | ecRightsFolderVisible);
537define('ecRightsDefaultPublic'                   ,ecRightsReadAny | ecRightsFolderVisible);
538define('ecRightsAdmin'                           ,0x00001000);
539define('ecRightsAllMask'                         ,0x000015FB);
540
541// Right change indication
542define('RIGHT_NORMAL'                            ,0x00);
543define('RIGHT_NEW'                               ,0x01);
544define('RIGHT_MODIFY'                            ,0x02);
545define('RIGHT_DELETED'                           ,0x04);
546define('RIGHT_AUTOUPDATE_DENIED'                 ,0x08);
547
548// IExchangeModifyTable: defines for rules
549define('ROWLIST_REPLACE'                         ,0x0001);
550define('ROW_ADD'                                 ,0x0001);
551define('ROW_MODIFY'                              ,0x0002);
552define('ROW_REMOVE'                              ,0x0004);
553define('ROW_EMPTY'                               ,(ROW_ADD|ROW_REMOVE));
554
555// new property types
556define('PT_SRESTRICTION'                         ,0x00FD);
557define('PT_ACTIONS'                              ,0x00FE);
558// unused, I believe
559define('PT_FILE_HANDLE'                          ,0x0103);
560define('PT_FILE_EA'                              ,0x0104);
561define('PT_VIRTUAL'                              ,0x0105);
562
563// rules state
564define('ST_DISABLED'                             ,0x0000);
565define('ST_ENABLED'                              ,0x0001);
566define('ST_ERROR'                                ,0x0002);
567define('ST_ONLY_WHEN_OOF'                        ,0x0004);
568define('ST_KEEP_OOF_HIST'                        ,0x0008);
569define('ST_EXIT_LEVEL'                           ,0x0010);
570define('ST_SKIP_IF_SCL_IS_SAFE'                  ,0x0020);
571define('ST_RULE_PARSE_ERROR'                     ,0x0040);
572define('ST_CLEAR_OOF_HIST'                       ,0x80000000);
573
574// action types
575define('OP_MOVE'                                 ,1);
576define('OP_COPY'                                 ,2);
577define('OP_REPLY'                                ,3);
578define('OP_OOF_REPLY'                            ,4);
579define('OP_DEFER_ACTION'                         ,5);
580define('OP_BOUNCE'                               ,6);
581define('OP_FORWARD'                              ,7);
582define('OP_DELEGATE'                             ,8);
583define('OP_TAG'                                  ,9);
584define('OP_DELETE'                               ,10);
585define('OP_MARK_AS_READ'                         ,11);
586
587// for OP_REPLY
588define('DO_NOT_SEND_TO_ORIGINATOR'               ,1);
589define('STOCK_REPLY_TEMPLATE'                    ,2);
590
591// for OP_FORWARD
592define('FWD_PRESERVE_SENDER'                     ,1);
593define('FWD_DO_NOT_MUNGE_MSG'                    ,2);
594define('FWD_AS_ATTACHMENT'                       ,4);
595
596// scBounceCodevalues
597define('BOUNCE_MESSAGE_SIZE_TOO_LARGE'           ,13);
598define('BOUNCE_FORMS_MISMATCH'                   ,31);
599define('BOUNCE_ACCESS_DENIED'                    ,38);
600
601// Free/busystatus
602define('fbFree'                                  ,0);
603define('fbTentative'                             ,1);
604define('fbBusy'                                  ,2);
605define('fbOutOfOffice'                           ,3);
606
607/* ICS flags */
608
609// For Synchronize()
610define('SYNC_UNICODE'                            ,0x01);
611define('SYNC_NO_DELETIONS'                       ,0x02);
612define('SYNC_NO_SOFT_DELETIONS'                  ,0x04);
613define('SYNC_READ_STATE'                         ,0x08);
614define('SYNC_ASSOCIATED'                         ,0x10);
615define('SYNC_NORMAL'                             ,0x20);
616define('SYNC_NO_CONFLICTS'                       ,0x40);
617define('SYNC_ONLY_SPECIFIED_PROPS'               ,0x80);
618define('SYNC_NO_FOREIGN_KEYS'                    ,0x100);
619define('SYNC_LIMITED_IMESSAGE'                   ,0x200);
620define('SYNC_CATCHUP'                            ,0x400);
621define('SYNC_NEW_MESSAGE'                        ,0x800);         // only applicable to ImportMessageChange()
622define('SYNC_MSG_SELECTIVE'                      ,0x1000);        // Used internally.      Will reject if used by clients.
623define('SYNC_BEST_BODY'                          ,0x2000);
624define('SYNC_IGNORE_SPECIFIED_ON_ASSOCIATED'     ,0x4000);
625define('SYNC_PROGRESS_MODE'                      ,0x8000);        // AirMapi progress mode
626define('SYNC_FXRECOVERMODE'                      ,0x10000);
627define('SYNC_DEFER_CONFIG'                       ,0x20000);
628define('SYNC_FORCE_UNICODE'                      ,0x40000);       // Forces server to return Unicode properties
629
630define('EMS_AB_ADDRESS_LOOKUP'                   ,0x00000001);    // Flag for resolvename to resolve only exact matches
631
632define('TBL_BATCH'                               ,0x00000002);    // Batch multiple table commands
633
634/* Flags for recipients in exceptions */
635define('recipSendable'                           ,0x00000001);    // sendable attendee.
636define('recipOrganizer'                          ,0x00000002);    // meeting organizer
637define('recipExceptionalResponse'                ,0x00000010);    // attendee gave a response for the exception
638define('recipExceptionalDeleted'                 ,0x00000020);    // recipientRow exists, but it is treated as if the corresponding recipient is deleted from meeting
639define('recipOriginal'                           ,0x00000100);    // recipient is an original Attendee
640define('recipReserved'                           ,0x00000200);
641
642/* Flags which indicates type of Meeting Object */
643define('mtgEmpty'                                ,0x00000000);    // Unspecified.
644define('mtgRequest'                              ,0x00000001);    // Initial meeting request.
645define('mtgFull'                                 ,0x00010000);    // Full update.
646define('mtgInfo'                                 ,0x00020000);    // Informational update.
647define('mtgOutOfDate'                            ,0x00080000);    // A newer Meeting Request object or Meeting Update object was received after this one.
648define('mtgDelegatorCopy'                        ,0x00100000);    // This is set on the delegator's copy when a delegate will handle meeting-related objects.
649
650define('MAPI_ONE_OFF_UNICODE'                    ,0x8000);        // the flag that defines whether the embedded strings are Unicode in one off entryids.
651define('MAPI_ONE_OFF_NO_RICH_INFO'               ,0x0001);        // the flag that specifies whether the recipient gets TNEF or not.
652
653/* Mask flags for mapi_msgstore_advise */
654define('fnevCriticalError'                       ,0x00000001);
655define('fnevNewMail'                             ,0x00000002);
656define('fnevObjectCreated'                       ,0x00000004);
657define('fnevObjectDeleted'                       ,0x00000008);
658define('fnevObjectModified'                      ,0x00000010);
659define('fnevObjectMoved'                         ,0x00000020);
660define('fnevObjectCopied'                        ,0x00000040);
661define('fnevSearchComplete'                      ,0x00000080);
662define('fnevTableModified'                       ,0x00000100);
663define('fnevStatusObjectModified'                ,0x00000200);
664define('fnevReservedForMapi'                     ,0x40000000);
665define('fnevExtended'                            ,0x80000000);
666
667?>
Note: See TracBrowser for help on using the repository browser.