1 /* header auto-generated by pidl */
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"
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 )
30 #ifndef USE_UINT_ENUMS
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)
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) )
53 #ifndef USE_UINT_ENUMS
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 )
78 #ifndef USE_UINT_ENUMS
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 )
105 enum nbt_name_type type
;
106 }/* [nopull,public,nopush] */;
109 #ifndef USE_UINT_ENUMS
114 { __donnot_use_enum_nbt_qclass
=0x7FFFFFFF}
115 #define NBT_QCLASS_IP ( 0x01 )
120 #ifndef USE_UINT_ENUMS
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
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 )
138 struct nbt_name_question
{
139 struct nbt_name name
;
140 enum nbt_qtype question_type
;
141 enum nbt_qclass question_class
;
145 #ifndef USE_UINT_ENUMS
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 )
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 )
169 struct nbt_rdata_address
{
174 struct nbt_rdata_netbios
{
176 struct nbt_rdata_address
*addresses
;
179 struct nbt_statistics
{
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
;
202 struct nbt_status_name
{
203 const char *name
;/* [charset(DOS)] */
204 enum nbt_name_type type
;
208 struct nbt_rdata_status
{
209 uint16_t length
;/* [value(num_names*18+47)] */
211 struct nbt_status_name
*names
;
212 struct nbt_statistics statistics
;
215 struct nbt_rdata_data
{
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] */;
227 struct nbt_name name
;
228 enum nbt_qtype rr_type
;
229 enum nbt_qclass rr_class
;
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)] */;
234 struct nbt_name_packet
{
235 uint16_t name_trn_id
;
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)] */;
249 #ifndef USE_UINT_ENUMS
251 DGRAM_DIRECT_UNIQUE
=0x10,
252 DGRAM_DIRECT_GROUP
=0x11,
256 DGRAM_QUERY_POSITIVE
=0x15,
257 DGRAM_QUERY_NEGATIVE
=0x16
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 )
271 /* bitmap dgram_flags */
272 #define DGRAM_FLAG_MORE ( 0x01 )
273 #define DGRAM_FLAG_FIRST ( 0x02 )
274 #define DGRAM_FLAG_NODE_TYPE ( 0x0C )
277 #ifndef USE_UINT_ENUMS
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 )
294 #ifndef USE_UINT_ENUMS
299 { __donnot_use_enum_smb_command
=0x7FFFFFFF}
300 #define SMB_TRANSACTION ( 0x25 )
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
;
312 uint16_t trans_flags
;
315 uint16_t param_count
;
316 uint16_t param_offset
;
318 uint16_t data_offset
;
319 uint8_t setup_count
;/* [value(3),range(3,3)] */
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)] */
330 struct smb_trans_body trans
;/* [case(SMB_TRANSACTION)] */
331 }/* [nodiscriminant] */;
333 struct dgram_smb_packet
{
334 enum smb_command smb_command
;
341 uint8_t signature
[8];
347 union smb_body body
;/* [switch_is(smb_command)] */
348 }/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
350 union dgram_message_body
{
351 struct dgram_smb_packet smb
;/* [case(DGRAM_SMB)] */
352 }/* [nodiscriminant] */;
354 struct dgram_message
{
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)] */
364 #ifndef USE_UINT_ENUMS
366 DGRAM_ERROR_NAME_NOT_PRESENT
=0x82,
367 DGRAM_ERROR_INVALID_SOURCE
=0x83,
368 DGRAM_ERROR_INVALID_DEST
=0x84
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 )
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] */;
384 struct nbt_dgram_packet
{
385 enum dgram_msg_type msg_type
;
388 const char * src_addr
;
390 union dgram_data data
;/* [switch_is(msg_type)] */
391 }/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
393 enum nbt_netlogon_command
394 #ifndef USE_UINT_ENUMS
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
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 )
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 )
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)] */
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)] */
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)] */
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 )
471 struct nbt_dc_sock_addr
{
473 const char * pdc_ip
;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
474 DATA_BLOB remaining
;/* [flag(LIBNDR_FLAG_REMAINING)] */
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
;
482 const char * dns_domain
;
483 const char * pdc_dns_name
;
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)] */
496 enum netr_SamDatabaseID
;
498 struct nbt_db_change
{
499 enum netr_SamDatabaseID db_index
;
504 struct nbt_netlogon_announce_uas
{
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)] */
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)] */
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] */;
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)] */;
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] */
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
;
554 const char * dns_domain
;
555 const char * pdc_dns_name
;
557 uint32_t server_type
;
558 uint32_t nt_version
;/* [value(3)] */
563 struct nbt_cldap_netlogon_5
{
564 enum nbt_netlogon_command type
;
566 uint32_t server_type
;
567 struct GUID domain_uuid
;
569 const char * dns_domain
;
570 const char * pdc_dns_name
;
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)] */
581 struct nbt_cldap_netlogon_13
{
582 enum nbt_netlogon_command type
;
584 uint32_t server_type
;
585 struct GUID domain_uuid
;
587 const char * dns_domain
;
588 const char * pdc_dns_name
;
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)] */
601 struct nbt_cldap_netlogon_15
{
602 enum nbt_netlogon_command type
;
604 uint32_t server_type
;
605 struct GUID domain_uuid
;
607 const char * dns_domain
;
608 const char * pdc_dns_name
;
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)] */
620 struct nbt_cldap_netlogon_29
{
621 enum nbt_netlogon_command type
;
623 uint32_t server_type
;
624 struct GUID domain_uuid
;
626 const char * dns_domain
;
627 const char * pdc_dns_name
;
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)] */
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)] */;
650 enum nbt_ntlogon_command
651 #ifndef USE_UINT_ENUMS
653 NTLOGON_SAM_LOGON
=0x12,
654 NTLOGON_SAM_LOGON_REPLY
=0x13,
655 NTLOGON_SAM_LOGON_REPLY15
=0x15,
656 NTLOGON_RESPONSE_FROM_PDC2
=0x17
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 )
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)] */
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)] */
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] */;
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)] */;
700 enum nbt_browse_opcode
701 #ifndef USE_UINT_ENUMS
704 AnnouncementRequest
=2,
707 GetBackupListResp
=10,
709 DomainAnnouncement
=12,
710 MasterAnnouncement
=13,
711 ResetBrowserState
=14,
712 LocalMasterAnnouncement
=15
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 )
729 struct nbt_browse_host_announcement
{
731 uint32_t Periodicity
;
732 const char *ServerName
;/* [charset(DOS)] */
739 const char * Comment
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
742 struct nbt_browse_announcement_request
{
744 const char * ResponseName
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
747 struct nbt_browse_election_request
{
752 const char * ServerName
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
755 struct nbt_browse_backup_list_request
{
760 struct nbt_browse_backup_list_response
{
763 struct nbt_name
*BackupServerList
;
766 struct nbt_browse_become_backup
{
767 const char * BrowserName
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
770 struct nbt_browse_domain_announcement
{
772 uint32_t Periodicity
;
773 const char *ServerName
;/* [charset(DOS)] */
777 uint32_t MysteriousField
;
778 const char * Comment
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
781 struct nbt_browse_master_announcement
{
782 const char * ServerName
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
785 struct nbt_browse_reset_state
{
789 struct nbt_browse_local_master_announcement
{
791 uint32_t Periodicity
;
792 const char *ServerName
;/* [charset(DOS)] */
799 const char * Comment
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
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] */;
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)] */;
820 #endif /* _HEADER_nbt */