smbd: inline change_to_user_internal() into change_to_user_and_service()
[Samba.git] / librpc / idl / messaging.idl
blobf355c7503d9435478c6d3d2f6401b96336ffcca5
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,
45 MSG_PREFORK_CHILD_EVENT = 0x0031,
46 MSG_PREFORK_PARENT_EVENT = 0x0032,
48 MSG_REQ_RINGBUF_LOG = 0x0033,
49 MSG_RINGBUF_LOG = 0x0034,
51 /* nmbd messages */
52 MSG_FORCE_ELECTION = 0x0101,
53 MSG_WINS_NEW_ENTRY = 0x0102,
54 MSG_SEND_PACKET = 0x0103,
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,
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, Obsoleted */
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,
82 /* Samba4 compatibility */
83 MSG_PVFS_NOTIFY = 0x0310,
85 /* cluster reconfigure events */
86 /* MSG_SMB_BRL_VALIDATE = 0x0311, Oboleted */
88 /*Close a specific file given a share entry. */
89 MSG_SMB_CLOSE_FILE = 0x0313,
91 /* Trigger a notify cleanup run */
92 MSG_SMB_NOTIFY_CLEANUP = 0x0314,
93 MSG_SMB_SCAVENGER = 0x0315,
95 /* shutdown connection for given client */
96 MSG_SMB_KILL_CLIENT_IP = 0x0316,
98 /* Tell number of child processes */
99 MSG_SMB_TELL_NUM_CHILDREN = 0x0317,
100 MSG_SMB_NUM_CHILDREN = 0x0318,
102 /* Cancel a notify, directory got deleted */
103 MSG_SMB_NOTIFY_CANCEL_DELETED = 0x0319,
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 MSG_SMB_SLEEP = 0x0320,
114 /* winbind messages */
115 MSG_WINBIND_FINISHED = 0x0401,
116 MSG_WINBIND_FORGET_STATE = 0x0402,
117 MSG_WINBIND_ONLINE = 0x0403,
118 MSG_WINBIND_OFFLINE = 0x0404,
119 MSG_WINBIND_ONLINESTATUS = 0x0405,
120 MSG_WINBIND_TRY_TO_GO_ONLINE = 0x0406,
121 MSG_WINBIND_FAILED_TO_GO_ONLINE = 0x0407,
122 MSG_WINBIND_VALIDATE_CACHE = 0x0408,
123 MSG_WINBIND_DUMP_DOMAIN_LIST = 0x0409,
124 MSG_WINBIND_IP_DROPPED = 0x040A,
125 MSG_WINBIND_DOMAIN_ONLINE = 0x040B,
126 MSG_WINBIND_DOMAIN_OFFLINE = 0x040C,
127 MSG_WINBIND_RELOAD_TRUSTED_DOMAINS = 0x040D,
128 MSG_WINBIND_DISCONNECT_DC = 0x040E,
130 /* event messages */
131 /* MSG_DUMP_EVENT_LIST = 0x0500, Obsoleted */
133 /* smbXsrv messages */
134 MSG_SMBXSRV_SESSION_CLOSE = 0x0600,
135 MSG_SMBXSRV_CONNECTION_PASS = 0x0601,
137 /* source4 and NTVFS smb server messages */
138 MSG_BRL_RETRY = 0x0700,
139 MSG_PVFS_RETRY_OPEN = 0x0701,
140 MSG_IRPC = 0x0702,
141 MSG_NTVFS_OPLOCK_BREAK = 0x0703,
142 MSG_DREPL_ALLOCATE_RID = 0x0704,
145 * Audit, Authentication and Authorisation event
146 * messages
148 MSG_AUTH_LOG = 0x0800,
149 MSG_DSDB_LOG = 0x0801,
150 MSG_DSDB_PWD_LOG = 0x0802,
151 MSG_GROUP_LOG = 0x0803,
153 /* dbwrap messages 4001-4999 (0x0FA0 - 0x1387) */
154 /* MSG_DBWRAP_TDB2_CHANGES = 4001, */
155 /* MSG_DBWRAP_G_LOCK_RETRY = 4002, */
156 MSG_DBWRAP_MODIFIED = 4003,
159 * source4 allows new messages to be registered at
160 * runtime (currently used in python bindings and in
161 * smbtorture). Temporary messaging endpoints are
162 * allocated above this line
164 MSG_TMP_BASE = 0xF000
165 } messaging_type;
167 /* messaging struct sent across the sockets and stored in the tdb */
169 typedef [public] struct {
170 [skip] messaging_rec *prev;
171 [skip] messaging_rec *next;
172 uint32 msg_version;
173 messaging_type msg_type;
174 server_id dest;
175 server_id src;
176 DATA_BLOB buf;
177 uint8 num_fds;
178 dlong fds[num_fds];
179 } messaging_rec;
181 typedef [public] struct {
182 hyper rec_index;
183 uint32 num_recs;
184 messaging_rec *recs[num_recs];
185 } messaging_reclog;
187 /* This allows this well known service name to be referenced in python and C */
188 const string AUTH_EVENT_NAME = "auth_event";
189 const string DSDB_EVENT_NAME = "dsdb_event";
190 const string DSDB_PWD_EVENT_NAME = "dsdb_password_event";
191 const string DSDB_GROUP_EVENT_NAME = "dsdb_group_event";