holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/mapi.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     1 #ifndef _MAPI_H
       
     2 #define _MAPI_H
       
     3 #if __GNUC__ >=3
       
     4 #pragma GCC system_header
       
     5 #endif
       
     6 
       
     7 #ifdef __cplusplus
       
     8 extern "C" {
       
     9 #endif
       
    10 
       
    11 #define SUCCESS_SUCCESS			0
       
    12 #define MAPI_USER_ABORT			1
       
    13 #define MAPI_E_USER_ABORT		1
       
    14 #define MAPI_E_FAILURE			2
       
    15 #define MAPI_E_LOGIN_FAILURE		3
       
    16 #define MAPI_E_LOGON_FAILURE		3
       
    17 #define MAPI_E_DISK_FULL		4
       
    18 #define MAPI_E_INSUFFICIENT_MEMORY	5
       
    19 #define MAPI_E_ACCESS_DENIED		6
       
    20 #define MAPI_E_BLK_TOO_SMALL		6
       
    21 #define MAPI_E_TOO_MANY_SESSIONS	8
       
    22 #define MAPI_E_TOO_MANY_FILES		9
       
    23 #define MAPI_E_TOO_MANY_RECIPIENTS	10
       
    24 #define MAPI_E_ATTACHMENT_NOT_FOUND	11
       
    25 #define MAPI_E_ATTACHMENT_OPEN_FAILURE	12
       
    26 #define MAPI_E_ATTACHMENT_WRITE_FAILURE	13
       
    27 #define MAPI_E_UNKNOWN_RECIPIENT	14
       
    28 #define MAPI_E_BAD_RECIPTYPE		15
       
    29 #define MAPI_E_NO_MESSAGES		16
       
    30 #define MAPI_E_INVALID_MESSAGE		17
       
    31 #define MAPI_E_TEXT_TOO_LARGE		18
       
    32 #define MAPI_E_INVALID_SESSION		19
       
    33 #define MAPI_E_TYPE_NOT_SUPPORTED	20
       
    34 #define MAPI_E_AMBIGUOUS_RECIPIENT	21
       
    35 #define MAPI_E_AMBIGUOUS_RECIP		21
       
    36 #define MAPI_E_MESSAGE_IN_USE		22
       
    37 #define MAPI_E_NETWORK_FAILURE		23
       
    38 #define MAPI_E_INVALID_EDITFIELDS	24
       
    39 #define MAPI_E_INVALID_RECIPS		25
       
    40 #define MAPI_E_NOT_SUPPORTED		26
       
    41 
       
    42 #define MAPI_ORIG	0
       
    43 #define MAPI_TO		1
       
    44 #define MAPI_CC		2
       
    45 #define MAPI_BCC	3
       
    46 
       
    47 #define MAPI_LOGON_UI		0x0001
       
    48 #define MAPI_NEW_SESSION	0x0002
       
    49 #define MAPI_FORCE_DOWNLOAD	0x1000
       
    50 #define MAPI_LOGOFF_SHARED	0x0001
       
    51 #define MAPI_LOGOFF_UI		0x0002
       
    52 #define MAPI_DIALOG		0x0008
       
    53 #define MAPI_UNREAD_ONLY	0x0020
       
    54 #define MAPI_LONG_MSGID		0x4000
       
    55 #define MAPI_GUARANTEE_FIFO	0x0100
       
    56 #define MAPI_ENVELOPE_ONLY	0x0040
       
    57 #define MAPI_PEEK		0x0080
       
    58 #define MAPI_BODY_AS_FILE	0x0200
       
    59 #define MAPI_SUPPRESS_ATTACH	0x0800
       
    60 #define MAPI_AB_NOMODIFY	0x0400
       
    61 #define MAPI_OLE		0x0001
       
    62 #define MAPI_OLE_STATIC		0x0002
       
    63 #define MAPI_UNREAD		0x0001
       
    64 #define MAPI_RECEIPT_REQUESTED	0x0002
       
    65 #define MAPI_SENT		0x0004
       
    66 
       
    67 #ifndef RC_INVOKED
       
    68 typedef unsigned long FLAGS;
       
    69 typedef unsigned long LHANDLE;
       
    70 typedef unsigned long FAR *LPLHANDLE, FAR *LPULONG;
       
    71 
       
    72 typedef struct {
       
    73   ULONG ulReserved;
       
    74   ULONG ulRecipClass;
       
    75   LPSTR lpszName;
       
    76   LPSTR lpszAddress;
       
    77   ULONG ulEIDSize;
       
    78   LPVOID lpEntryID;
       
    79 } MapiRecipDesc, *lpMapiRecipDesc;
       
    80 typedef struct {
       
    81   ULONG ulReserved;
       
    82   ULONG flFlags;
       
    83   ULONG nPosition;
       
    84   LPSTR lpszPathName;
       
    85   LPSTR lpszFileName;
       
    86   LPVOID lpFileType;
       
    87 } MapiFileDesc, *lpMapiFileDesc;
       
    88 typedef struct {
       
    89   ULONG ulReserved;
       
    90   ULONG cbTag;
       
    91   LPBYTE lpTag;
       
    92   ULONG cbEncoding;
       
    93   LPBYTE lpEncoding;
       
    94 } MapiFileTagExt, *lpMapiFileTagExt;
       
    95 typedef struct {
       
    96   ULONG ulReserved;
       
    97   LPSTR lpszSubject;
       
    98   LPSTR lpszNoteText;
       
    99   LPSTR lpszMessageType;
       
   100   LPSTR lpszDateReceived;
       
   101   LPSTR lpszConversationID;
       
   102   FLAGS flFlags;
       
   103   lpMapiRecipDesc lpOriginator;
       
   104   ULONG nRecipCount;
       
   105   lpMapiRecipDesc lpRecips;
       
   106   ULONG nFileCount;
       
   107   lpMapiFileDesc lpFiles;
       
   108 } MapiMessage, *lpMapiMessage;
       
   109 
       
   110 ULONG PASCAL MAPILogon (ULONG,LPSTR,LPSTR,FLAGS,ULONG,LPLHANDLE);
       
   111 ULONG PASCAL MAPISendMail (LHANDLE,ULONG,lpMapiMessage,FLAGS,ULONG);
       
   112 ULONG PASCAL MAPISendDocuments (ULONG,LPSTR,LPSTR,LPSTR,ULONG);
       
   113 ULONG PASCAL MAPIReadMail (LHANDLE,ULONG,LPSTR,FLAGS,ULONG,
       
   114 			   lpMapiMessage*);
       
   115 ULONG PASCAL MAPIFindNext (LHANDLE,ULONG,LPSTR,LPSTR,FLAGS,ULONG,LPSTR);
       
   116 ULONG PASCAL MAPIResolveName (LHANDLE,ULONG,LPSTR,FLAGS,ULONG,
       
   117                              lpMapiRecipDesc*);
       
   118 ULONG PASCAL MAPIAddress (LHANDLE,ULONG,LPSTR,ULONG,LPSTR,ULONG,
       
   119 			  lpMapiRecipDesc,FLAGS,ULONG,LPULONG,
       
   120 			  lpMapiRecipDesc*);
       
   121 ULONG PASCAL MAPIFreeBuffer (LPVOID);
       
   122 ULONG PASCAL MAPIDetails (LHANDLE,ULONG,lpMapiRecipDesc,FLAGS,ULONG);
       
   123 ULONG PASCAL MAPISaveMail (LHANDLE,ULONG,lpMapiMessage lpszMessage,
       
   124                            FLAGS,ULONG,LPSTR);
       
   125 ULONG PASCAL MAPIDeleteMail (LHANDLE lpSession,ULONG,LPSTR,FLAGS,ULONG);
       
   126 ULONG PASCAL MAPILogoff (LHANDLE,ULONG,FLAGS,ULONG);
       
   127 /* Netscape extensions.  */
       
   128 ULONG PASCAL MAPIGetNetscapeVersion (void);
       
   129 ULONG PASCAL MAPI_NSCP_SynchronizeClient (LHANDLE,ULONG);
       
   130 
       
   131 /* Handles for use with GetProcAddress */
       
   132 typedef ULONG (PASCAL * LPMAPILOGON) (ULONG,LPSTR,LPSTR,FLAGS,ULONG,
       
   133 				      LPLHANDLE);
       
   134 typedef ULONG (PASCAL * LPMAPISENDMAIL) (LHANDLE,ULONG,lpMapiMessage,
       
   135 					 FLAGS,ULONG);
       
   136 typedef ULONG (PASCAL * LPMAPISENDDOCUMENTS) (ULONG,LPSTR,LPSTR,
       
   137 					      LPSTR,ULONG);
       
   138 typedef ULONG (PASCAL * LPMAPIREADMAIL) (LHANDLE,ULONG,LPSTR,FLAGS,
       
   139 					 ULONG,lpMapiMessage*);
       
   140 typedef ULONG (PASCAL * LPMAPIFINDNEXT) (LHANDLE,ULONG,LPSTR,LPSTR,
       
   141 					 FLAGS,ULONG,LPSTR);
       
   142 typedef ULONG (PASCAL * LPMAPIRESOLVENAME) (LHANDLE,ULONG,LPSTR,FLAGS,
       
   143 					    ULONG,lpMapiRecipDesc*);
       
   144 typedef ULONG (PASCAL * LPMAPIADDRESS) (LHANDLE,ULONG,LPSTR,ULONG,LPSTR,
       
   145 					ULONG,lpMapiRecipDesc,FLAGS,ULONG,
       
   146 					LPULONG,lpMapiRecipDesc*);
       
   147 typedef ULONG (PASCAL * LPMAPIFREEBUFFER) (LPVOID lpv);
       
   148 typedef ULONG (PASCAL * LPMAPIDETAILS) (LHANDLE,ULONG,lpMapiRecipDesc,
       
   149 					FLAGS,ULONG);
       
   150 typedef ULONG (PASCAL * LPMAPISAVEMAIL) (LHANDLE,ULONG,lpMapiMessage,
       
   151 					 FLAGS,ULONG,LPSTR);
       
   152 typedef ULONG (PASCAL * LPMAPIDELETEMAIL) (LHANDLE lpSession,ULONG,
       
   153 					   LPSTR, FLAGS,ULONG);
       
   154 typedef ULONG (PASCAL * LPMAPILOGOFF)(LHANDLE,ULONG,FLAGS,ULONG);
       
   155 
       
   156 #endif /* RC_INVOKED */
       
   157 
       
   158 #ifdef __cplusplus
       
   159 }
       
   160 #endif
       
   161 
       
   162 #endif	/* Not _MAPI_H */
       
   163