messaging idl add group membersip events
[metze/samba/wip.git] / 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, obsoleted */
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                 MSG_REQ_RINGBUF_LOG             = 0x0033,
49                 MSG_RINGBUF_LOG                 = 0x0034,
50
51                 /* nmbd messages */
52                 MSG_FORCE_ELECTION              = 0x0101,
53                 MSG_WINS_NEW_ENTRY              = 0x0102,
54                 MSG_SEND_PACKET                 = 0x0103,
55
56                 /* printing messages */
57                 /* MSG_PRINTER_NOTIFY           = 0x2001,  Obsoleted */
58                 MSG_PRINTER_NOTIFY2             = 0x0202,
59                 MSG_PRINTER_DRVUPGRADE          = 0x0203,
60                 MSG_PRINTERDATA_INIT_RESET      = 0x0204,
61                 MSG_PRINTER_UPDATE              = 0x0205,
62                 MSG_PRINTER_MOD                 = 0x0206,
63                 MSG_PRINTER_PCAP                = 0x0207,
64
65                 /* smbd messages */
66                 /* MSG_SMB_CONF_UPDATED         = 0x0301,  Obsoleted */
67                 MSG_SMB_FORCE_TDIS              = 0x0302,
68                 /* MSG_SMB_SAM_SYNC             = 0x0303,  Obsoleted */
69                 /* MSG_SMB_SAM_REPL             = 0x0304,  Obsoleted */
70                 MSG_SMB_UNLOCK                  = 0x0305,
71                 MSG_SMB_BREAK_REQUEST           = 0x0306,
72                 /* MSG_SMB_BREAK_RESPONSE       = 0x0307,  Obsoleted */
73                 /* MSG_SMB_ASYNC_LEVEL2_BREAK   = 0x0308,  Obsoleted */
74                 /* MSG_SMB_OPEN_RETRY           = 0x0309,  Obsoleted */
75                 MSG_SMB_KERNEL_BREAK            = 0x030A,
76                 MSG_SMB_FILE_RENAME             = 0x030B,
77                 MSG_SMB_INJECT_FAULT            = 0x030C,
78                 MSG_SMB_BLOCKING_LOCK_CANCEL    = 0x030D,
79                 MSG_SMB_NOTIFY                  = 0x030E,
80                 MSG_SMB_STAT_CACHE_DELETE       = 0x030F,
81
82                 /* Samba4 compatibility */
83                 MSG_PVFS_NOTIFY                 = 0x0310,
84
85                 /* cluster reconfigure events */
86                 MSG_SMB_BRL_VALIDATE            = 0x0311,
87
88                 /*Close a specific file given a share entry. */
89                 MSG_SMB_CLOSE_FILE              = 0x0313,
90
91                 /* Trigger a notify cleanup run */
92                 MSG_SMB_NOTIFY_CLEANUP          = 0x0314,
93                 MSG_SMB_SCAVENGER               = 0x0315,
94
95                 /* shutdown connection for given client */
96                 MSG_SMB_KILL_CLIENT_IP          = 0x0316,
97
98                 /* Tell number of child processes */
99                 MSG_SMB_TELL_NUM_CHILDREN       = 0x0317,
100                 MSG_SMB_NUM_CHILDREN            = 0x0318,
101
102                 /* Cancel a notify, directory got deleted */
103                 MSG_SMB_NOTIFY_CANCEL_DELETED   = 0x0319,
104
105                 /* notifyd messages */
106                 MSG_SMB_NOTIFY_REC_CHANGE       = 0x031A,
107                 MSG_SMB_NOTIFY_TRIGGER          = 0x031B,
108                 MSG_SMB_NOTIFY_GET_DB           = 0x031C,
109                 MSG_SMB_NOTIFY_DB               = 0x031D,
110                 MSG_SMB_NOTIFY_REC_CHANGES      = 0x031E,
111                 MSG_SMB_NOTIFY_STARTED          = 0x031F,
112
113                 /* winbind messages */
114                 MSG_WINBIND_FINISHED            = 0x0401,
115                 MSG_WINBIND_FORGET_STATE        = 0x0402,
116                 MSG_WINBIND_ONLINE              = 0x0403,
117                 MSG_WINBIND_OFFLINE             = 0x0404,
118                 MSG_WINBIND_ONLINESTATUS        = 0x0405,
119                 MSG_WINBIND_TRY_TO_GO_ONLINE    = 0x0406,
120                 MSG_WINBIND_FAILED_TO_GO_ONLINE = 0x0407,
121                 MSG_WINBIND_VALIDATE_CACHE      = 0x0408,
122                 MSG_WINBIND_DUMP_DOMAIN_LIST    = 0x0409,
123                 MSG_WINBIND_IP_DROPPED          = 0x040A,
124                 MSG_WINBIND_DOMAIN_ONLINE       = 0x040B,
125                 MSG_WINBIND_DOMAIN_OFFLINE      = 0x040C,
126                 MSG_WINBIND_RELOAD_TRUSTED_DOMAINS = 0x040D,
127                 MSG_WINBIND_DISCONNECT_DC       = 0x040E,
128
129                 /* event messages */
130                 /* MSG_DUMP_EVENT_LIST          = 0x0500, Obsoleted */
131
132                 /* smbXsrv messages */
133                 MSG_SMBXSRV_SESSION_CLOSE       = 0x0600,
134                 MSG_SMBXSRV_CONNECTION_PASS     = 0x0601,
135
136                 /* source4 and NTVFS smb server messages */
137                 MSG_BRL_RETRY                   = 0x0700,
138                 MSG_PVFS_RETRY_OPEN             = 0x0701,
139                 MSG_IRPC                        = 0x0702,
140                 MSG_NTVFS_OPLOCK_BREAK          = 0x0703,
141                 MSG_DREPL_ALLOCATE_RID          = 0x0704,
142
143                 /*
144                  * Audit, Authentication and Authorisation event
145                  * messages
146                  */
147                 MSG_AUTH_LOG                    = 0x0800,
148                 MSG_DSDB_LOG                    = 0x0801,
149                 MSG_DSDB_PWD_LOG                = 0x0802,
150                 MSG_GROUP_LOG                   = 0x0803,
151
152                 /* dbwrap messages 4001-4999 (0x0FA0 - 0x1387) */
153                 /* MSG_DBWRAP_TDB2_CHANGES              = 4001, */
154                 /* MSG_DBWRAP_G_LOCK_RETRY              = 4002, */
155                 MSG_DBWRAP_MODIFIED             = 4003,
156
157                 /*
158                  * source4 allows new messages to be registered at
159                  * runtime (currently used in python bindings and in
160                  * smbtorture). Temporary messaging endpoints are
161                  * allocated above this line
162                  */
163                 MSG_TMP_BASE                    = 0xF000
164         } messaging_type;
165
166         /* messaging struct sent across the sockets and stored in the tdb */
167
168         typedef [public] struct {
169                 [skip] messaging_rec *prev;
170                 [skip] messaging_rec *next;
171                 uint32 msg_version;
172                 messaging_type msg_type;
173                 server_id dest;
174                 server_id src;
175                 DATA_BLOB buf;
176                 uint8 num_fds;
177                 dlong fds[num_fds];
178         } messaging_rec;
179
180         typedef [public] struct {
181                 hyper rec_index;
182                 uint32 num_recs;
183                 messaging_rec *recs[num_recs];
184         } messaging_reclog;
185
186         /* This allows this well known service name to be referenced in python and C */
187         const string AUTH_EVENT_NAME  = "auth_event";
188         const string DSDB_EVENT_NAME = "dsdb_event";
189         const string DSDB_PWD_EVENT_NAME   = "dsdb_password_event";
190         const string DSDB_GROUP_EVENT_NAME = "dsdb_group_event";
191 }