master
 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
18extern "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