1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #if !defined(MAPISPI_H) && !defined(WABSPI_H)
7 #define WABSPI_H
8 
9 #ifndef BEGIN_INTERFACE
10 #define BEGIN_INTERFACE
11 #endif
12 
13 #ifndef MAPI_DIM
14 #define MAPI_DIM 1
15 #endif
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21   typedef struct {
22     ULONG cb;
23     BYTE ab[MAPI_DIM];
24   } NOTIFKEY,*LPNOTIFKEY;
25 
26 #define CbNewNOTIFKEY(_cb) (offsetof(NOTIFKEY,ab) + (_cb))
27 #define CbNOTIFKEY(_lpkey) (offsetof(NOTIFKEY,ab) + (_lpkey)->cb)
28 #define SizedNOTIFKEY(_cb,_name) struct _NOTIFKEY_ ## _name { ULONG cb; BYTE ab[_cb]; } _name
29 
30 #define NOTIFY_SYNC ((ULONG) 0x40000000)
31 
32 #define NOTIFY_CANCELED ((ULONG) 0x80000000)
33 
34 #define CALLBACK_DISCONTINUE ((ULONG) 0x80000000)
35 
36 #define NOTIFY_NEWMAIL ((ULONG) 0x00000001)
37 #define NOTIFY_READYTOSEND ((ULONG) 0x00000002)
38 #define NOTIFY_SENTDEFERRED ((ULONG) 0x00000004)
39 #define NOTIFY_CRITSEC ((ULONG) 0x00001000)
40 #define NOTIFY_NONCRIT ((ULONG) 0x00002000)
41 #define NOTIFY_CONFIG_CHANGE ((ULONG) 0x00004000)
42 #define NOTIFY_CRITICAL_ERROR ((ULONG) 0x10000000)
43 #define NOTIFY_NEWMAIL_RECEIVED ((ULONG) 0x20000000)
44 
45 #define STATUSROW_UPDATE ((ULONG) 0x10000000)
46 
47 #define STGSTRM_RESET ((ULONG) 0x00000000)
48 #define STGSTRM_CURRENT ((ULONG) 0x10000000)
49 #define STGSTRM_MODIFY ((ULONG) 0x00000002)
50 #define STGSTRM_CREATE ((ULONG) 0x00001000)
51 
52 #define MAPI_NON_READ ((ULONG) 0x00000001)
53 
54 #ifdef __cplusplus
55 }
56 #endif
57 #endif
58