1 | /* header auto-generated by pidl */
|
---|
2 |
|
---|
3 | #include <stdint.h>
|
---|
4 |
|
---|
5 | #include "librpc/gen_ndr/misc.h"
|
---|
6 | #include "librpc/gen_ndr/security.h"
|
---|
7 | #include "librpc/gen_ndr/svcctl.h"
|
---|
8 | #include "librpc/gen_ndr/samr.h"
|
---|
9 | #ifndef _HEADER_nbt
|
---|
10 | #define _HEADER_nbt
|
---|
11 |
|
---|
12 | #define NBT_NAME_SERVICE_PORT ( 137 )
|
---|
13 | #define NBT_DGRAM_SERVICE_PORT ( 138 )
|
---|
14 | #define NBT_MAILSLOT_NETLOGON ( "\\MAILSLOT\\NET\\NETLOGON" )
|
---|
15 | #define NBT_MAILSLOT_NTLOGON ( "\\MAILSLOT\\NET\\NTLOGON" )
|
---|
16 | #define NBT_MAILSLOT_GETDC ( "\\MAILSLOT\\NET\\GETDC" )
|
---|
17 | #define NBT_MAILSLOT_BROWSE ( "\\MAILSLOT\\BROWSE" )
|
---|
18 | #define DGRAM_SMB ( 0xff534d42 )
|
---|
19 | /* bitmap nbt_operation */
|
---|
20 | #define NBT_RCODE ( 0x000F )
|
---|
21 | #define NBT_FLAG_BROADCAST ( 0x0010 )
|
---|
22 | #define NBT_FLAG_RECURSION_AVAIL ( 0x0080 )
|
---|
23 | #define NBT_FLAG_RECURSION_DESIRED ( 0x0100 )
|
---|
24 | #define NBT_FLAG_TRUNCATION ( 0x0200 )
|
---|
25 | #define NBT_FLAG_AUTHORITIVE ( 0x0400 )
|
---|
26 | #define NBT_OPCODE ( 0x7800 )
|
---|
27 | #define NBT_FLAG_REPLY ( 0x8000 )
|
---|
28 |
|
---|
29 | enum nbt_opcode
|
---|
30 | #ifndef USE_UINT_ENUMS
|
---|
31 | {
|
---|
32 | NBT_OPCODE_QUERY=(0x0<<11),
|
---|
33 | NBT_OPCODE_REGISTER=(0x5<<11),
|
---|
34 | NBT_OPCODE_RELEASE=(0x6<<11),
|
---|
35 | NBT_OPCODE_WACK=(0x7<<11),
|
---|
36 | NBT_OPCODE_REFRESH=(0x8<<11),
|
---|
37 | NBT_OPCODE_REFRESH2=(0x9<<11),
|
---|
38 | NBT_OPCODE_MULTI_HOME_REG=(0xf<<11)
|
---|
39 | }
|
---|
40 | #else
|
---|
41 | { __donnot_use_enum_nbt_opcode=0x7FFFFFFF}
|
---|
42 | #define NBT_OPCODE_QUERY ( (0x0<<11) )
|
---|
43 | #define NBT_OPCODE_REGISTER ( (0x5<<11) )
|
---|
44 | #define NBT_OPCODE_RELEASE ( (0x6<<11) )
|
---|
45 | #define NBT_OPCODE_WACK ( (0x7<<11) )
|
---|
46 | #define NBT_OPCODE_REFRESH ( (0x8<<11) )
|
---|
47 | #define NBT_OPCODE_REFRESH2 ( (0x9<<11) )
|
---|
48 | #define NBT_OPCODE_MULTI_HOME_REG ( (0xf<<11) )
|
---|
49 | #endif
|
---|
50 | ;
|
---|
51 |
|
---|
52 | enum nbt_rcode
|
---|
53 | #ifndef USE_UINT_ENUMS
|
---|
54 | {
|
---|
55 | NBT_RCODE_OK=0x0,
|
---|
56 | NBT_RCODE_FMT=0x1,
|
---|
57 | NBT_RCODE_SVR=0x2,
|
---|
58 | NBT_RCODE_NAM=0x3,
|
---|
59 | NBT_RCODE_IMP=0x4,
|
---|
60 | NBT_RCODE_RFS=0x5,
|
---|
61 | NBT_RCODE_ACT=0x6,
|
---|
62 | NBT_RCODE_CFT=0x7
|
---|
63 | }
|
---|
64 | #else
|
---|
65 | { __donnot_use_enum_nbt_rcode=0x7FFFFFFF}
|
---|
66 | #define NBT_RCODE_OK ( 0x0 )
|
---|
67 | #define NBT_RCODE_FMT ( 0x1 )
|
---|
68 | #define NBT_RCODE_SVR ( 0x2 )
|
---|
69 | #define NBT_RCODE_NAM ( 0x3 )
|
---|
70 | #define NBT_RCODE_IMP ( 0x4 )
|
---|
71 | #define NBT_RCODE_RFS ( 0x5 )
|
---|
72 | #define NBT_RCODE_ACT ( 0x6 )
|
---|
73 | #define NBT_RCODE_CFT ( 0x7 )
|
---|
74 | #endif
|
---|
75 | ;
|
---|
76 |
|
---|
77 | enum nbt_name_type
|
---|
78 | #ifndef USE_UINT_ENUMS
|
---|
79 | {
|
---|
80 | NBT_NAME_CLIENT=0x00,
|
---|
81 | NBT_NAME_MS=0x01,
|
---|
82 | NBT_NAME_USER=0x03,
|
---|
83 | NBT_NAME_SERVER=0x20,
|
---|
84 | NBT_NAME_PDC=0x1B,
|
---|
85 | NBT_NAME_LOGON=0x1C,
|
---|
86 | NBT_NAME_MASTER=0x1D,
|
---|
87 | NBT_NAME_BROWSER=0x1E
|
---|
88 | }
|
---|
89 | #else
|
---|
90 | { __donnot_use_enum_nbt_name_type=0x7FFFFFFF}
|
---|
91 | #define NBT_NAME_CLIENT ( 0x00 )
|
---|
92 | #define NBT_NAME_MS ( 0x01 )
|
---|
93 | #define NBT_NAME_USER ( 0x03 )
|
---|
94 | #define NBT_NAME_SERVER ( 0x20 )
|
---|
95 | #define NBT_NAME_PDC ( 0x1B )
|
---|
96 | #define NBT_NAME_LOGON ( 0x1C )
|
---|
97 | #define NBT_NAME_MASTER ( 0x1D )
|
---|
98 | #define NBT_NAME_BROWSER ( 0x1E )
|
---|
99 | #endif
|
---|
100 | ;
|
---|
101 |
|
---|
102 | struct nbt_name {
|
---|
103 | const char * name;
|
---|
104 | const char * scope;
|
---|
105 | enum nbt_name_type type;
|
---|
106 | }/* [nopull,public,nopush] */;
|
---|
107 |
|
---|
108 | enum nbt_qclass
|
---|
109 | #ifndef USE_UINT_ENUMS
|
---|
110 | {
|
---|
111 | NBT_QCLASS_IP=0x01
|
---|
112 | }
|
---|
113 | #else
|
---|
114 | { __donnot_use_enum_nbt_qclass=0x7FFFFFFF}
|
---|
115 | #define NBT_QCLASS_IP ( 0x01 )
|
---|
116 | #endif
|
---|
117 | ;
|
---|
118 |
|
---|
119 | enum nbt_qtype
|
---|
120 | #ifndef USE_UINT_ENUMS
|
---|
121 | {
|
---|
122 | NBT_QTYPE_ADDRESS=0x0001,
|
---|
123 | NBT_QTYPE_NAMESERVICE=0x0002,
|
---|
124 | NBT_QTYPE_NULL=0x000A,
|
---|
125 | NBT_QTYPE_NETBIOS=0x0020,
|
---|
126 | NBT_QTYPE_STATUS=0x0021
|
---|
127 | }
|
---|
128 | #else
|
---|
129 | { __donnot_use_enum_nbt_qtype=0x7FFFFFFF}
|
---|
130 | #define NBT_QTYPE_ADDRESS ( 0x0001 )
|
---|
131 | #define NBT_QTYPE_NAMESERVICE ( 0x0002 )
|
---|
132 | #define NBT_QTYPE_NULL ( 0x000A )
|
---|
133 | #define NBT_QTYPE_NETBIOS ( 0x0020 )
|
---|
134 | #define NBT_QTYPE_STATUS ( 0x0021 )
|
---|
135 | #endif
|
---|
136 | ;
|
---|
137 |
|
---|
138 | struct nbt_name_question {
|
---|
139 | struct nbt_name name;
|
---|
140 | enum nbt_qtype question_type;
|
---|
141 | enum nbt_qclass question_class;
|
---|
142 | };
|
---|
143 |
|
---|
144 | enum nbt_node_type
|
---|
145 | #ifndef USE_UINT_ENUMS
|
---|
146 | {
|
---|
147 | NBT_NODE_B=0x0000,
|
---|
148 | NBT_NODE_P=0x2000,
|
---|
149 | NBT_NODE_M=0x4000,
|
---|
150 | NBT_NODE_H=0x6000
|
---|
151 | }
|
---|
152 | #else
|
---|
153 | { __donnot_use_enum_nbt_node_type=0x7FFFFFFF}
|
---|
154 | #define NBT_NODE_B ( 0x0000 )
|
---|
155 | #define NBT_NODE_P ( 0x2000 )
|
---|
156 | #define NBT_NODE_M ( 0x4000 )
|
---|
157 | #define NBT_NODE_H ( 0x6000 )
|
---|
158 | #endif
|
---|
159 | ;
|
---|
160 |
|
---|
161 | /* bitmap nb_flags */
|
---|
162 | #define NBT_NM_PERMANENT ( 0x0200 )
|
---|
163 | #define NBT_NM_ACTIVE ( 0x0400 )
|
---|
164 | #define NBT_NM_CONFLICT ( 0x0800 )
|
---|
165 | #define NBT_NM_DEREGISTER ( 0x1000 )
|
---|
166 | #define NBT_NM_OWNER_TYPE ( 0x6000 )
|
---|
167 | #define NBT_NM_GROUP ( 0x8000 )
|
---|
168 |
|
---|
169 | struct nbt_rdata_address {
|
---|
170 | uint16_t nb_flags;
|
---|
171 | const char * ipaddr;
|
---|
172 | };
|
---|
173 |
|
---|
174 | struct nbt_rdata_netbios {
|
---|
175 | uint16_t length;
|
---|
176 | struct nbt_rdata_address *addresses;
|
---|
177 | };
|
---|
178 |
|
---|
179 | struct nbt_statistics {
|
---|
180 | uint8_t unit_id[6];
|
---|
181 | uint8_t jumpers;
|
---|
182 | uint8_t test_result;
|
---|
183 | uint16_t version_number;
|
---|
184 | uint16_t period_of_statistics;
|
---|
185 | uint16_t number_of_crcs;
|
---|
186 | uint16_t number_alignment_errors;
|
---|
187 | uint16_t number_of_collisions;
|
---|
188 | uint16_t number_send_aborts;
|
---|
189 | uint32_t number_good_sends;
|
---|
190 | uint32_t number_good_receives;
|
---|
191 | uint16_t number_retransmits;
|
---|
192 | uint16_t number_no_resource_conditions;
|
---|
193 | uint16_t number_free_command_blocks;
|
---|
194 | uint16_t total_number_command_blocks;
|
---|
195 | uint16_t max_total_number_command_blocks;
|
---|
196 | uint16_t number_pending_sessions;
|
---|
197 | uint16_t max_number_pending_sessions;
|
---|
198 | uint16_t max_total_sessions_possible;
|
---|
199 | uint16_t session_data_packet_size;
|
---|
200 | };
|
---|
201 |
|
---|
202 | struct nbt_status_name {
|
---|
203 | const char *name;/* [charset(DOS)] */
|
---|
204 | enum nbt_name_type type;
|
---|
205 | uint16_t nb_flags;
|
---|
206 | };
|
---|
207 |
|
---|
208 | struct nbt_rdata_status {
|
---|
209 | uint16_t length;/* [value(num_names*18+47)] */
|
---|
210 | uint8_t num_names;
|
---|
211 | struct nbt_status_name *names;
|
---|
212 | struct nbt_statistics statistics;
|
---|
213 | };
|
---|
214 |
|
---|
215 | struct nbt_rdata_data {
|
---|
216 | uint16_t length;
|
---|
217 | uint8_t *data;
|
---|
218 | };
|
---|
219 |
|
---|
220 | union nbt_rdata {
|
---|
221 | struct nbt_rdata_netbios netbios;/* [case(NBT_QTYPE_NETBIOS)] */
|
---|
222 | struct nbt_rdata_status status;/* [case(NBT_QTYPE_STATUS)] */
|
---|
223 | struct nbt_rdata_data data;/* [default] */
|
---|
224 | }/* [nodiscriminant] */;
|
---|
225 |
|
---|
226 | struct nbt_res_rec {
|
---|
227 | struct nbt_name name;
|
---|
228 | enum nbt_qtype rr_type;
|
---|
229 | enum nbt_qclass rr_class;
|
---|
230 | uint32_t ttl;
|
---|
231 | union nbt_rdata rdata;/* [switch_is(((((rr_type)==NBT_QTYPE_NETBIOS)&&talloc_check_name(ndr,"struct ndr_push")&&((rdata).data.length==2))?0:rr_type))] */
|
---|
232 | }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
|
---|
233 |
|
---|
234 | struct nbt_name_packet {
|
---|
235 | uint16_t name_trn_id;
|
---|
236 | uint16_t operation;
|
---|
237 | uint16_t qdcount;
|
---|
238 | uint16_t ancount;
|
---|
239 | uint16_t nscount;
|
---|
240 | uint16_t arcount;
|
---|
241 | struct nbt_name_question *questions;
|
---|
242 | struct nbt_res_rec *answers;
|
---|
243 | struct nbt_res_rec *nsrecs;
|
---|
244 | struct nbt_res_rec *additional;
|
---|
245 | DATA_BLOB padding;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
---|
246 | }/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
|
---|
247 |
|
---|
248 | enum dgram_msg_type
|
---|
249 | #ifndef USE_UINT_ENUMS
|
---|
250 | {
|
---|
251 | DGRAM_DIRECT_UNIQUE=0x10,
|
---|
252 | DGRAM_DIRECT_GROUP=0x11,
|
---|
253 | DGRAM_BCAST=0x12,
|
---|
254 | DGRAM_ERROR=0x13,
|
---|
255 | DGRAM_QUERY=0x14,
|
---|
256 | DGRAM_QUERY_POSITIVE=0x15,
|
---|
257 | DGRAM_QUERY_NEGATIVE=0x16
|
---|
258 | }
|
---|
259 | #else
|
---|
260 | { __donnot_use_enum_dgram_msg_type=0x7FFFFFFF}
|
---|
261 | #define DGRAM_DIRECT_UNIQUE ( 0x10 )
|
---|
262 | #define DGRAM_DIRECT_GROUP ( 0x11 )
|
---|
263 | #define DGRAM_BCAST ( 0x12 )
|
---|
264 | #define DGRAM_ERROR ( 0x13 )
|
---|
265 | #define DGRAM_QUERY ( 0x14 )
|
---|
266 | #define DGRAM_QUERY_POSITIVE ( 0x15 )
|
---|
267 | #define DGRAM_QUERY_NEGATIVE ( 0x16 )
|
---|
268 | #endif
|
---|
269 | ;
|
---|
270 |
|
---|
271 | /* bitmap dgram_flags */
|
---|
272 | #define DGRAM_FLAG_MORE ( 0x01 )
|
---|
273 | #define DGRAM_FLAG_FIRST ( 0x02 )
|
---|
274 | #define DGRAM_FLAG_NODE_TYPE ( 0x0C )
|
---|
275 |
|
---|
276 | enum dgram_node_type
|
---|
277 | #ifndef USE_UINT_ENUMS
|
---|
278 | {
|
---|
279 | DGRAM_NODE_B=0x00,
|
---|
280 | DGRAM_NODE_P=0x04,
|
---|
281 | DGRAM_NODE_M=0x08,
|
---|
282 | DGRAM_NODE_NBDD=0x0C
|
---|
283 | }
|
---|
284 | #else
|
---|
285 | { __donnot_use_enum_dgram_node_type=0x7FFFFFFF}
|
---|
286 | #define DGRAM_NODE_B ( 0x00 )
|
---|
287 | #define DGRAM_NODE_P ( 0x04 )
|
---|
288 | #define DGRAM_NODE_M ( 0x08 )
|
---|
289 | #define DGRAM_NODE_NBDD ( 0x0C )
|
---|
290 | #endif
|
---|
291 | ;
|
---|
292 |
|
---|
293 | enum smb_command
|
---|
294 | #ifndef USE_UINT_ENUMS
|
---|
295 | {
|
---|
296 | SMB_TRANSACTION=0x25
|
---|
297 | }
|
---|
298 | #else
|
---|
299 | { __donnot_use_enum_smb_command=0x7FFFFFFF}
|
---|
300 | #define SMB_TRANSACTION ( 0x25 )
|
---|
301 | #endif
|
---|
302 | ;
|
---|
303 |
|
---|
304 | struct smb_trans_body {
|
---|
305 | uint8_t wct;/* [value(17),range(17,17)] */
|
---|
306 | uint16_t total_param_count;
|
---|
307 | uint16_t total_data_count;
|
---|
308 | uint16_t max_param_count;
|
---|
309 | uint16_t max_data_count;
|
---|
310 | uint8_t max_setup_count;
|
---|
311 | uint8_t pad;
|
---|
312 | uint16_t trans_flags;
|
---|
313 | uint32_t timeout;
|
---|
314 | uint16_t reserved;
|
---|
315 | uint16_t param_count;
|
---|
316 | uint16_t param_offset;
|
---|
317 | uint16_t data_count;
|
---|
318 | uint16_t data_offset;
|
---|
319 | uint8_t setup_count;/* [value(3),range(3,3)] */
|
---|
320 | uint8_t pad2;
|
---|
321 | uint16_t opcode;
|
---|
322 | uint16_t priority;
|
---|
323 | uint16_t _class;
|
---|
324 | uint16_t byte_count;/* [value(strlen(mailslot_name)+1+data.length)] */
|
---|
325 | const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
326 | DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
---|
327 | };
|
---|
328 |
|
---|
329 | union smb_body {
|
---|
330 | struct smb_trans_body trans;/* [case(SMB_TRANSACTION)] */
|
---|
331 | }/* [nodiscriminant] */;
|
---|
332 |
|
---|
333 | struct dgram_smb_packet {
|
---|
334 | enum smb_command smb_command;
|
---|
335 | uint8_t err_class;
|
---|
336 | uint8_t pad;
|
---|
337 | uint16_t err_code;
|
---|
338 | uint8_t flags;
|
---|
339 | uint16_t flags2;
|
---|
340 | uint16_t pid_high;
|
---|
341 | uint8_t signature[8];
|
---|
342 | uint16_t reserved;
|
---|
343 | uint16_t tid;
|
---|
344 | uint16_t pid;
|
---|
345 | uint16_t vuid;
|
---|
346 | uint16_t mid;
|
---|
347 | union smb_body body;/* [switch_is(smb_command)] */
|
---|
348 | }/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
|
---|
349 |
|
---|
350 | union dgram_message_body {
|
---|
351 | struct dgram_smb_packet smb;/* [case(DGRAM_SMB)] */
|
---|
352 | }/* [nodiscriminant] */;
|
---|
353 |
|
---|
354 | struct dgram_message {
|
---|
355 | uint16_t length;
|
---|
356 | uint16_t offset;
|
---|
357 | struct nbt_name source_name;
|
---|
358 | struct nbt_name dest_name;
|
---|
359 | uint32_t dgram_body_type;
|
---|
360 | union dgram_message_body body;/* [switch_is(dgram_body_type)] */
|
---|
361 | };
|
---|
362 |
|
---|
363 | enum dgram_err_code
|
---|
364 | #ifndef USE_UINT_ENUMS
|
---|
365 | {
|
---|
366 | DGRAM_ERROR_NAME_NOT_PRESENT=0x82,
|
---|
367 | DGRAM_ERROR_INVALID_SOURCE=0x83,
|
---|
368 | DGRAM_ERROR_INVALID_DEST=0x84
|
---|
369 | }
|
---|
370 | #else
|
---|
371 | { __donnot_use_enum_dgram_err_code=0x7FFFFFFF}
|
---|
372 | #define DGRAM_ERROR_NAME_NOT_PRESENT ( 0x82 )
|
---|
373 | #define DGRAM_ERROR_INVALID_SOURCE ( 0x83 )
|
---|
374 | #define DGRAM_ERROR_INVALID_DEST ( 0x84 )
|
---|
375 | #endif
|
---|
376 | ;
|
---|
377 |
|
---|
378 | union dgram_data {
|
---|
379 | struct dgram_message msg;/* [case(DGRAM_DIRECT_UNIQUE)] */
|
---|
380 | enum dgram_err_code error;/* [case(DGRAM_ERROR)] */
|
---|
381 | struct nbt_name dest_name;/* [case(DGRAM_QUERY)] */
|
---|
382 | }/* [nodiscriminant] */;
|
---|
383 |
|
---|
384 | struct nbt_dgram_packet {
|
---|
385 | enum dgram_msg_type msg_type;
|
---|
386 | uint8_t flags;
|
---|
387 | uint16_t dgram_id;
|
---|
388 | const char * src_addr;
|
---|
389 | uint16_t src_port;
|
---|
390 | union dgram_data data;/* [switch_is(msg_type)] */
|
---|
391 | }/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
|
---|
392 |
|
---|
393 | enum nbt_netlogon_command
|
---|
394 | #ifndef USE_UINT_ENUMS
|
---|
395 | {
|
---|
396 | NETLOGON_QUERY_FOR_PDC=0x7,
|
---|
397 | NETLOGON_ANNOUNCE_UAS=0xa,
|
---|
398 | NETLOGON_RESPONSE_FROM_PDC=0xc,
|
---|
399 | NETLOGON_QUERY_FOR_PDC2=0x12,
|
---|
400 | NETLOGON_RESPONSE_FROM_PDC2=0x17,
|
---|
401 | NETLOGON_RESPONSE_FROM_PDC_USER=0x19
|
---|
402 | }
|
---|
403 | #else
|
---|
404 | { __donnot_use_enum_nbt_netlogon_command=0x7FFFFFFF}
|
---|
405 | #define NETLOGON_QUERY_FOR_PDC ( 0x7 )
|
---|
406 | #define NETLOGON_ANNOUNCE_UAS ( 0xa )
|
---|
407 | #define NETLOGON_RESPONSE_FROM_PDC ( 0xc )
|
---|
408 | #define NETLOGON_QUERY_FOR_PDC2 ( 0x12 )
|
---|
409 | #define NETLOGON_RESPONSE_FROM_PDC2 ( 0x17 )
|
---|
410 | #define NETLOGON_RESPONSE_FROM_PDC_USER ( 0x19 )
|
---|
411 | #endif
|
---|
412 | ;
|
---|
413 |
|
---|
414 | /* bitmap nbt_netlogon_version */
|
---|
415 | #define NETLOGON_VERSION_1 ( 0x00000001 )
|
---|
416 | #define NETLOGON_VERSION_5 ( 0x00000002 )
|
---|
417 | #define NETLOGON_VERSION_5EX ( 0x00000004 )
|
---|
418 | #define NETLOGON_VERSION_5EX_WITH_IP ( 0x00000008 )
|
---|
419 | #define NETLOGON_VERSION_WITH_CLOSEST_SITE ( 0x00000010 )
|
---|
420 | #define NETLOGON_VERSION_AVOID_NT4_EMUL ( 0x01000000 )
|
---|
421 | #define NETLOGON_VERSION_PDC ( 0x10000000 )
|
---|
422 | #define NETLOGON_VERSION_IP ( 0x20000000 )
|
---|
423 | #define NETLOGON_VERSION_LOCAL ( 0x40000000 )
|
---|
424 | #define NETLOGON_VERSION_GC ( 0x80000000 )
|
---|
425 |
|
---|
426 | struct nbt_netlogon_query_for_pdc {
|
---|
427 | const char * computer_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
428 | const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
429 | DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */
|
---|
430 | const char * unicode_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
431 | uint32_t nt_version;
|
---|
432 | uint16_t lmnt_token;
|
---|
433 | uint16_t lm20_token;
|
---|
434 | };
|
---|
435 |
|
---|
436 | struct nbt_netlogon_query_for_pdc2 {
|
---|
437 | uint16_t request_count;
|
---|
438 | const char * computer_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
439 | const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
440 | const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
441 | uint32_t unknown[2];
|
---|
442 | uint32_t nt_version;
|
---|
443 | uint16_t lmnt_token;
|
---|
444 | uint16_t lm20_token;
|
---|
445 | };
|
---|
446 |
|
---|
447 | struct nbt_netlogon_response_from_pdc {
|
---|
448 | const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
449 | DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */
|
---|
450 | const char * unicode_pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
451 | const char * domain_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
452 | uint32_t nt_version;
|
---|
453 | uint16_t lmnt_token;
|
---|
454 | uint16_t lm20_token;
|
---|
455 | };
|
---|
456 |
|
---|
457 | /* bitmap nbt_server_type */
|
---|
458 | #define NBT_SERVER_PDC ( 0x00000001 )
|
---|
459 | #define NBT_SERVER_GC ( 0x00000004 )
|
---|
460 | #define NBT_SERVER_LDAP ( 0x00000008 )
|
---|
461 | #define NBT_SERVER_DS ( 0x00000010 )
|
---|
462 | #define NBT_SERVER_KDC ( 0x00000020 )
|
---|
463 | #define NBT_SERVER_TIMESERV ( 0x00000040 )
|
---|
464 | #define NBT_SERVER_CLOSEST ( 0x00000080 )
|
---|
465 | #define NBT_SERVER_WRITABLE ( 0x00000100 )
|
---|
466 | #define NBT_SERVER_GOOD_TIMESERV ( 0x00000200 )
|
---|
467 | #define NBT_SERVER_NDNC ( 0x00000400 )
|
---|
468 | #define NBT_SERVER_SELECT_SECRET_DOMAIN_6 ( 0x00000800 )
|
---|
469 | #define NBT_SERVER_FULL_SECRET_DOMAIN_6 ( 0x00001000 )
|
---|
470 |
|
---|
471 | struct nbt_dc_sock_addr {
|
---|
472 | uint32_t family;
|
---|
473 | const char * pdc_ip;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
|
---|
474 | DATA_BLOB remaining;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
---|
475 | };
|
---|
476 |
|
---|
477 | struct nbt_netlogon_response_from_pdc2 {
|
---|
478 | DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
|
---|
479 | uint32_t server_type;
|
---|
480 | struct GUID domain_uuid;
|
---|
481 | const char * forest;
|
---|
482 | const char * dns_domain;
|
---|
483 | const char * pdc_dns_name;
|
---|
484 | const char * domain;
|
---|
485 | const char * pdc_name;
|
---|
486 | const char * user_name;
|
---|
487 | const char * server_site;
|
---|
488 | const char * client_site;
|
---|
489 | uint8_t dc_sock_addr_size;
|
---|
490 | struct nbt_dc_sock_addr dc_sock_addr;/* [subcontext_size(dc_sock_addr_size),subcontext(0)] */
|
---|
491 | uint32_t nt_version;
|
---|
492 | uint16_t lmnt_token;
|
---|
493 | uint16_t lm20_token;
|
---|
494 | };
|
---|
495 |
|
---|
496 | enum netr_SamDatabaseID;
|
---|
497 |
|
---|
498 | struct nbt_db_change {
|
---|
499 | enum netr_SamDatabaseID db_index;
|
---|
500 | uint64_t serial;
|
---|
501 | NTTIME timestamp;
|
---|
502 | };
|
---|
503 |
|
---|
504 | struct nbt_netlogon_announce_uas {
|
---|
505 | uint32_t serial_lo;
|
---|
506 | time_t timestamp;
|
---|
507 | uint32_t pulse;
|
---|
508 | uint32_t random;
|
---|
509 | const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
510 | const char * domain;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
511 | DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */
|
---|
512 | const char * unicode_pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
513 | const char * unicode_domain;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
514 | uint32_t db_count;
|
---|
515 | struct nbt_db_change *dbchange;
|
---|
516 | uint32_t sid_size;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */
|
---|
517 | struct dom_sid0 sid;/* [subcontext_size(sid_size),subcontext(0)] */
|
---|
518 | uint32_t nt_version;
|
---|
519 | uint16_t lmnt_token;
|
---|
520 | uint16_t lm20_token;
|
---|
521 | };
|
---|
522 |
|
---|
523 | union nbt_netlogon_request {
|
---|
524 | struct nbt_netlogon_query_for_pdc pdc;/* [case(NETLOGON_QUERY_FOR_PDC)] */
|
---|
525 | struct nbt_netlogon_query_for_pdc2 pdc2;/* [case(NETLOGON_QUERY_FOR_PDC2)] */
|
---|
526 | struct nbt_netlogon_announce_uas uas;/* [case(NETLOGON_ANNOUNCE_UAS)] */
|
---|
527 | struct nbt_netlogon_response_from_pdc response;/* [case(NETLOGON_RESPONSE_FROM_PDC)] */
|
---|
528 | struct nbt_netlogon_response_from_pdc2 response2;/* [case(NETLOGON_RESPONSE_FROM_PDC2)] */
|
---|
529 | }/* [nodiscriminant] */;
|
---|
530 |
|
---|
531 | struct nbt_netlogon_packet {
|
---|
532 | enum nbt_netlogon_command command;
|
---|
533 | union nbt_netlogon_request req;/* [switch_is(command)] */
|
---|
534 | }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
|
---|
535 |
|
---|
536 | struct nbt_cldap_netlogon_1 {
|
---|
537 | enum nbt_netlogon_command type;
|
---|
538 | const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
539 | const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
540 | const char * domain_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
541 | uint32_t nt_version;/* [value] */
|
---|
542 | uint16_t lmnt_token;
|
---|
543 | uint16_t lm20_token;
|
---|
544 | };
|
---|
545 |
|
---|
546 | struct nbt_cldap_netlogon_3 {
|
---|
547 | enum nbt_netlogon_command type;
|
---|
548 | const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
549 | const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
550 | const char * domain_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
551 | struct GUID domain_uuid;
|
---|
552 | struct GUID unknown_uuid;
|
---|
553 | const char * forest;
|
---|
554 | const char * dns_domain;
|
---|
555 | const char * pdc_dns_name;
|
---|
556 | const char * pdc_ip;
|
---|
557 | uint32_t server_type;
|
---|
558 | uint32_t nt_version;/* [value(3)] */
|
---|
559 | uint16_t lmnt_token;
|
---|
560 | uint16_t lm20_token;
|
---|
561 | };
|
---|
562 |
|
---|
563 | struct nbt_cldap_netlogon_5 {
|
---|
564 | enum nbt_netlogon_command type;
|
---|
565 | uint16_t sbz;
|
---|
566 | uint32_t server_type;
|
---|
567 | struct GUID domain_uuid;
|
---|
568 | const char * forest;
|
---|
569 | const char * dns_domain;
|
---|
570 | const char * pdc_dns_name;
|
---|
571 | const char * domain;
|
---|
572 | const char * pdc_name;
|
---|
573 | const char * user_name;
|
---|
574 | const char * server_site;
|
---|
575 | const char * client_site;
|
---|
576 | uint32_t nt_version;/* [value(5)] */
|
---|
577 | uint16_t lmnt_token;
|
---|
578 | uint16_t lm20_token;
|
---|
579 | }/* [public] */;
|
---|
580 |
|
---|
581 | struct nbt_cldap_netlogon_13 {
|
---|
582 | enum nbt_netlogon_command type;
|
---|
583 | uint16_t sbz;
|
---|
584 | uint32_t server_type;
|
---|
585 | struct GUID domain_uuid;
|
---|
586 | const char * forest;
|
---|
587 | const char * dns_domain;
|
---|
588 | const char * pdc_dns_name;
|
---|
589 | const char * domain;
|
---|
590 | const char * pdc_name;
|
---|
591 | const char * user_name;
|
---|
592 | const char * server_site;
|
---|
593 | const char * client_site;
|
---|
594 | uint8_t dc_sock_addr_size;
|
---|
595 | struct nbt_dc_sock_addr dc_sock_addr;/* [subcontext_size(dc_sock_addr_size),subcontext(0)] */
|
---|
596 | uint32_t nt_version;/* [value(13)] */
|
---|
597 | uint16_t lmnt_token;
|
---|
598 | uint16_t lm20_token;
|
---|
599 | };
|
---|
600 |
|
---|
601 | struct nbt_cldap_netlogon_15 {
|
---|
602 | enum nbt_netlogon_command type;
|
---|
603 | uint16_t sbz;
|
---|
604 | uint32_t server_type;
|
---|
605 | struct GUID domain_uuid;
|
---|
606 | const char * forest;
|
---|
607 | const char * dns_domain;
|
---|
608 | const char * pdc_dns_name;
|
---|
609 | const char * domain;
|
---|
610 | const char * pdc_name;
|
---|
611 | const char * user_name;
|
---|
612 | const char * server_site;
|
---|
613 | const char * client_site;
|
---|
614 | const char * next_closest_site;
|
---|
615 | uint32_t nt_version;/* [value(15)] */
|
---|
616 | uint16_t lmnt_token;
|
---|
617 | uint16_t lm20_token;
|
---|
618 | }/* [public] */;
|
---|
619 |
|
---|
620 | struct nbt_cldap_netlogon_29 {
|
---|
621 | enum nbt_netlogon_command type;
|
---|
622 | uint16_t sbz;
|
---|
623 | uint32_t server_type;
|
---|
624 | struct GUID domain_uuid;
|
---|
625 | const char * forest;
|
---|
626 | const char * dns_domain;
|
---|
627 | const char * pdc_dns_name;
|
---|
628 | const char * domain;
|
---|
629 | const char * pdc_name;
|
---|
630 | const char * user_name;
|
---|
631 | const char * server_site;
|
---|
632 | const char * client_site;
|
---|
633 | uint8_t dc_sock_addr_size;
|
---|
634 | struct nbt_dc_sock_addr dc_sock_addr;/* [subcontext_size(dc_sock_addr_size),subcontext(0)] */
|
---|
635 | const char * next_closest_site;
|
---|
636 | uint32_t nt_version;/* [value(29)] */
|
---|
637 | uint16_t lmnt_token;
|
---|
638 | uint16_t lm20_token;
|
---|
639 | }/* [public] */;
|
---|
640 |
|
---|
641 | union nbt_cldap_netlogon {
|
---|
642 | struct nbt_cldap_netlogon_1 logon1;/* [case(0)] */
|
---|
643 | struct nbt_cldap_netlogon_3 logon3;/* [case(2)] */
|
---|
644 | struct nbt_cldap_netlogon_5 logon5;/* [case(4)] */
|
---|
645 | struct nbt_cldap_netlogon_13 logon13;/* [case(8)] */
|
---|
646 | struct nbt_cldap_netlogon_15 logon15;/* [case(20)] */
|
---|
647 | struct nbt_cldap_netlogon_29 logon29;/* [case(29)] */
|
---|
648 | }/* [public,nodiscriminant,flag(LIBNDR_FLAG_NOALIGN)] */;
|
---|
649 |
|
---|
650 | enum nbt_ntlogon_command
|
---|
651 | #ifndef USE_UINT_ENUMS
|
---|
652 | {
|
---|
653 | NTLOGON_SAM_LOGON=0x12,
|
---|
654 | NTLOGON_SAM_LOGON_REPLY=0x13,
|
---|
655 | NTLOGON_SAM_LOGON_REPLY15=0x15,
|
---|
656 | NTLOGON_RESPONSE_FROM_PDC2=0x17
|
---|
657 | }
|
---|
658 | #else
|
---|
659 | { __donnot_use_enum_nbt_ntlogon_command=0x7FFFFFFF}
|
---|
660 | #define NTLOGON_SAM_LOGON ( 0x12 )
|
---|
661 | #define NTLOGON_SAM_LOGON_REPLY ( 0x13 )
|
---|
662 | #define NTLOGON_SAM_LOGON_REPLY15 ( 0x15 )
|
---|
663 | #define NTLOGON_RESPONSE_FROM_PDC2 ( 0x17 )
|
---|
664 | #endif
|
---|
665 | ;
|
---|
666 |
|
---|
667 | struct nbt_ntlogon_sam_logon {
|
---|
668 | uint16_t request_count;
|
---|
669 | const char * computer_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
670 | const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
671 | const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
672 | uint32_t acct_control;
|
---|
673 | uint32_t sid_size;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */
|
---|
674 | struct dom_sid0 sid;/* [subcontext_size(sid_size),subcontext(0)] */
|
---|
675 | uint32_t nt_version;
|
---|
676 | uint16_t lmnt_token;
|
---|
677 | uint16_t lm20_token;
|
---|
678 | };
|
---|
679 |
|
---|
680 | struct nbt_ntlogon_sam_logon_reply {
|
---|
681 | const char * server;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
682 | const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
683 | const char * domain;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
684 | uint32_t nt_version;
|
---|
685 | uint16_t lmnt_token;
|
---|
686 | uint16_t lm20_token;
|
---|
687 | };
|
---|
688 |
|
---|
689 | union nbt_ntlogon_request {
|
---|
690 | struct nbt_ntlogon_sam_logon logon;/* [case(NTLOGON_SAM_LOGON)] */
|
---|
691 | struct nbt_ntlogon_sam_logon_reply reply;/* [case(NTLOGON_SAM_LOGON_REPLY)] */
|
---|
692 | struct nbt_netlogon_response_from_pdc2 reply2;/* [case(NTLOGON_RESPONSE_FROM_PDC2)] */
|
---|
693 | }/* [nodiscriminant] */;
|
---|
694 |
|
---|
695 | struct nbt_ntlogon_packet {
|
---|
696 | enum nbt_ntlogon_command command;
|
---|
697 | union nbt_ntlogon_request req;/* [switch_is(command)] */
|
---|
698 | }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
|
---|
699 |
|
---|
700 | enum nbt_browse_opcode
|
---|
701 | #ifndef USE_UINT_ENUMS
|
---|
702 | {
|
---|
703 | HostAnnouncement=1,
|
---|
704 | AnnouncementRequest=2,
|
---|
705 | Election=8,
|
---|
706 | GetBackupListReq=9,
|
---|
707 | GetBackupListResp=10,
|
---|
708 | BecomeBackup=11,
|
---|
709 | DomainAnnouncement=12,
|
---|
710 | MasterAnnouncement=13,
|
---|
711 | ResetBrowserState=14,
|
---|
712 | LocalMasterAnnouncement=15
|
---|
713 | }
|
---|
714 | #else
|
---|
715 | { __donnot_use_enum_nbt_browse_opcode=0x7FFFFFFF}
|
---|
716 | #define HostAnnouncement ( 1 )
|
---|
717 | #define AnnouncementRequest ( 2 )
|
---|
718 | #define Election ( 8 )
|
---|
719 | #define GetBackupListReq ( 9 )
|
---|
720 | #define GetBackupListResp ( 10 )
|
---|
721 | #define BecomeBackup ( 11 )
|
---|
722 | #define DomainAnnouncement ( 12 )
|
---|
723 | #define MasterAnnouncement ( 13 )
|
---|
724 | #define ResetBrowserState ( 14 )
|
---|
725 | #define LocalMasterAnnouncement ( 15 )
|
---|
726 | #endif
|
---|
727 | ;
|
---|
728 |
|
---|
729 | struct nbt_browse_host_announcement {
|
---|
730 | uint8_t UpdateCount;
|
---|
731 | uint32_t Periodicity;
|
---|
732 | const char *ServerName;/* [charset(DOS)] */
|
---|
733 | uint8_t OSMajor;
|
---|
734 | uint8_t OSMinor;
|
---|
735 | uint32_t ServerType;
|
---|
736 | uint8_t BroMajorVer;
|
---|
737 | uint8_t BroMinorVer;
|
---|
738 | uint16_t Signature;
|
---|
739 | const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
740 | };
|
---|
741 |
|
---|
742 | struct nbt_browse_announcement_request {
|
---|
743 | uint8_t Unused;
|
---|
744 | const char * ResponseName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
745 | };
|
---|
746 |
|
---|
747 | struct nbt_browse_election_request {
|
---|
748 | uint8_t Version;
|
---|
749 | uint32_t Criteria;
|
---|
750 | uint32_t UpTime;
|
---|
751 | uint32_t Reserved;
|
---|
752 | const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
753 | };
|
---|
754 |
|
---|
755 | struct nbt_browse_backup_list_request {
|
---|
756 | uint8_t ReqCount;
|
---|
757 | uint32_t Token;
|
---|
758 | };
|
---|
759 |
|
---|
760 | struct nbt_browse_backup_list_response {
|
---|
761 | uint8_t BackupCount;
|
---|
762 | uint32_t Token;
|
---|
763 | struct nbt_name *BackupServerList;
|
---|
764 | };
|
---|
765 |
|
---|
766 | struct nbt_browse_become_backup {
|
---|
767 | const char * BrowserName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
768 | };
|
---|
769 |
|
---|
770 | struct nbt_browse_domain_announcement {
|
---|
771 | uint8_t UpdateCount;
|
---|
772 | uint32_t Periodicity;
|
---|
773 | const char *ServerName;/* [charset(DOS)] */
|
---|
774 | uint8_t OSMajor;
|
---|
775 | uint8_t OSMinor;
|
---|
776 | uint32_t ServerType;
|
---|
777 | uint32_t MysteriousField;
|
---|
778 | const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
779 | };
|
---|
780 |
|
---|
781 | struct nbt_browse_master_announcement {
|
---|
782 | const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
783 | };
|
---|
784 |
|
---|
785 | struct nbt_browse_reset_state {
|
---|
786 | uint8_t Command;
|
---|
787 | };
|
---|
788 |
|
---|
789 | struct nbt_browse_local_master_announcement {
|
---|
790 | uint8_t UpdateCount;
|
---|
791 | uint32_t Periodicity;
|
---|
792 | const char *ServerName;/* [charset(DOS)] */
|
---|
793 | uint8_t OSMajor;
|
---|
794 | uint8_t OSMinor;
|
---|
795 | uint32_t ServerType;
|
---|
796 | uint8_t BroMajorVer;
|
---|
797 | uint8_t BroMinorVer;
|
---|
798 | uint16_t Signature;
|
---|
799 | const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
|
---|
800 | };
|
---|
801 |
|
---|
802 | union nbt_browse_payload {
|
---|
803 | struct nbt_browse_host_announcement host_annoucement;/* [case(HostAnnouncement)] */
|
---|
804 | struct nbt_browse_announcement_request announcement_request;/* [case(AnnouncementRequest)] */
|
---|
805 | struct nbt_browse_election_request election_request;/* [case(Election)] */
|
---|
806 | struct nbt_browse_backup_list_request backup_list_request;/* [case(GetBackupListReq)] */
|
---|
807 | struct nbt_browse_backup_list_response backup_list_response;/* [case(GetBackupListResp)] */
|
---|
808 | struct nbt_browse_become_backup become_backup;/* [case(BecomeBackup)] */
|
---|
809 | struct nbt_browse_domain_announcement domain_announcement;/* [case(DomainAnnouncement)] */
|
---|
810 | struct nbt_browse_master_announcement master_announcement;/* [case(MasterAnnouncement)] */
|
---|
811 | struct nbt_browse_reset_state reset_browser_state;/* [case(ResetBrowserState)] */
|
---|
812 | struct nbt_browse_local_master_announcement local_master_announcement;/* [case(LocalMasterAnnouncement)] */
|
---|
813 | }/* [nodiscriminant] */;
|
---|
814 |
|
---|
815 | struct nbt_browse_packet {
|
---|
816 | enum nbt_browse_opcode opcode;
|
---|
817 | union nbt_browse_payload payload;/* [switch_is(opcode)] */
|
---|
818 | }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
|
---|
819 |
|
---|
820 | #endif /* _HEADER_nbt */
|
---|