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