Merge 2610c05b5b95cc7036b3d6dfb894c6cfbdb68483 as Samba-4.0alpha16
[idra/samba.git] / source3 / librpc / idl / messaging.idl
1 #include "idl_types.h"
2
3 import "server_id.idl";
4
5 /*
6    IDL structures for messaging code
7 */
8
9 [
10   pointer_default(unique)
11 ]
12 interface messaging
13 {
14         const int MSG_TYPE_MASK = 0xFFFF;
15
16         typedef [v1_enum,public] enum {
17
18                 /* general messages */
19                 MSG_DEBUG                       = 0x0001,
20                 MSG_PING                        = 0x0002,
21                 MSG_PONG                        = 0x0003,
22                 MSG_PROFILE                     = 0x0004,
23                 MSG_REQ_DEBUGLEVEL              = 0x0005,
24                 MSG_DEBUGLEVEL                  = 0x0006,
25                 MSG_REQ_PROFILELEVEL            = 0x0007,
26                 MSG_PROFILELEVEL                = 0x0008,
27                 MSG_REQ_POOL_USAGE              = 0x0009,
28                 MSG_POOL_USAGE                  = 0x000A,
29
30                 /* If dmalloc is included, set a steady-state mark */
31                 MSG_REQ_DMALLOC_MARK            = 0x000B,
32
33                 /* If dmalloc is included, dump to the dmalloc log a description of
34                  * what has changed since the last MARK */
35                 MSG_REQ_DMALLOC_LOG_CHANGED     = 0x000C,
36                 MSG_SHUTDOWN                    = 0x000D,
37
38                 MSG_IDMAP_FLUSH                 = 0x000E,
39                 MSG_IDMAP_DELETE                = 0x000F,
40                 MSG_IDMAP_KILL                  = 0x0010,
41
42                 /* nmbd messages */
43                 MSG_FORCE_ELECTION              = 0x0101,
44                 MSG_WINS_NEW_ENTRY              = 0x0102,
45                 MSG_SEND_PACKET                 = 0x0103,
46
47                 /* printing messages */
48                 MSG_PRINTER_NOTIFY              = 0x2001, /* Obsolete */
49                 MSG_PRINTER_NOTIFY2             = 0x0202,
50                 MSG_PRINTER_DRVUPGRADE          = 0x0203,
51                 MSG_PRINTERDATA_INIT_RESET      = 0x0204,
52                 MSG_PRINTER_UPDATE              = 0x0205,
53                 MSG_PRINTER_MOD                 = 0x0206,
54                 MSG_PRINTER_PCAP                = 0x0207,
55
56                 /* smbd messages */
57                 MSG_SMB_CONF_UPDATED            = 0x0301,
58                 MSG_SMB_FORCE_TDIS              = 0x0302,
59                 MSG_SMB_SAM_SYNC                = 0x0303,
60                 MSG_SMB_SAM_REPL                = 0x0304,
61                 MSG_SMB_UNLOCK                  = 0x0305,
62                 MSG_SMB_BREAK_REQUEST           = 0x0306,
63                 MSG_SMB_BREAK_RESPONSE          = 0x0307,
64                 MSG_SMB_ASYNC_LEVEL2_BREAK      = 0x0308,
65                 MSG_SMB_OPEN_RETRY              = 0x0309,
66                 MSG_SMB_KERNEL_BREAK            = 0x030A,
67                 MSG_SMB_FILE_RENAME             = 0x030B,
68                 MSG_SMB_INJECT_FAULT            = 0x030C,
69                 MSG_SMB_BLOCKING_LOCK_CANCEL    = 0x030D,
70                 MSG_SMB_NOTIFY                  = 0x030E,
71                 MSG_SMB_STAT_CACHE_DELETE       = 0x030F,
72
73                 /* Samba4 compatibility */
74                 MSG_PVFS_NOTIFY                 = 0x0310,
75
76                 /* cluster reconfigure events */
77                 MSG_SMB_BRL_VALIDATE            = 0x0311,
78
79                 /*Close a specific file given a share entry. */
80                 MSG_SMB_CLOSE_FILE              = 0x0313,
81
82                 /* winbind messages */
83                 MSG_WINBIND_FINISHED            = 0x0401,
84                 MSG_WINBIND_FORGET_STATE        = 0x0402,
85                 MSG_WINBIND_ONLINE              = 0x0403,
86                 MSG_WINBIND_OFFLINE             = 0x0404,
87                 MSG_WINBIND_ONLINESTATUS        = 0x0405,
88                 MSG_WINBIND_TRY_TO_GO_ONLINE    = 0x0406,
89                 MSG_WINBIND_FAILED_TO_GO_ONLINE = 0x0407,
90                 MSG_WINBIND_VALIDATE_CACHE      = 0x0408,
91                 MSG_WINBIND_DUMP_DOMAIN_LIST    = 0x0409,
92                 MSG_WINBIND_IP_DROPPED          = 0x040A,
93
94                 /* event messages */
95                 MSG_DUMP_EVENT_LIST             = 0x0500,
96
97                 /* dbwrap messages 4001-4999 */
98                 MSG_DBWRAP_TDB2_CHANGES         = 4001,
99                 MSG_DBWRAP_G_LOCK_RETRY         = 4002
100         } messaging_type;
101
102         /* messaging struct sent across the sockets and stored in the tdb */
103
104         typedef [public] struct {
105                 uint32 msg_version;
106                 messaging_type msg_type;
107                 server_id dest;
108                 server_id src;
109                 DATA_BLOB buf;
110         } messaging_rec;
111
112         typedef [public] struct {
113                 uint32 num_messages;
114                 messaging_rec messages[num_messages];
115         } messaging_array;
116
117         /*
118          * struct used for change notify messages
119          * in the dbwrap_tdb2 code
120          */
121         typedef [public] struct {
122                 [charset(DOS),value("TDB2")] uint8 magic_string[4];
123                 [value(1)] uint32 magic_version;
124                 [charset(UTF8),string] uint8 name[];
125                 uint32 old_seqnum;
126                 uint32 new_seqnum;
127                 uint32 num_changes;
128                 uint32 num_keys;
129                 DATA_BLOB keys[num_keys];
130         } dbwrap_tdb2_changes;
131 }