53aabfad21b58b2604a05be934f6ae75cbe826d3
[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                 ID_CACHE_FLUSH                  = 0x000E,
39                 ID_CACHE_DELETE                 = 0x000F,
40                 ID_CACHE_KILL                   = 0x0010,
41
42                 /* Changes to smb.conf are really of general interest */
43                 MSG_SMB_CONF_UPDATED            = 0x0021,
44
45                 MSG_PREFORK_CHILD_EVENT         = 0x0031,
46                 MSG_PREFORK_PARENT_EVENT        = 0x0032,
47
48                 /* nmbd messages */
49                 MSG_FORCE_ELECTION              = 0x0101,
50                 MSG_WINS_NEW_ENTRY              = 0x0102,
51                 MSG_SEND_PACKET                 = 0x0103,
52
53                 /* printing messages */
54                 /* MSG_PRINTER_NOTIFY           = 0x2001,  Obsoleted */
55                 MSG_PRINTER_NOTIFY2             = 0x0202,
56                 MSG_PRINTER_DRVUPGRADE          = 0x0203,
57                 MSG_PRINTERDATA_INIT_RESET      = 0x0204,
58                 MSG_PRINTER_UPDATE              = 0x0205,
59                 MSG_PRINTER_MOD                 = 0x0206,
60                 MSG_PRINTER_PCAP                = 0x0207,
61
62                 /* smbd messages */
63                 /* MSG_SMB_CONF_UPDATED         = 0x0301,  Obsoleted */
64                 MSG_SMB_FORCE_TDIS              = 0x0302,
65                 MSG_SMB_SAM_SYNC                = 0x0303,
66                 MSG_SMB_SAM_REPL                = 0x0304,
67                 MSG_SMB_UNLOCK                  = 0x0305,
68                 MSG_SMB_BREAK_REQUEST           = 0x0306,
69                 MSG_SMB_BREAK_RESPONSE          = 0x0307,
70                 MSG_SMB_ASYNC_LEVEL2_BREAK      = 0x0308,
71                 MSG_SMB_OPEN_RETRY              = 0x0309,
72                 MSG_SMB_KERNEL_BREAK            = 0x030A,
73                 MSG_SMB_FILE_RENAME             = 0x030B,
74                 MSG_SMB_INJECT_FAULT            = 0x030C,
75                 MSG_SMB_BLOCKING_LOCK_CANCEL    = 0x030D,
76                 MSG_SMB_NOTIFY                  = 0x030E,
77                 MSG_SMB_STAT_CACHE_DELETE       = 0x030F,
78
79                 /* Samba4 compatibility */
80                 MSG_PVFS_NOTIFY                 = 0x0310,
81
82                 /* cluster reconfigure events */
83                 MSG_SMB_BRL_VALIDATE            = 0x0311,
84
85                 /*Close a specific file given a share entry. */
86                 MSG_SMB_CLOSE_FILE              = 0x0313,
87
88                 /* winbind messages */
89                 MSG_WINBIND_FINISHED            = 0x0401,
90                 MSG_WINBIND_FORGET_STATE        = 0x0402,
91                 MSG_WINBIND_ONLINE              = 0x0403,
92                 MSG_WINBIND_OFFLINE             = 0x0404,
93                 MSG_WINBIND_ONLINESTATUS        = 0x0405,
94                 MSG_WINBIND_TRY_TO_GO_ONLINE    = 0x0406,
95                 MSG_WINBIND_FAILED_TO_GO_ONLINE = 0x0407,
96                 MSG_WINBIND_VALIDATE_CACHE      = 0x0408,
97                 MSG_WINBIND_DUMP_DOMAIN_LIST    = 0x0409,
98                 MSG_WINBIND_IP_DROPPED          = 0x040A,
99
100                 /* event messages */
101                 MSG_DUMP_EVENT_LIST             = 0x0500,
102
103                 /* dbwrap messages 4001-4999 (0x0FA0 - 0x1387) */
104                 MSG_DBWRAP_TDB2_CHANGES         = 4001,
105                 MSG_DBWRAP_G_LOCK_RETRY         = 4002
106         } messaging_type;
107
108         /* messaging struct sent across the sockets and stored in the tdb */
109
110         typedef [public] struct {
111                 uint32 msg_version;
112                 messaging_type msg_type;
113                 server_id dest;
114                 server_id src;
115                 DATA_BLOB buf;
116         } messaging_rec;
117
118         typedef [public] struct {
119                 uint32 num_messages;
120                 messaging_rec messages[num_messages];
121         } messaging_array;
122
123         /*
124          * struct used for change notify messages
125          * in the dbwrap_tdb2 code
126          */
127         typedef [public] struct {
128                 [charset(DOS),value("TDB2")] uint8 magic_string[4];
129                 [value(1)] uint32 magic_version;
130                 [charset(UTF8),string] uint8 name[];
131                 uint32 old_seqnum;
132                 uint32 new_seqnum;
133                 uint32 num_changes;
134                 uint32 num_keys;
135                 DATA_BLOB keys[num_keys];
136         } dbwrap_tdb2_changes;
137 }