62323228cfb298beac6e480e76857ca3b60ba7ba
[kai/samba-autobuild/.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                 /* 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,  Obsoleted */
66                 /* MSG_SMB_SAM_REPL             = 0x0304,  Obsoleted */
67                 MSG_SMB_UNLOCK                  = 0x0305,
68                 MSG_SMB_BREAK_REQUEST           = 0x0306,
69                 /* MSG_SMB_BREAK_RESPONSE       = 0x0307,  Obsoleted */
70                 /* MSG_SMB_ASYNC_LEVEL2_BREAK   = 0x0308,  Obsoleted */
71                 /* MSG_SMB_OPEN_RETRY           = 0x0309,  Obsoleted */
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                 /* Trigger a notify cleanup run */
89                 MSG_SMB_NOTIFY_CLEANUP          = 0x0314,
90                 MSG_SMB_SCAVENGER               = 0x0315,
91
92                 /* shutdown connection for given client */
93                 MSG_SMB_KILL_CLIENT_IP          = 0x0316,
94
95                 /* Tell number of child processes */
96                 MSG_SMB_TELL_NUM_CHILDREN       = 0x0317,
97                 MSG_SMB_NUM_CHILDREN            = 0x0318,
98
99                 /* Cancel a notify, directory got deleted */
100                 MSG_SMB_NOTIFY_CANCEL_DELETED   = 0x0319,
101
102                 /* notifyd messages */
103                 MSG_SMB_NOTIFY_REC_CHANGE       = 0x031A,
104                 MSG_SMB_NOTIFY_TRIGGER          = 0x031B,
105                 MSG_SMB_NOTIFY_GET_DB           = 0x031C,
106                 MSG_SMB_NOTIFY_DB               = 0x031D,
107                 MSG_SMB_NOTIFY_REC_CHANGES      = 0x031E,
108
109                 /* winbind messages */
110                 MSG_WINBIND_FINISHED            = 0x0401,
111                 MSG_WINBIND_FORGET_STATE        = 0x0402,
112                 MSG_WINBIND_ONLINE              = 0x0403,
113                 MSG_WINBIND_OFFLINE             = 0x0404,
114                 MSG_WINBIND_ONLINESTATUS        = 0x0405,
115                 MSG_WINBIND_TRY_TO_GO_ONLINE    = 0x0406,
116                 MSG_WINBIND_FAILED_TO_GO_ONLINE = 0x0407,
117                 MSG_WINBIND_VALIDATE_CACHE      = 0x0408,
118                 MSG_WINBIND_DUMP_DOMAIN_LIST    = 0x0409,
119                 MSG_WINBIND_IP_DROPPED          = 0x040A,
120                 MSG_WINBIND_DOMAIN_ONLINE       = 0x040B,
121                 MSG_WINBIND_DOMAIN_OFFLINE      = 0x040C,
122                 MSG_WINBIND_NEW_TRUSTED_DOMAIN  = 0x040D,
123
124                 /* event messages */
125                 MSG_DUMP_EVENT_LIST             = 0x0500,
126
127                 /* smbXsrv messages */
128                 MSG_SMBXSRV_SESSION_CLOSE       = 0x0600,
129                 MSG_SMBXSRV_CONNECTION_PASS     = 0x0601,
130
131                 /* source4 and NTVFS smb server messages */
132                 MSG_BRL_RETRY                   = 0x0700,
133                 MSG_PVFS_RETRY_OPEN             = 0x0701,
134                 MSG_IRPC                        = 0x0702,
135                 MSG_NTVFS_OPLOCK_BREAK          = 0x0703,
136                 MSG_DREPL_ALLOCATE_RID          = 0x0704,
137
138                 /* dbwrap messages 4001-4999 (0x0FA0 - 0x1387) */
139                 /* MSG_DBWRAP_TDB2_CHANGES              = 4001, */
140                 /* MSG_DBWRAP_G_LOCK_RETRY              = 4002, */
141                 MSG_DBWRAP_MODIFIED             = 4003,
142
143                 /*
144                  * source4 allows new messages to be registered at
145                  * runtime (currently used in python bindings and in
146                  * smbtorture). Temporary messaging endpoints are
147                  * allocated above this line
148                  */
149                 MSG_TMP_BASE                    = 0xF000
150         } messaging_type;
151
152         /* messaging struct sent across the sockets and stored in the tdb */
153
154         typedef [public] struct {
155                 uint32 msg_version;
156                 messaging_type msg_type;
157                 server_id dest;
158                 server_id src;
159                 DATA_BLOB buf;
160                 uint8 num_fds;
161                 dlong fds[num_fds];
162         } messaging_rec;
163
164         typedef [public] struct {
165                 hyper rec_index;
166                 uint32 num_recs;
167                 messaging_rec *recs[num_recs];
168         } messaging_reclog;
169 }