summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/nbt.idl38
1 files changed, 32 insertions, 6 deletions
diff --git a/source4/librpc/idl/nbt.idl b/source4/librpc/idl/nbt.idl
index cd009530d1..09738820bb 100644
--- a/source4/librpc/idl/nbt.idl
+++ b/source4/librpc/idl/nbt.idl
@@ -200,16 +200,16 @@ interface nbt
} dgram_msg_type;
typedef [bitmap8bit] bitmap {
- DGRAM_FLAG_MORE = 0x80,
- DGRAM_FLAG_FIRST = 0x40,
- DGRAM_FLAG_NODE_TYPE = 0x30
+ DGRAM_FLAG_MORE = 0x01,
+ DGRAM_FLAG_FIRST = 0x02,
+ DGRAM_FLAG_NODE_TYPE = 0x0C
} dgram_flags;
typedef [enum8bit] enum {
DGRAM_NODE_B = 0x00,
- DGRAM_NODE_P = 0x10,
- DGRAM_NODE_M = 0x20,
- DGRAM_NODE_NBDD = 0x30
+ DGRAM_NODE_P = 0x04,
+ DGRAM_NODE_M = 0x08,
+ DGRAM_NODE_NBDD = 0x0C
} dgram_node_type;
/* a dgram_message is the main dgram body in general use */
@@ -317,4 +317,30 @@ interface nbt
uint16 src_port;
[switch_is(msg_type)] dgram_data data;
} nbt_dgram_packet;
+
+
+ /* \MAILSLOT\NET\NETLOGON mailslot requests */
+ typedef [enum8bit] enum {
+ NETLOGON_QUERY_FOR_PDC = 0x7
+ } nbt_netlogon_command;
+
+ /* query for pdc request */
+ typedef struct {
+ astring computer_name;
+ astring mailslot_name;
+ nstring unicode_name;
+ uint32 nt_version;
+ uint16 lmnt_token;
+ uint16 lm20_token;
+ } nbt_netlogon_query_for_pdc;
+
+ typedef [nodiscriminant] union {
+ [case(NETLOGON_QUERY_FOR_PDC)] nbt_netlogon_query_for_pdc pdc;
+ } nbt_netlogon_request;
+
+ typedef [flag(NDR_NOALIGN),public] struct {
+ nbt_netlogon_command command;
+ uint8 pad;
+ [switch_is(command)] nbt_netlogon_request req;
+ } nbt_netlogon_packet;
}