1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
#include "idl_types.h"
/*
IDL structures for messaging code
*/
[
helper("../librpc/ndr/util.h"),
pointer_default(unique)
]
interface messaging
{
const int MSG_TYPE_MASK = 0xFFFF;
typedef [v1_enum,public] enum {
/* general messages */
MSG_DEBUG = 0x0001,
MSG_PING = 0x0002,
MSG_PONG = 0x0003,
MSG_PROFILE = 0x0004,
MSG_REQ_DEBUGLEVEL = 0x0005,
MSG_DEBUGLEVEL = 0x0006,
MSG_REQ_PROFILELEVEL = 0x0007,
MSG_PROFILELEVEL = 0x0008,
MSG_REQ_POOL_USAGE = 0x0009,
MSG_POOL_USAGE = 0x000A,
/* If dmalloc is included, set a steady-state mark */
MSG_REQ_DMALLOC_MARK = 0x000B,
/* If dmalloc is included, dump to the dmalloc log a description of
* what has changed since the last MARK */
MSG_REQ_DMALLOC_LOG_CHANGED = 0x000C,
MSG_SHUTDOWN = 0x000D,
/* nmbd messages */
MSG_FORCE_ELECTION = 0x0101,
MSG_WINS_NEW_ENTRY = 0x0102,
MSG_SEND_PACKET = 0x0103,
/* printing messages */
MSG_PRINTER_NOTIFY = 0x2001, /* Obsolete */
MSG_PRINTER_NOTIFY2 = 0x0202,
MSG_PRINTER_DRVUPGRADE = 0x0203,
MSG_PRINTERDATA_INIT_RESET = 0x0204,
MSG_PRINTER_UPDATE = 0x0205,
MSG_PRINTER_MOD = 0x0206,
MSG_PRINTER_PCAP = 0x0207,
/* smbd messages */
MSG_SMB_CONF_UPDATED = 0x0301,
MSG_SMB_FORCE_TDIS = 0x0302,
MSG_SMB_SAM_SYNC = 0x0303,
MSG_SMB_SAM_REPL = 0x0304,
MSG_SMB_UNLOCK = 0x0305,
MSG_SMB_BREAK_REQUEST = 0x0306,
MSG_SMB_BREAK_RESPONSE = 0x0307,
MSG_SMB_ASYNC_LEVEL2_BREAK = 0x0308,
MSG_SMB_OPEN_RETRY = 0x0309,
MSG_SMB_KERNEL_BREAK = 0x030A,
MSG_SMB_FILE_RENAME = 0x030B,
MSG_SMB_INJECT_FAULT = 0x030C,
MSG_SMB_BLOCKING_LOCK_CANCEL = 0x030D,
MSG_SMB_NOTIFY = 0x030E,
MSG_SMB_STAT_CACHE_DELETE = 0x030F,
/* Samba4 compatibility */
MSG_PVFS_NOTIFY = 0x0310,
/* cluster reconfigure events */
MSG_SMB_BRL_VALIDATE = 0x0311,
MSG_SMB_RELEASE_IP = 0x0312,
/*Close a specific file given a share entry. */
MSG_SMB_CLOSE_FILE = 0x0313,
/* winbind messages */
MSG_WINBIND_FINISHED = 0x0401,
MSG_WINBIND_FORGET_STATE = 0x0402,
MSG_WINBIND_ONLINE = 0x0403,
MSG_WINBIND_OFFLINE = 0x0404,
MSG_WINBIND_ONLINESTATUS = 0x0405,
MSG_WINBIND_TRY_TO_GO_ONLINE = 0x0406,
MSG_WINBIND_FAILED_TO_GO_ONLINE = 0x0407,
MSG_WINBIND_VALIDATE_CACHE = 0x0408,
MSG_WINBIND_DUMP_DOMAIN_LIST = 0x0409,
MSG_WINBIND_IP_DROPPED = 0x040A,
/* event messages */
MSG_DUMP_EVENT_LIST = 0x0500,
/* dbwrap messages 4001-4999 */
MSG_DBWRAP_TDB2_CHANGES = 4001,
MSG_DBWRAP_G_LOCK_RETRY = 4002
} messaging_type;
/* messaging struct sent across the sockets and stored in the tdb */
typedef [public] struct {
uint32 msg_version;
messaging_type msg_type;
server_id dest;
server_id src;
DATA_BLOB buf;
} messaging_rec;
typedef [public] struct {
uint32 num_messages;
messaging_rec messages[num_messages];
} messaging_array;
/*
* struct used for change notify messages
* in the dbwrap_tdb2 code
*/
typedef [public] struct {
[charset(DOS),value("TDB2")] uint8 magic_string[4];
[value(1)] uint32 magic_version;
[charset(UTF8),string] uint8 name[];
uint32 old_seqnum;
uint32 new_seqnum;
uint32 num_changes;
uint32 num_keys;
DATA_BLOB keys[num_keys];
} dbwrap_tdb2_changes;
}
|