ifdef guard TCHAR declaration like PSDK does.
[wine.git] / include / mapi.h
blobe70652e03884c72e56a7d72541a00a7a6e33dc54
1 /*
2 * Copyright (C) 2000 François Gouget
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef MAPI_H
20 #define MAPI_H
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
26 /* Some types */
28 #ifndef __LHANDLE
29 #define __LHANDLE
30 typedef unsigned long LHANDLE, *LPLHANDLE;
31 #endif
32 #define lhSessionNull ((LHANDLE)0)
34 typedef unsigned long FLAGS;
36 typedef struct
38 ULONG ulReserved;
39 ULONG flFlags;
40 ULONG nPosition;
41 LPSTR lpszPathName;
42 LPSTR lpszFileName;
43 LPVOID lpFileType;
44 } MapiFileDesc, *lpMapiFileDesc;
46 typedef struct
48 ULONG ulReserved;
49 ULONG ulRecipClass;
50 LPSTR lpszName;
51 LPSTR lpszAddress;
52 ULONG ulEIDSize;
53 LPVOID lpEntryID;
54 } MapiRecipDesc, *lpMapiRecipDesc;
56 typedef struct
58 ULONG ulReserved;
59 LPSTR lpszSubject;
60 LPSTR lpszNoteText;
61 LPSTR lpszMessageType;
62 LPSTR lpszDateReceived;
63 LPSTR lpszConversationID;
64 FLAGS flFlags;
65 lpMapiRecipDesc lpOriginator;
66 ULONG nRecipCount;
67 lpMapiRecipDesc lpRecips;
68 ULONG nFileCount;
69 lpMapiFileDesc lpFiles;
70 } MapiMessage, *lpMapiMessage;
73 /* Error codes */
75 #define SUCCESS_SUCCESS 0
76 #define MAPI_USER_ABORT 1
77 #define MAPI_E_USER_ABORT MAPI_USER_ABORT
78 #define MAPI_E_FAILURE 2
79 #define MAPI_E_LOGON_FAILURE 3
80 #define MAPI_E_LOGIN_FAILURE MAPI_E_LOGON_FAILURE
81 #define MAPI_E_DISK_FULL 4
82 #define MAPI_E_INSUFFICIENT_MEMORY 5
83 #define MAPI_E_ACCESS_DENIED 6
84 #define MAPI_E_TOO_MANY_SESSIONS 8
85 #define MAPI_E_TOO_MANY_FILES 9
86 #define MAPI_E_TOO_MANY_RECIPIENTS 10
87 #define MAPI_E_ATTACHMENT_NOT_FOUND 11
88 #define MAPI_E_ATTACHMENT_OPEN_FAILURE 12
89 #define MAPI_E_ATTACHMENT_WRITE_FAILURE 13
90 #define MAPI_E_UNKNOWN_RECIPIENT 14
91 #define MAPI_E_BAD_RECIPTYPE 15
92 #define MAPI_E_NO_MESSAGES 16
93 #define MAPI_E_INVALID_MESSAGE 17
94 #define MAPI_E_TEXT_TOO_LARGE 18
95 #define MAPI_E_INVALID_SESSION 19
96 #define MAPI_E_TYPE_NOT_SUPPORTED 20
97 #define MAPI_E_AMBIGUOUS_RECIPIENT 21
98 #define MAPI_E_AMBIG_RECIP MAPI_E_AMBIGUOUS_RECIPIENT
99 #define MAPI_E_MESSAGE_IN_USE 22
100 #define MAPI_E_NETWORK_FAILURE 23
101 #define MAPI_E_INVALID_EDITFIELDS 24
102 #define MAPI_E_INVALID_RECIPS 25
103 #define MAPI_E_NOT_SUPPORTED 26
106 /* MAPILogon */
108 #define MAPI_LOGON_UI 0x00000001
109 #define MAPI_PASSWORD_UI 0x00020000
110 #define MAPI_NEW_SESSION 0x00000002
111 #define MAPI_FORCE_DOWNLOAD 0x00001000
112 #define MAPI_EXTENDED 0x00000020
115 /* MAPISendMail */
117 #define MAPI_DIALOG 0x00000008
120 #ifdef __cplusplus
122 #endif
124 #endif /* MAPI_H */