2
IDL struct for mapistore mgmt interface
6
pointer_default(unique)
9
interface mapistore_mgmt
11
typedef [enum8bit] enum {
12
MAPISTORE_COMMAND_NOTIF_REGISTER_PRIO = 26,
13
MAPISTORE_COMMAND_NOTIF_UNREGISTER_PRIO = 27,
14
MAPISTORE_COMMAND_NOTIF_SOCKET_REGISTER_PRIO = 28,
15
MAPISTORE_COMMAND_NOTIF_SOCKET_UNREGISTER_PRIO = 29,
16
MAPISTORE_COMMAND_USER_REGISTER_PRIO = 30,
17
MAPISTORE_COMMAND_USER_UNREGISTER_PRIO = 31
18
} mapistore_mgmt_command_priority;
20
typedef [enum16bit] enum {
21
MAPISTORE_MGMT_SEND = 0x0,
22
MAPISTORE_MGMT_REGISTER = 0x1,
23
MAPISTORE_MGMT_UNREGISTER = 0x2
24
} mapistore_mgmt_status;
26
typedef [public] struct {
27
mapistore_mgmt_status status;
28
[string, charset(UTF16)] uint16 *backend;
29
[string, charset(UTF16)] uint16 *username;
30
[string, charset(UTF16)] uint16 *vuser;
31
} mapistore_mgmt_user_cmd;
33
typedef [public] struct {
34
[string, charset(UTF16)] uint16 *username;
36
[size_is(cbContext)] uint8 rgbContext[*];
37
uint16 cbCallbackAddress;
38
[size_is(cbCallbackAddress)] uint8 rgbCallbackAddress[*];
39
} mapistore_mgmt_bind_cmd;
41
typedef [public,bitmap16bit] bitmap {
42
mgmt_notification_type_newmail = 0x2,
43
mgmt_notification_type_objectcreated = 0x4,
44
mgmt_notification_type_objectmodified = 0x10,
45
mgmt_notification_type_Tbit = 0x1000,
46
mgmt_notification_type_Ubit = 0x2000,
47
mgmt_notification_type_Mbit = 0x8000
48
} mapistore_mgmt_notification_type;
50
typedef [public] struct {
51
mapistore_mgmt_status status;
52
mapistore_mgmt_notification_type NotificationFlags;
53
[string, charset(UTF16)] uint16 *username;
57
[string, charset(UTF16)] uint16 *MAPIStoreURI;
58
uint32 TotalNumberOfMessages;
59
uint32 UnreadNumberOfMessages;
61
} mapistore_mgmt_notification_cmd;
63
typedef [enum16bit] enum {
64
MAPISTORE_MGMT_USER = 0x1,
65
MAPISTORE_MGMT_BIND = 0x2,
66
MAPISTORE_MGMT_NOTIF = 0x3
67
} mapistore_mgmt_command_type;
69
typedef [public,switch_type(uint16)] union {
70
[case(MAPISTORE_MGMT_USER)] mapistore_mgmt_user_cmd user;
71
[case(MAPISTORE_MGMT_BIND)] mapistore_mgmt_bind_cmd bind;
72
[case(MAPISTORE_MGMT_NOTIF)] mapistore_mgmt_notification_cmd notification;
73
} mapistore_mgmt_commands;
75
typedef [public] struct {
76
mapistore_mgmt_command_type type;
77
[switch_is(type)] mapistore_mgmt_commands command;
78
} mapistore_mgmt_command;
b'\\ No newline at end of file'