| 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 | MSG_IDMAP_FLUSH = 0x000E,
|
|---|
| 39 | MSG_IDMAP_DELETE = 0x000F,
|
|---|
| 40 | MSG_IDMAP_KILL = 0x0010,
|
|---|
| 41 |
|
|---|
| 42 | /* nmbd messages */
|
|---|
| 43 | MSG_FORCE_ELECTION = 0x0101,
|
|---|
| 44 | MSG_WINS_NEW_ENTRY = 0x0102,
|
|---|
| 45 | MSG_SEND_PACKET = 0x0103,
|
|---|
| 46 |
|
|---|
| 47 | /* printing messages */
|
|---|
| 48 | MSG_PRINTER_NOTIFY = 0x2001, /* Obsolete */
|
|---|
| 49 | MSG_PRINTER_NOTIFY2 = 0x0202,
|
|---|
| 50 | MSG_PRINTER_DRVUPGRADE = 0x0203,
|
|---|
| 51 | MSG_PRINTERDATA_INIT_RESET = 0x0204,
|
|---|
| 52 | MSG_PRINTER_UPDATE = 0x0205,
|
|---|
| 53 | MSG_PRINTER_MOD = 0x0206,
|
|---|
| 54 | MSG_PRINTER_PCAP = 0x0207,
|
|---|
| 55 |
|
|---|
| 56 | /* smbd messages */
|
|---|
| 57 | MSG_SMB_CONF_UPDATED = 0x0301,
|
|---|
| 58 | MSG_SMB_FORCE_TDIS = 0x0302,
|
|---|
| 59 | MSG_SMB_SAM_SYNC = 0x0303,
|
|---|
| 60 | MSG_SMB_SAM_REPL = 0x0304,
|
|---|
| 61 | MSG_SMB_UNLOCK = 0x0305,
|
|---|
| 62 | MSG_SMB_BREAK_REQUEST = 0x0306,
|
|---|
| 63 | MSG_SMB_BREAK_RESPONSE = 0x0307,
|
|---|
| 64 | MSG_SMB_ASYNC_LEVEL2_BREAK = 0x0308,
|
|---|
| 65 | MSG_SMB_OPEN_RETRY = 0x0309,
|
|---|
| 66 | MSG_SMB_KERNEL_BREAK = 0x030A,
|
|---|
| 67 | MSG_SMB_FILE_RENAME = 0x030B,
|
|---|
| 68 | MSG_SMB_INJECT_FAULT = 0x030C,
|
|---|
| 69 | MSG_SMB_BLOCKING_LOCK_CANCEL = 0x030D,
|
|---|
| 70 | MSG_SMB_NOTIFY = 0x030E,
|
|---|
| 71 | MSG_SMB_STAT_CACHE_DELETE = 0x030F,
|
|---|
| 72 |
|
|---|
| 73 | /* Samba4 compatibility */
|
|---|
| 74 | MSG_PVFS_NOTIFY = 0x0310,
|
|---|
| 75 |
|
|---|
| 76 | /* cluster reconfigure events */
|
|---|
| 77 | MSG_SMB_BRL_VALIDATE = 0x0311,
|
|---|
| 78 | MSG_SMB_RELEASE_IP = 0x0312,
|
|---|
| 79 |
|
|---|
| 80 | /*Close a specific file given a share entry. */
|
|---|
| 81 | MSG_SMB_CLOSE_FILE = 0x0313,
|
|---|
| 82 |
|
|---|
| 83 | /* winbind messages */
|
|---|
| 84 | MSG_WINBIND_FINISHED = 0x0401,
|
|---|
| 85 | MSG_WINBIND_FORGET_STATE = 0x0402,
|
|---|
| 86 | MSG_WINBIND_ONLINE = 0x0403,
|
|---|
| 87 | MSG_WINBIND_OFFLINE = 0x0404,
|
|---|
| 88 | MSG_WINBIND_ONLINESTATUS = 0x0405,
|
|---|
| 89 | MSG_WINBIND_TRY_TO_GO_ONLINE = 0x0406,
|
|---|
| 90 | MSG_WINBIND_FAILED_TO_GO_ONLINE = 0x0407,
|
|---|
| 91 | MSG_WINBIND_VALIDATE_CACHE = 0x0408,
|
|---|
| 92 | MSG_WINBIND_DUMP_DOMAIN_LIST = 0x0409,
|
|---|
| 93 | MSG_WINBIND_IP_DROPPED = 0x040A,
|
|---|
| 94 |
|
|---|
| 95 | /* event messages */
|
|---|
| 96 | MSG_DUMP_EVENT_LIST = 0x0500,
|
|---|
| 97 |
|
|---|
| 98 | /* dbwrap messages 4001-4999 */
|
|---|
| 99 | MSG_DBWRAP_TDB2_CHANGES = 4001,
|
|---|
| 100 | MSG_DBWRAP_G_LOCK_RETRY = 4002
|
|---|
| 101 | } messaging_type;
|
|---|
| 102 |
|
|---|
| 103 | /* messaging struct sent across the sockets and stored in the tdb */
|
|---|
| 104 |
|
|---|
| 105 | typedef [public] struct {
|
|---|
| 106 | uint32 msg_version;
|
|---|
| 107 | messaging_type msg_type;
|
|---|
| 108 | server_id dest;
|
|---|
| 109 | server_id src;
|
|---|
| 110 | DATA_BLOB buf;
|
|---|
| 111 | } messaging_rec;
|
|---|
| 112 |
|
|---|
| 113 | typedef [public] struct {
|
|---|
| 114 | uint32 num_messages;
|
|---|
| 115 | messaging_rec messages[num_messages];
|
|---|
| 116 | } messaging_array;
|
|---|
| 117 |
|
|---|
| 118 | /*
|
|---|
| 119 | * struct used for change notify messages
|
|---|
| 120 | * in the dbwrap_tdb2 code
|
|---|
| 121 | */
|
|---|
| 122 | typedef [public] struct {
|
|---|
| 123 | [charset(DOS),value("TDB2")] uint8 magic_string[4];
|
|---|
| 124 | [value(1)] uint32 magic_version;
|
|---|
| 125 | [charset(UTF8),string] uint8 name[];
|
|---|
| 126 | uint32 old_seqnum;
|
|---|
| 127 | uint32 new_seqnum;
|
|---|
| 128 | uint32 num_changes;
|
|---|
| 129 | uint32 num_keys;
|
|---|
| 130 | DATA_BLOB keys[num_keys];
|
|---|
| 131 | } dbwrap_tdb2_changes;
|
|---|
| 132 | }
|
|---|