1 /* header auto-generated by pidl */
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/misc.h"
8 #include "librpc/gen_ndr/security.h"
9 #include "librpc/gen_ndr/svcctl.h"
10 #include "librpc/gen_ndr/samr.h"
14 #define NBT_NAME_SERVICE_PORT ( 137 )
15 #define NBT_DGRAM_SERVICE_PORT ( 138 )
16 #define NBT_MAILSLOT_NETLOGON ( "\\MAILSLOT\\NET\\NETLOGON" )
17 #define NBT_MAILSLOT_NTLOGON ( "\\MAILSLOT\\NET\\NTLOGON" )
18 #define NBT_MAILSLOT_GETDC ( "\\MAILSLOT\\NET\\GETDC" )
19 #define NBT_MAILSLOT_BROWSE ( "\\MAILSLOT\\BROWSE" )
20 #define DGRAM_SMB ( 0xff534d42 )
21 /* bitmap nbt_operation */
22 #define NBT_RCODE ( 0x000F )
23 #define NBT_FLAG_BROADCAST ( 0x0010 )
24 #define NBT_FLAG_RECURSION_AVAIL ( 0x0080 )
25 #define NBT_FLAG_RECURSION_DESIRED ( 0x0100 )
26 #define NBT_FLAG_TRUNCATION ( 0x0200 )
27 #define NBT_FLAG_AUTHORITIVE ( 0x0400 )
28 #define NBT_OPCODE ( 0x7800 )
29 #define NBT_FLAG_REPLY ( 0x8000 )
32 #ifndef USE_UINT_ENUMS
34 NBT_OPCODE_QUERY
=(0x0<<11),
35 NBT_OPCODE_REGISTER
=(0x5<<11),
36 NBT_OPCODE_RELEASE
=(0x6<<11),
37 NBT_OPCODE_WACK
=(0x7<<11),
38 NBT_OPCODE_REFRESH
=(0x8<<11),
39 NBT_OPCODE_REFRESH2
=(0x9<<11),
40 NBT_OPCODE_MULTI_HOME_REG
=(0xf<<11)
43 { __donnot_use_enum_nbt_opcode
=0x7FFFFFFF}
44 #define NBT_OPCODE_QUERY ( (0x0<<11) )
45 #define NBT_OPCODE_REGISTER ( (0x5<<11) )
46 #define NBT_OPCODE_RELEASE ( (0x6<<11) )
47 #define NBT_OPCODE_WACK ( (0x7<<11) )
48 #define NBT_OPCODE_REFRESH ( (0x8<<11) )
49 #define NBT_OPCODE_REFRESH2 ( (0x9<<11) )
50 #define NBT_OPCODE_MULTI_HOME_REG ( (0xf<<11) )
55 #ifndef USE_UINT_ENUMS
67 { __donnot_use_enum_nbt_rcode
=0x7FFFFFFF}
68 #define NBT_RCODE_OK ( 0x0 )
69 #define NBT_RCODE_FMT ( 0x1 )
70 #define NBT_RCODE_SVR ( 0x2 )
71 #define NBT_RCODE_NAM ( 0x3 )
72 #define NBT_RCODE_IMP ( 0x4 )
73 #define NBT_RCODE_RFS ( 0x5 )
74 #define NBT_RCODE_ACT ( 0x6 )
75 #define NBT_RCODE_CFT ( 0x7 )
80 #ifndef USE_UINT_ENUMS
92 { __donnot_use_enum_nbt_name_type
=0x7FFFFFFF}
93 #define NBT_NAME_CLIENT ( 0x00 )
94 #define NBT_NAME_MS ( 0x01 )
95 #define NBT_NAME_USER ( 0x03 )
96 #define NBT_NAME_SERVER ( 0x20 )
97 #define NBT_NAME_PDC ( 0x1B )
98 #define NBT_NAME_LOGON ( 0x1C )
99 #define NBT_NAME_MASTER ( 0x1D )
100 #define NBT_NAME_BROWSER ( 0x1E )
107 enum nbt_name_type type
;
108 }/* [nopull,public,nopush] */;
111 #ifndef USE_UINT_ENUMS
116 { __donnot_use_enum_nbt_qclass
=0x7FFFFFFF}
117 #define NBT_QCLASS_IP ( 0x01 )
122 #ifndef USE_UINT_ENUMS
124 NBT_QTYPE_ADDRESS
=0x0001,
125 NBT_QTYPE_NAMESERVICE
=0x0002,
126 NBT_QTYPE_NULL
=0x000A,
127 NBT_QTYPE_NETBIOS
=0x0020,
128 NBT_QTYPE_STATUS
=0x0021
131 { __donnot_use_enum_nbt_qtype
=0x7FFFFFFF}
132 #define NBT_QTYPE_ADDRESS ( 0x0001 )
133 #define NBT_QTYPE_NAMESERVICE ( 0x0002 )
134 #define NBT_QTYPE_NULL ( 0x000A )
135 #define NBT_QTYPE_NETBIOS ( 0x0020 )
136 #define NBT_QTYPE_STATUS ( 0x0021 )
140 struct nbt_name_question
{
141 struct nbt_name name
;
142 enum nbt_qtype question_type
;
143 enum nbt_qclass question_class
;
147 #ifndef USE_UINT_ENUMS
155 { __donnot_use_enum_nbt_node_type
=0x7FFFFFFF}
156 #define NBT_NODE_B ( 0x0000 )
157 #define NBT_NODE_P ( 0x2000 )
158 #define NBT_NODE_M ( 0x4000 )
159 #define NBT_NODE_H ( 0x6000 )
163 /* bitmap nb_flags */
164 #define NBT_NM_PERMANENT ( 0x0200 )
165 #define NBT_NM_ACTIVE ( 0x0400 )
166 #define NBT_NM_CONFLICT ( 0x0800 )
167 #define NBT_NM_DEREGISTER ( 0x1000 )
168 #define NBT_NM_OWNER_TYPE ( 0x6000 )
169 #define NBT_NM_GROUP ( 0x8000 )
171 struct nbt_rdata_address
{
176 struct nbt_rdata_netbios
{
178 struct nbt_rdata_address
*addresses
;
181 struct nbt_statistics
{
185 uint16_t version_number
;
186 uint16_t period_of_statistics
;
187 uint16_t number_of_crcs
;
188 uint16_t number_alignment_errors
;
189 uint16_t number_of_collisions
;
190 uint16_t number_send_aborts
;
191 uint32_t number_good_sends
;
192 uint32_t number_good_receives
;
193 uint16_t number_retransmits
;
194 uint16_t number_no_resource_conditions
;
195 uint16_t number_free_command_blocks
;
196 uint16_t total_number_command_blocks
;
197 uint16_t max_total_number_command_blocks
;
198 uint16_t number_pending_sessions
;
199 uint16_t max_number_pending_sessions
;
200 uint16_t max_total_sessions_possible
;
201 uint16_t session_data_packet_size
;
204 struct nbt_status_name
{
205 const char *name
;/* [charset(DOS)] */
206 enum nbt_name_type type
;
210 struct nbt_rdata_status
{
211 uint16_t length
;/* [value(num_names*18+47)] */
213 struct nbt_status_name
*names
;
214 struct nbt_statistics statistics
;
217 struct nbt_rdata_data
{
223 struct nbt_rdata_netbios netbios
;/* [case(NBT_QTYPE_NETBIOS)] */
224 struct nbt_rdata_status status
;/* [case(NBT_QTYPE_STATUS)] */
225 struct nbt_rdata_data data
;/* [default] */
226 }/* [nodiscriminant,public] */;
229 struct nbt_name name
;
230 enum nbt_qtype rr_type
;
231 enum nbt_qclass rr_class
;
233 union nbt_rdata rdata
;/* [switch_is(rr_type)] */
234 }/* [nopush,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
236 struct nbt_name_packet
{
237 uint16_t name_trn_id
;
243 struct nbt_name_question
*questions
;
244 struct nbt_res_rec
*answers
;
245 struct nbt_res_rec
*nsrecs
;
246 struct nbt_res_rec
*additional
;
247 DATA_BLOB padding
;/* [flag(LIBNDR_FLAG_REMAINING)] */
248 }/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
251 #ifndef USE_UINT_ENUMS
253 DGRAM_DIRECT_UNIQUE
=0x10,
254 DGRAM_DIRECT_GROUP
=0x11,
258 DGRAM_QUERY_POSITIVE
=0x15,
259 DGRAM_QUERY_NEGATIVE
=0x16
262 { __donnot_use_enum_dgram_msg_type
=0x7FFFFFFF}
263 #define DGRAM_DIRECT_UNIQUE ( 0x10 )
264 #define DGRAM_DIRECT_GROUP ( 0x11 )
265 #define DGRAM_BCAST ( 0x12 )
266 #define DGRAM_ERROR ( 0x13 )
267 #define DGRAM_QUERY ( 0x14 )
268 #define DGRAM_QUERY_POSITIVE ( 0x15 )
269 #define DGRAM_QUERY_NEGATIVE ( 0x16 )
273 /* bitmap dgram_flags */
274 #define DGRAM_FLAG_MORE ( 0x01 )
275 #define DGRAM_FLAG_FIRST ( 0x02 )
276 #define DGRAM_FLAG_NODE_TYPE ( 0x0C )
279 #ifndef USE_UINT_ENUMS
287 { __donnot_use_enum_dgram_node_type
=0x7FFFFFFF}
288 #define DGRAM_NODE_B ( 0x00 )
289 #define DGRAM_NODE_P ( 0x04 )
290 #define DGRAM_NODE_M ( 0x08 )
291 #define DGRAM_NODE_NBDD ( 0x0C )
296 #ifndef USE_UINT_ENUMS
301 { __donnot_use_enum_smb_command
=0x7FFFFFFF}
302 #define SMB_TRANSACTION ( 0x25 )
306 struct smb_trans_body
{
307 uint8_t wct
;/* [value(17),range(17,17)] */
308 uint16_t total_param_count
;
309 uint16_t total_data_count
;
310 uint16_t max_param_count
;
311 uint16_t max_data_count
;
312 uint8_t max_setup_count
;
314 uint16_t trans_flags
;
317 uint16_t param_count
;
318 uint16_t param_offset
;
320 uint16_t data_offset
;
321 uint8_t setup_count
;/* [value(3),range(3,3)] */
326 uint16_t byte_count
;/* [value(strlen(mailslot_name)+1+data.length)] */
327 const char * mailslot_name
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
328 DATA_BLOB data
;/* [flag(LIBNDR_FLAG_REMAINING)] */
332 struct smb_trans_body trans
;/* [case(SMB_TRANSACTION)] */
333 }/* [nodiscriminant] */;
335 struct dgram_smb_packet
{
336 enum smb_command smb_command
;
343 uint8_t signature
[8];
349 union smb_body body
;/* [switch_is(smb_command)] */
350 }/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
352 union dgram_message_body
{
353 struct dgram_smb_packet smb
;/* [case(DGRAM_SMB)] */
354 }/* [nodiscriminant] */;
356 struct dgram_message
{
359 struct nbt_name source_name
;
360 struct nbt_name dest_name
;
361 uint32_t dgram_body_type
;
362 union dgram_message_body body
;/* [switch_is(dgram_body_type)] */
366 #ifndef USE_UINT_ENUMS
368 DGRAM_ERROR_NAME_NOT_PRESENT
=0x82,
369 DGRAM_ERROR_INVALID_SOURCE
=0x83,
370 DGRAM_ERROR_INVALID_DEST
=0x84
373 { __donnot_use_enum_dgram_err_code
=0x7FFFFFFF}
374 #define DGRAM_ERROR_NAME_NOT_PRESENT ( 0x82 )
375 #define DGRAM_ERROR_INVALID_SOURCE ( 0x83 )
376 #define DGRAM_ERROR_INVALID_DEST ( 0x84 )
381 struct dgram_message msg
;/* [case(DGRAM_DIRECT_UNIQUE)] */
382 enum dgram_err_code error
;/* [case(DGRAM_ERROR)] */
383 struct nbt_name dest_name
;/* [case(DGRAM_QUERY)] */
384 }/* [nodiscriminant] */;
386 struct nbt_dgram_packet
{
387 enum dgram_msg_type msg_type
;
390 const char * src_addr
;
392 union dgram_data data
;/* [switch_is(msg_type)] */
393 }/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
395 struct nbt_sockaddr
{
396 uint32_t sockaddr_family
;
397 const char * pdc_ip
;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
398 DATA_BLOB remaining
;/* [flag(LIBNDR_FLAG_REMAINING)] */
399 }/* [gensize,public] */;
401 /* bitmap nbt_server_type */
402 #define NBT_SERVER_PDC ( 0x00000001 )
403 #define NBT_SERVER_GC ( 0x00000004 )
404 #define NBT_SERVER_LDAP ( 0x00000008 )
405 #define NBT_SERVER_DS ( 0x00000010 )
406 #define NBT_SERVER_KDC ( 0x00000020 )
407 #define NBT_SERVER_TIMESERV ( 0x00000040 )
408 #define NBT_SERVER_CLOSEST ( 0x00000080 )
409 #define NBT_SERVER_WRITABLE ( 0x00000100 )
410 #define NBT_SERVER_GOOD_TIMESERV ( 0x00000200 )
411 #define NBT_SERVER_NDNC ( 0x00000400 )
412 #define NBT_SERVER_SELECT_SECRET_DOMAIN_6 ( 0x00000800 )
413 #define NBT_SERVER_FULL_SECRET_DOMAIN_6 ( 0x00001000 )
415 /* bitmap netlogon_nt_version_flags */
416 #define NETLOGON_NT_VERSION_1 ( 0x00000001 )
417 #define NETLOGON_NT_VERSION_5 ( 0x00000002 )
418 #define NETLOGON_NT_VERSION_5EX ( 0x00000004 )
419 #define NETLOGON_NT_VERSION_5EX_WITH_IP ( 0x00000008 )
420 #define NETLOGON_NT_VERSION_WITH_CLOSEST_SITE ( 0x00000010 )
421 #define NETLOGON_NT_VERSION_AVIOD_NT4EMUL ( 0x01000000 )
422 #define NETLOGON_NT_VERSION_PDC ( 0x10000000 )
423 #define NETLOGON_NT_VERSION_IP ( 0x20000000 )
424 #define NETLOGON_NT_VERSION_LOCAL ( 0x40000000 )
425 #define NETLOGON_NT_VERSION_GC ( 0x80000000 )
427 enum netlogon_command
428 #ifndef USE_UINT_ENUMS
430 LOGON_PRIMARY_QUERY
=7,
431 NETLOGON_ANNOUNCE_UAS
=10,
432 NETLOGON_RESPONSE_FROM_PDC
=12,
433 LOGON_SAM_LOGON_REQUEST
=18,
434 LOGON_SAM_LOGON_RESPONSE
=19,
435 LOGON_SAM_LOGON_PAUSE_RESPONSE
=20,
436 LOGON_SAM_LOGON_USER_UNKNOWN
=21,
437 LOGON_SAM_LOGON_RESPONSE_EX
=23,
438 LOGON_SAM_LOGON_PAUSE_RESPONSE_EX
=24,
439 LOGON_SAM_LOGON_USER_UNKNOWN_EX
=25
442 { __donnot_use_enum_netlogon_command
=0x7FFFFFFF}
443 #define LOGON_PRIMARY_QUERY ( 7 )
444 #define NETLOGON_ANNOUNCE_UAS ( 10 )
445 #define NETLOGON_RESPONSE_FROM_PDC ( 12 )
446 #define LOGON_SAM_LOGON_REQUEST ( 18 )
447 #define LOGON_SAM_LOGON_RESPONSE ( 19 )
448 #define LOGON_SAM_LOGON_PAUSE_RESPONSE ( 20 )
449 #define LOGON_SAM_LOGON_USER_UNKNOWN ( 21 )
450 #define LOGON_SAM_LOGON_RESPONSE_EX ( 23 )
451 #define LOGON_SAM_LOGON_PAUSE_RESPONSE_EX ( 24 )
452 #define LOGON_SAM_LOGON_USER_UNKNOWN_EX ( 25 )
456 struct NETLOGON_SAM_LOGON_REQUEST
{
457 uint16_t request_count
;
458 const char * computer_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
459 const char * user_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
460 const char * mailslot_name
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
461 uint32_t acct_control
;
462 uint32_t sid_size
;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */
463 DATA_BLOB _pad
;/* [flag(LIBNDR_FLAG_ALIGN4)] */
464 struct dom_sid0 sid
;/* [subcontext_size(sid_size),subcontext(0)] */
468 }/* [nopull,nopush] */;
470 struct NETLOGON_SAM_LOGON_RESPONSE_NT40
{
471 enum netlogon_command command
;
472 const char * server
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
473 const char * user_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
474 const char * domain
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
478 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
480 struct NETLOGON_SAM_LOGON_RESPONSE
{
481 enum netlogon_command command
;
482 const char * pdc_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
483 const char * user_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
484 const char * domain_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
485 struct GUID domain_uuid
;
486 struct GUID zero_uuid
;
488 const char * dns_domain
;
489 const char * pdc_dns_name
;
491 uint32_t server_type
;
495 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
497 struct NETLOGON_SAM_LOGON_RESPONSE_EX
{
498 enum netlogon_command command
;
500 uint32_t server_type
;
501 struct GUID domain_uuid
;
503 const char * dns_domain
;
504 const char * pdc_dns_name
;
506 const char * pdc_name
;
507 const char * user_name
;
508 const char * server_site
;
509 const char * client_site
;
510 uint8_t sockaddr_size
;/* [value(ndr_size_nbt_sockaddr(&sockaddr,ndr->iconv_convenience,ndr->flags))] */
511 struct nbt_sockaddr sockaddr
;/* [subcontext_size(sockaddr_size),subcontext(0)] */
512 const char * next_closest_site
;
516 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
518 struct nbt_netlogon_query_for_pdc
{
519 const char * computer_name
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
520 const char * mailslot_name
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
521 DATA_BLOB _pad
;/* [flag(LIBNDR_FLAG_ALIGN2)] */
522 const char * unicode_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
528 struct nbt_netlogon_response_from_pdc
{
529 enum netlogon_command command
;
530 const char * pdc_name
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
531 DATA_BLOB _pad
;/* [flag(LIBNDR_FLAG_ALIGN2)] */
532 const char * unicode_pdc_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
533 const char * domain_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
537 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
539 struct nbt_db_change_info
{
540 enum netr_SamDatabaseID db_index
;
545 struct NETLOGON_DB_CHANGE
{
550 const char * pdc_name
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
551 const char * domain
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
552 DATA_BLOB _pad
;/* [flag(LIBNDR_FLAG_ALIGN2)] */
553 const char * unicode_pdc_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
554 const char * unicode_domain
;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
556 struct nbt_db_change_info
*dbchange
;
557 uint32_t sid_size
;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */
558 struct dom_sid0 sid
;/* [subcontext_size(sid_size),subcontext(0)] */
559 uint32_t message_format_version
;
560 uint32_t message_token
;
563 union nbt_netlogon_request
{
564 struct NETLOGON_SAM_LOGON_REQUEST logon
;/* [case(LOGON_SAM_LOGON_REQUEST)] */
565 struct nbt_netlogon_query_for_pdc pdc
;/* [case(LOGON_PRIMARY_QUERY)] */
566 struct NETLOGON_DB_CHANGE uas
;/* [case(NETLOGON_ANNOUNCE_UAS)] */
567 }/* [nodiscriminant] */;
569 struct nbt_netlogon_packet
{
570 enum netlogon_command command
;
571 union nbt_netlogon_request req
;/* [switch_is(command)] */
572 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
574 enum nbt_browse_opcode
575 #ifndef USE_UINT_ENUMS
578 AnnouncementRequest
=2,
581 GetBackupListResp
=10,
583 DomainAnnouncement
=12,
584 MasterAnnouncement
=13,
585 ResetBrowserState
=14,
586 LocalMasterAnnouncement
=15
589 { __donnot_use_enum_nbt_browse_opcode
=0x7FFFFFFF}
590 #define HostAnnouncement ( 1 )
591 #define AnnouncementRequest ( 2 )
592 #define Election ( 8 )
593 #define GetBackupListReq ( 9 )
594 #define GetBackupListResp ( 10 )
595 #define BecomeBackup ( 11 )
596 #define DomainAnnouncement ( 12 )
597 #define MasterAnnouncement ( 13 )
598 #define ResetBrowserState ( 14 )
599 #define LocalMasterAnnouncement ( 15 )
603 struct nbt_browse_host_announcement
{
605 uint32_t Periodicity
;
606 const char *ServerName
;/* [charset(DOS)] */
613 const char * Comment
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
616 struct nbt_browse_announcement_request
{
618 const char * ResponseName
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
621 struct nbt_browse_election_request
{
626 const char * ServerName
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
629 struct nbt_browse_backup_list_request
{
634 struct nbt_browse_backup_list_response
{
637 struct nbt_name
*BackupServerList
;
640 struct nbt_browse_become_backup
{
641 const char * BrowserName
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
644 struct nbt_browse_domain_announcement
{
646 uint32_t Periodicity
;
647 const char *ServerName
;/* [charset(DOS)] */
651 uint32_t MysteriousField
;
652 const char * Comment
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
655 struct nbt_browse_master_announcement
{
656 const char * ServerName
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
659 struct nbt_browse_reset_state
{
663 struct nbt_browse_local_master_announcement
{
665 uint32_t Periodicity
;
666 const char *ServerName
;/* [charset(DOS)] */
673 const char * Comment
;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
676 union nbt_browse_payload
{
677 struct nbt_browse_host_announcement host_annoucement
;/* [case(HostAnnouncement)] */
678 struct nbt_browse_announcement_request announcement_request
;/* [case(AnnouncementRequest)] */
679 struct nbt_browse_election_request election_request
;/* [case(Election)] */
680 struct nbt_browse_backup_list_request backup_list_request
;/* [case(GetBackupListReq)] */
681 struct nbt_browse_backup_list_response backup_list_response
;/* [case(GetBackupListResp)] */
682 struct nbt_browse_become_backup become_backup
;/* [case(BecomeBackup)] */
683 struct nbt_browse_domain_announcement domain_announcement
;/* [case(DomainAnnouncement)] */
684 struct nbt_browse_master_announcement master_announcement
;/* [case(MasterAnnouncement)] */
685 struct nbt_browse_reset_state reset_browser_state
;/* [case(ResetBrowserState)] */
686 struct nbt_browse_local_master_announcement local_master_announcement
;/* [case(LocalMasterAnnouncement)] */
687 }/* [nodiscriminant] */;
689 struct nbt_browse_packet
{
690 enum nbt_browse_opcode opcode
;
691 union nbt_browse_payload payload
;/* [switch_is(opcode)] */
692 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
694 #endif /* _HEADER_nbt */