Some RPC definitions.
[wine] / include / mapi.h
1 /*
2  * Copyright (C) 2000 François Gouget
3  *
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.
8  *
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.
13  *
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
17  */
18
19 #ifndef MAPI_H
20 #define MAPI_H
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /* Some types */
27
28 #ifndef __LHANDLE
29 #define __LHANDLE
30 typedef unsigned long           LHANDLE, *LPLHANDLE;
31 #endif
32 #define lhSessionNull           ((LHANDLE)0)
33
34 typedef unsigned long           FLAGS;
35
36 typedef struct
37 {
38     ULONG ulReserved;
39     ULONG flFlags;
40     ULONG nPosition;
41     LPSTR lpszPathName;
42     LPSTR lpszFileName;
43     LPVOID lpFileType;
44 } MapiFileDesc, *lpMapiFileDesc;
45
46 typedef struct
47 {
48     ULONG ulReserved;
49     ULONG ulRecipClass;
50     LPSTR lpszName;
51     LPSTR lpszAddress;
52     ULONG ulEIDSize;
53     LPVOID lpEntryID;
54 } MapiRecipDesc, *lpMapiRecipDesc;
55
56 typedef struct
57 {
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;
71
72
73 /* Error codes */
74
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
104
105
106 /* MAPILogon */
107
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
113
114
115 /* MAPISendMail */
116
117 #define MAPI_DIALOG             0x00000008
118
119
120 #ifdef __cplusplus
121 }
122 #endif
123
124 #endif /* MAPI_H */