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