WHATSNEW: Start release notes for Samba 4.23.0pre1.
[samba.git] / librpc / idl / messaging.idl
blob9bf15fc670832ac50a71dd355a68b26a01a31528
1 #include "idl_types.h"
3 import "server_id.idl";
5 /*
6 IDL structures for messaging code
7 */
10 pointer_default(unique)
12 interface messaging
14 const int MSG_TYPE_MASK = 0xFFFF;
16 typedef [v1_enum,public] enum {
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,
30 /* If dmalloc is included, set a steady-state mark */
31 MSG_REQ_DMALLOC_MARK = 0x000B,
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,
38 /* ID_CACHE_FLUSH = 0x000E, obsoleted */
39 ID_CACHE_DELETE = 0x000F,
40 ID_CACHE_KILL = 0x0010,
42 /* Changes to smb.conf are really of general interest */
43 MSG_SMB_CONF_UPDATED = 0x0021,
44 MSG_RELOAD_TLS_CERTIFICATES = 0x0022,
46 MSG_PREFORK_CHILD_EVENT = 0x0031,
47 MSG_PREFORK_PARENT_EVENT = 0x0032,
49 MSG_REQ_RINGBUF_LOG = 0x0033,
50 MSG_RINGBUF_LOG = 0x0034,
52 MSG_DAEMON_READY_FD = 0x0035,
54 /* nmbd messages */
55 MSG_FORCE_ELECTION = 0x0101,
56 MSG_WINS_NEW_ENTRY = 0x0102,
57 MSG_SEND_PACKET = 0x0103,
59 /* printing messages */
60 /* MSG_PRINTER_NOTIFY = 0x2001, Obsoleted */
61 MSG_PRINTER_NOTIFY2 = 0x0202,
62 MSG_PRINTER_DRVUPGRADE = 0x0203,
63 MSG_PRINTERDATA_INIT_RESET = 0x0204,
64 MSG_PRINTER_UPDATE = 0x0205,
65 MSG_PRINTER_MOD = 0x0206,
66 MSG_PRINTER_PCAP = 0x0207,
68 /* smbd messages */
69 /* MSG_SMB_CONF_UPDATED = 0x0301, Obsoleted */
70 MSG_SMB_FORCE_TDIS = 0x0302,
71 /* MSG_SMB_SAM_SYNC = 0x0303, Obsoleted */
72 /* MSG_SMB_SAM_REPL = 0x0304, Obsoleted */
73 /* MSG_SMB_UNLOCK = 0x0305, Obsoleted */
74 MSG_SMB_BREAK_REQUEST = 0x0306,
75 /* MSG_SMB_BREAK_RESPONSE = 0x0307, Obsoleted */
76 /* MSG_SMB_ASYNC_LEVEL2_BREAK = 0x0308, Obsoleted */
77 /* MSG_SMB_OPEN_RETRY = 0x0309, Obsoleted */
78 MSG_SMB_KERNEL_BREAK = 0x030A,
79 MSG_SMB_FILE_RENAME = 0x030B,
80 MSG_SMB_INJECT_FAULT = 0x030C,
81 MSG_SMB_BLOCKING_LOCK_CANCEL = 0x030D,
82 MSG_SMB_NOTIFY = 0x030E,
83 /* MSG_SMB_STAT_CACHE_DELETE = 0x030F, Obsoleted */
85 /* Samba4 compatibility */
86 MSG_PVFS_NOTIFY = 0x0310,
88 /* cluster reconfigure events */
89 /* MSG_SMB_BRL_VALIDATE = 0x0311, Oboleted */
91 /*Close a specific file given a share entry. */
92 MSG_SMB_CLOSE_FILE = 0x0313,
94 /* Trigger a notify cleanup run */
95 MSG_SMB_NOTIFY_CLEANUP = 0x0314,
96 MSG_SMB_SCAVENGER = 0x0315,
98 /* shutdown connection for given client */
99 MSG_SMB_KILL_CLIENT_IP = 0x0316,
101 /* Tell number of child processes */
102 MSG_SMB_TELL_NUM_CHILDREN = 0x0317,
103 MSG_SMB_NUM_CHILDREN = 0x0318,
105 /* Cancel a notify, directory got deleted */
106 MSG_SMB_NOTIFY_CANCEL_DELETED = 0x0319,
108 /* notifyd messages */
109 MSG_SMB_NOTIFY_REC_CHANGE = 0x031A,
110 MSG_SMB_NOTIFY_TRIGGER = 0x031B,
111 MSG_SMB_NOTIFY_GET_DB = 0x031C,
112 MSG_SMB_NOTIFY_DB = 0x031D,
113 MSG_SMB_NOTIFY_REC_CHANGES = 0x031E,
114 MSG_SMB_NOTIFY_STARTED = 0x031F,
115 MSG_SMB_SLEEP = 0x0320,
117 /* smbd message */
118 MSG_SMB_FORCE_TDIS_DENIED = 0x0321,
120 /* smbd ip dropped message */
121 MSG_SMB_IP_DROPPED = 0x0322,
123 /* winbind messages */
124 MSG_WINBIND_FINISHED = 0x0401,
125 MSG_WINBIND_FORGET_STATE = 0x0402,
126 MSG_WINBIND_ONLINE = 0x0403,
127 MSG_WINBIND_OFFLINE = 0x0404,
128 MSG_WINBIND_ONLINESTATUS = 0x0405,
130 MSG_WINBIND_VALIDATE_CACHE = 0x0408,
131 MSG_WINBIND_DUMP_DOMAIN_LIST = 0x0409,
132 MSG_WINBIND_IP_DROPPED = 0x040A,
133 MSG_WINBIND_DOMAIN_ONLINE = 0x040B,
134 MSG_WINBIND_DOMAIN_OFFLINE = 0x040C,
135 MSG_WINBIND_RELOAD_TRUSTED_DOMAINS = 0x040D,
136 MSG_WINBIND_DISCONNECT_DC = 0x040E,
138 /* event messages */
139 /* MSG_DUMP_EVENT_LIST = 0x0500, Obsoleted */
141 /* smbXsrv messages */
142 MSG_SMBXSRV_SESSION_CLOSE = 0x0600,
143 MSG_SMBXSRV_CONNECTION_PASS = 0x0601,
144 MSG_SMBXSRV_CONNECTION_PASSED = 0x0602,
145 MSG_SMBXSRV_CONNECTION_DROP = 0x0603,
147 /* rpcd_witness messages */
148 MSG_RPCD_WITNESS_REGISTRATION_UPDATE = 0x0680,
150 /* source4 and NTVFS smb server messages */
151 MSG_BRL_RETRY = 0x0700,
152 MSG_PVFS_RETRY_OPEN = 0x0701,
153 MSG_IRPC = 0x0702,
154 MSG_NTVFS_OPLOCK_BREAK = 0x0703,
155 MSG_DREPL_ALLOCATE_RID = 0x0704,
158 * Audit, Authentication and Authorisation event
159 * messages
161 MSG_AUTH_LOG = 0x0800,
162 MSG_DSDB_LOG = 0x0801,
163 MSG_DSDB_PWD_LOG = 0x0802,
164 MSG_GROUP_LOG = 0x0803,
166 /* dbwrap messages 4001-4999 (0x0FA0 - 0x1387) */
167 /* MSG_DBWRAP_TDB2_CHANGES = 4001, */
168 /* MSG_DBWRAP_G_LOCK_RETRY = 4002, */
169 MSG_DBWRAP_MODIFIED = 4003,
171 MSG_RPC_HOST_NEW_CLIENT = 4004,
172 MSG_RPC_WORKER_STATUS = 4005,
173 MSG_RPC_DUMP_STATUS = 4006,
176 * source4 allows new messages to be registered at
177 * runtime (currently used in python bindings and in
178 * smbtorture). Temporary messaging endpoints are
179 * allocated above this line
181 MSG_TMP_BASE = 0xF000
182 } messaging_type;
184 /* messaging struct sent across the sockets and stored in the tdb */
186 typedef [public] struct {
187 [skip] messaging_rec *prev;
188 [skip] messaging_rec *next;
189 uint32 msg_version;
190 messaging_type msg_type;
191 server_id dest;
192 server_id src;
193 DATA_BLOB buf;
194 uint8 num_fds;
195 dlong fds[num_fds];
196 } messaging_rec;
198 typedef [public] struct {
199 hyper rec_index;
200 uint32 num_recs;
201 messaging_rec *recs[num_recs];
202 } messaging_reclog;
204 /* This allows this well known service name to be referenced in python and C */
205 const string AUTH_EVENT_NAME = "auth_event";
206 const string DSDB_EVENT_NAME = "dsdb_event";
207 const string DSDB_PWD_EVENT_NAME = "dsdb_password_event";
208 const string DSDB_GROUP_EVENT_NAME = "dsdb_group_event";