• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.5.8/librpc/gen_ndr/
1/* header auto-generated by pidl */
2
3#include <stdint.h>
4
5#include "libcli/util/ntstatus.h"
6
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"
11#ifndef _HEADER_nbt
12#define _HEADER_nbt
13
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 )
30
31enum nbt_opcode
32#ifndef USE_UINT_ENUMS
33 {
34	NBT_OPCODE_QUERY=(int)((0x0<<11)),
35	NBT_OPCODE_REGISTER=(int)((0x5<<11)),
36	NBT_OPCODE_RELEASE=(int)((0x6<<11)),
37	NBT_OPCODE_WACK=(int)((0x7<<11)),
38	NBT_OPCODE_REFRESH=(int)((0x8<<11)),
39	NBT_OPCODE_REFRESH2=(int)((0x9<<11)),
40	NBT_OPCODE_MULTI_HOME_REG=(int)((0xf<<11))
41}
42#else
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) )
51#endif
52;
53
54enum nbt_rcode
55#ifndef USE_UINT_ENUMS
56 {
57	NBT_RCODE_OK=(int)(0x0),
58	NBT_RCODE_FMT=(int)(0x1),
59	NBT_RCODE_SVR=(int)(0x2),
60	NBT_RCODE_NAM=(int)(0x3),
61	NBT_RCODE_IMP=(int)(0x4),
62	NBT_RCODE_RFS=(int)(0x5),
63	NBT_RCODE_ACT=(int)(0x6),
64	NBT_RCODE_CFT=(int)(0x7)
65}
66#else
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 )
76#endif
77;
78
79enum nbt_name_type
80#ifndef USE_UINT_ENUMS
81 {
82	NBT_NAME_CLIENT=(int)(0x00),
83	NBT_NAME_MS=(int)(0x01),
84	NBT_NAME_USER=(int)(0x03),
85	NBT_NAME_SERVER=(int)(0x20),
86	NBT_NAME_PDC=(int)(0x1B),
87	NBT_NAME_LOGON=(int)(0x1C),
88	NBT_NAME_MASTER=(int)(0x1D),
89	NBT_NAME_BROWSER=(int)(0x1E)
90}
91#else
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 )
101#endif
102;
103
104struct nbt_name {
105	const char * name;
106	const char * scope;
107	enum nbt_name_type type;
108}/* [nopull,public,nopush] */;
109
110enum nbt_qclass
111#ifndef USE_UINT_ENUMS
112 {
113	NBT_QCLASS_IP=(int)(0x01)
114}
115#else
116 { __donnot_use_enum_nbt_qclass=0x7FFFFFFF}
117#define NBT_QCLASS_IP ( 0x01 )
118#endif
119;
120
121enum nbt_qtype
122#ifndef USE_UINT_ENUMS
123 {
124	NBT_QTYPE_ADDRESS=(int)(0x0001),
125	NBT_QTYPE_NAMESERVICE=(int)(0x0002),
126	NBT_QTYPE_NULL=(int)(0x000A),
127	NBT_QTYPE_NETBIOS=(int)(0x0020),
128	NBT_QTYPE_STATUS=(int)(0x0021)
129}
130#else
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 )
137#endif
138;
139
140struct nbt_name_question {
141	struct nbt_name name;
142	enum nbt_qtype question_type;
143	enum nbt_qclass question_class;
144};
145
146enum nbt_node_type
147#ifndef USE_UINT_ENUMS
148 {
149	NBT_NODE_B=(int)(0x0000),
150	NBT_NODE_P=(int)(0x2000),
151	NBT_NODE_M=(int)(0x4000),
152	NBT_NODE_H=(int)(0x6000)
153}
154#else
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 )
160#endif
161;
162
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 )
170
171struct nbt_rdata_address {
172	uint16_t nb_flags;
173	const char * ipaddr;
174};
175
176struct nbt_rdata_netbios {
177	uint16_t length;
178	struct nbt_rdata_address *addresses;
179};
180
181struct nbt_statistics {
182	uint8_t unit_id[6];
183	uint8_t jumpers;
184	uint8_t test_result;
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;
202};
203
204struct nbt_status_name {
205	const char *name;/* [charset(DOS)] */
206	enum nbt_name_type type;
207	uint16_t nb_flags;
208};
209
210struct nbt_rdata_status {
211	uint16_t length;/* [value(num_names*18+47)] */
212	uint8_t num_names;
213	struct nbt_status_name *names;
214	struct nbt_statistics statistics;
215};
216
217struct nbt_rdata_data {
218	uint16_t length;
219	uint8_t *data;
220};
221
222union nbt_rdata {
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] */;
227
228struct nbt_res_rec {
229	struct nbt_name name;
230	enum nbt_qtype rr_type;
231	enum nbt_qclass rr_class;
232	uint32_t ttl;
233	union nbt_rdata rdata;/* [switch_is(rr_type)] */
234}/* [nopush,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
235
236struct nbt_name_packet {
237	uint16_t name_trn_id;
238	uint16_t operation;
239	uint16_t qdcount;
240	uint16_t ancount;
241	uint16_t nscount;
242	uint16_t arcount;
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)] */;
249
250enum dgram_msg_type
251#ifndef USE_UINT_ENUMS
252 {
253	DGRAM_DIRECT_UNIQUE=(int)(0x10),
254	DGRAM_DIRECT_GROUP=(int)(0x11),
255	DGRAM_BCAST=(int)(0x12),
256	DGRAM_ERROR=(int)(0x13),
257	DGRAM_QUERY=(int)(0x14),
258	DGRAM_QUERY_POSITIVE=(int)(0x15),
259	DGRAM_QUERY_NEGATIVE=(int)(0x16)
260}
261#else
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 )
270#endif
271;
272
273/* bitmap dgram_flags */
274#define DGRAM_FLAG_MORE ( 0x01 )
275#define DGRAM_FLAG_FIRST ( 0x02 )
276#define DGRAM_FLAG_NODE_TYPE ( 0x0C )
277
278enum dgram_node_type
279#ifndef USE_UINT_ENUMS
280 {
281	DGRAM_NODE_B=(int)(0x00),
282	DGRAM_NODE_P=(int)(0x04),
283	DGRAM_NODE_M=(int)(0x08),
284	DGRAM_NODE_NBDD=(int)(0x0C)
285}
286#else
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 )
292#endif
293;
294
295enum smb_command
296#ifndef USE_UINT_ENUMS
297 {
298	SMB_TRANSACTION=(int)(0x25)
299}
300#else
301 { __donnot_use_enum_smb_command=0x7FFFFFFF}
302#define SMB_TRANSACTION ( 0x25 )
303#endif
304;
305
306struct 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;
313	uint8_t pad;
314	uint16_t trans_flags;
315	uint32_t timeout;
316	uint16_t reserved;
317	uint16_t param_count;
318	uint16_t param_offset;
319	uint16_t data_count;
320	uint16_t data_offset;
321	uint8_t setup_count;/* [value(3),range(3,3)] */
322	uint8_t pad2;
323	uint16_t opcode;
324	uint16_t priority;
325	uint16_t _class;
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)] */
329};
330
331union smb_body {
332	struct smb_trans_body trans;/* [case(SMB_TRANSACTION)] */
333}/* [nodiscriminant] */;
334
335struct dgram_smb_packet {
336	enum smb_command smb_command;
337	uint8_t err_class;
338	uint8_t pad;
339	uint16_t err_code;
340	uint8_t flags;
341	uint16_t flags2;
342	uint16_t pid_high;
343	uint8_t signature[8];
344	uint16_t reserved;
345	uint16_t tid;
346	uint16_t pid;
347	uint16_t vuid;
348	uint16_t mid;
349	union smb_body body;/* [switch_is(smb_command)] */
350}/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
351
352union dgram_message_body {
353	struct dgram_smb_packet smb;/* [case(DGRAM_SMB)] */
354}/* [nodiscriminant] */;
355
356struct dgram_message {
357	uint16_t length;
358	uint16_t offset;
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)] */
363};
364
365enum dgram_err_code
366#ifndef USE_UINT_ENUMS
367 {
368	DGRAM_ERROR_NAME_NOT_PRESENT=(int)(0x82),
369	DGRAM_ERROR_INVALID_SOURCE=(int)(0x83),
370	DGRAM_ERROR_INVALID_DEST=(int)(0x84)
371}
372#else
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 )
377#endif
378;
379
380union dgram_data {
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] */;
385
386struct nbt_dgram_packet {
387	enum dgram_msg_type msg_type;
388	uint8_t flags;
389	uint16_t dgram_id;
390	const char * src_addr;
391	uint16_t src_port;
392	union dgram_data data;/* [switch_is(msg_type)] */
393}/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
394
395struct 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] */;
400
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 )
414#define NBT_SERVER_DNS_FOREST ( 0x01000000 )
415
416/* bitmap netlogon_nt_version_flags */
417#define NETLOGON_NT_VERSION_1 ( 0x00000001 )
418#define NETLOGON_NT_VERSION_5 ( 0x00000002 )
419#define NETLOGON_NT_VERSION_5EX ( 0x00000004 )
420#define NETLOGON_NT_VERSION_5EX_WITH_IP ( 0x00000008 )
421#define NETLOGON_NT_VERSION_WITH_CLOSEST_SITE ( 0x00000010 )
422#define NETLOGON_NT_VERSION_AVIOD_NT4EMUL ( 0x01000000 )
423#define NETLOGON_NT_VERSION_PDC ( 0x10000000 )
424#define NETLOGON_NT_VERSION_IP ( 0x20000000 )
425#define NETLOGON_NT_VERSION_LOCAL ( 0x40000000 )
426#define NETLOGON_NT_VERSION_GC ( 0x80000000 )
427
428enum netlogon_command
429#ifndef USE_UINT_ENUMS
430 {
431	LOGON_PRIMARY_QUERY=(int)(7),
432	NETLOGON_ANNOUNCE_UAS=(int)(10),
433	NETLOGON_RESPONSE_FROM_PDC=(int)(12),
434	LOGON_SAM_LOGON_REQUEST=(int)(18),
435	LOGON_SAM_LOGON_RESPONSE=(int)(19),
436	LOGON_SAM_LOGON_PAUSE_RESPONSE=(int)(20),
437	LOGON_SAM_LOGON_USER_UNKNOWN=(int)(21),
438	LOGON_SAM_LOGON_RESPONSE_EX=(int)(23),
439	LOGON_SAM_LOGON_PAUSE_RESPONSE_EX=(int)(24),
440	LOGON_SAM_LOGON_USER_UNKNOWN_EX=(int)(25)
441}
442#else
443 { __donnot_use_enum_netlogon_command=0x7FFFFFFF}
444#define LOGON_PRIMARY_QUERY ( 7 )
445#define NETLOGON_ANNOUNCE_UAS ( 10 )
446#define NETLOGON_RESPONSE_FROM_PDC ( 12 )
447#define LOGON_SAM_LOGON_REQUEST ( 18 )
448#define LOGON_SAM_LOGON_RESPONSE ( 19 )
449#define LOGON_SAM_LOGON_PAUSE_RESPONSE ( 20 )
450#define LOGON_SAM_LOGON_USER_UNKNOWN ( 21 )
451#define LOGON_SAM_LOGON_RESPONSE_EX ( 23 )
452#define LOGON_SAM_LOGON_PAUSE_RESPONSE_EX ( 24 )
453#define LOGON_SAM_LOGON_USER_UNKNOWN_EX ( 25 )
454#endif
455;
456
457struct NETLOGON_SAM_LOGON_REQUEST {
458	uint16_t request_count;
459	const char * computer_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
460	const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
461	const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
462	uint32_t acct_control;
463	uint32_t sid_size;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */
464	DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
465	struct dom_sid0 sid;/* [subcontext_size(sid_size),subcontext(0)] */
466	uint32_t nt_version;
467	uint16_t lmnt_token;
468	uint16_t lm20_token;
469}/* [nopull,nopush] */;
470
471struct NETLOGON_SAM_LOGON_RESPONSE_NT40 {
472	enum netlogon_command command;
473	const char * server;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
474	const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
475	const char * domain;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
476	uint32_t nt_version;
477	uint16_t lmnt_token;
478	uint16_t lm20_token;
479}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
480
481struct NETLOGON_SAM_LOGON_RESPONSE {
482	enum netlogon_command command;
483	const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
484	const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
485	const char * domain_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
486	struct GUID domain_uuid;
487	struct GUID zero_uuid;
488	const char * forest;
489	const char * dns_domain;
490	const char * pdc_dns_name;
491	const char * pdc_ip;
492	uint32_t server_type;
493	uint32_t nt_version;
494	uint16_t lmnt_token;
495	uint16_t lm20_token;
496}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
497
498struct NETLOGON_SAM_LOGON_RESPONSE_EX {
499	enum netlogon_command command;
500	uint16_t sbz;
501	uint32_t server_type;
502	struct GUID domain_uuid;
503	const char * forest;
504	const char * dns_domain;
505	const char * pdc_dns_name;
506	const char * domain;
507	const char * pdc_name;
508	const char * user_name;
509	const char * server_site;
510	const char * client_site;
511	uint8_t sockaddr_size;/* [value(ndr_size_nbt_sockaddr(&sockaddr,ndr->iconv_convenience,ndr->flags))] */
512	struct nbt_sockaddr sockaddr;/* [subcontext_size(sockaddr_size),subcontext(0)] */
513	const char * next_closest_site;
514	uint32_t nt_version;
515	uint16_t lmnt_token;
516	uint16_t lm20_token;
517}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
518
519struct nbt_netlogon_query_for_pdc {
520	const char * computer_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
521	const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
522	DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */
523	const char * unicode_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
524	uint32_t nt_version;
525	uint16_t lmnt_token;
526	uint16_t lm20_token;
527};
528
529struct nbt_netlogon_response_from_pdc {
530	enum netlogon_command command;
531	const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
532	DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */
533	const char * unicode_pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
534	const char * domain_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
535	uint32_t nt_version;
536	uint16_t lmnt_token;
537	uint16_t lm20_token;
538}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
539
540struct nbt_db_change_info {
541	enum netr_SamDatabaseID db_index;
542	uint64_t serial;
543	NTTIME timestamp;
544};
545
546struct NETLOGON_DB_CHANGE {
547	uint32_t serial_lo;
548	time_t timestamp;
549	uint32_t pulse;
550	uint32_t random;
551	const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
552	const char * domain;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
553	DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */
554	const char * unicode_pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
555	const char * unicode_domain;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
556	uint32_t db_count;
557	struct nbt_db_change_info *dbchange;
558	uint32_t sid_size;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */
559	struct dom_sid0 sid;/* [subcontext_size(sid_size),subcontext(0)] */
560	uint32_t message_format_version;
561	uint32_t message_token;
562};
563
564union nbt_netlogon_request {
565	struct NETLOGON_SAM_LOGON_REQUEST logon;/* [case(LOGON_SAM_LOGON_REQUEST)] */
566	struct nbt_netlogon_query_for_pdc pdc;/* [case(LOGON_PRIMARY_QUERY)] */
567	struct NETLOGON_DB_CHANGE uas;/* [case(NETLOGON_ANNOUNCE_UAS)] */
568}/* [nodiscriminant] */;
569
570struct nbt_netlogon_packet {
571	enum netlogon_command command;
572	union nbt_netlogon_request req;/* [switch_is(command)] */
573}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
574
575enum nbt_browse_opcode
576#ifndef USE_UINT_ENUMS
577 {
578	HostAnnouncement=(int)(1),
579	AnnouncementRequest=(int)(2),
580	Election=(int)(8),
581	GetBackupListReq=(int)(9),
582	GetBackupListResp=(int)(10),
583	BecomeBackup=(int)(11),
584	DomainAnnouncement=(int)(12),
585	MasterAnnouncement=(int)(13),
586	ResetBrowserState=(int)(14),
587	LocalMasterAnnouncement=(int)(15)
588}
589#else
590 { __donnot_use_enum_nbt_browse_opcode=0x7FFFFFFF}
591#define HostAnnouncement ( 1 )
592#define AnnouncementRequest ( 2 )
593#define Election ( 8 )
594#define GetBackupListReq ( 9 )
595#define GetBackupListResp ( 10 )
596#define BecomeBackup ( 11 )
597#define DomainAnnouncement ( 12 )
598#define MasterAnnouncement ( 13 )
599#define ResetBrowserState ( 14 )
600#define LocalMasterAnnouncement ( 15 )
601#endif
602;
603
604struct nbt_browse_host_announcement {
605	uint8_t UpdateCount;
606	uint32_t Periodicity;
607	const char *ServerName;/* [charset(DOS)] */
608	uint8_t OSMajor;
609	uint8_t OSMinor;
610	uint32_t ServerType;
611	uint8_t BroMajorVer;
612	uint8_t BroMinorVer;
613	uint16_t Signature;
614	const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
615};
616
617struct nbt_browse_announcement_request {
618	uint8_t Unused;
619	const char * ResponseName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
620};
621
622struct nbt_browse_election_request {
623	uint8_t Version;
624	uint32_t Criteria;
625	uint32_t UpTime;
626	uint32_t Reserved;
627	const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
628};
629
630struct nbt_browse_backup_list_request {
631	uint8_t ReqCount;
632	uint32_t Token;
633};
634
635struct nbt_browse_backup_list_response {
636	uint8_t BackupCount;
637	uint32_t Token;
638	struct nbt_name *BackupServerList;
639};
640
641struct nbt_browse_become_backup {
642	const char * BrowserName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
643};
644
645struct nbt_browse_domain_announcement {
646	uint8_t UpdateCount;
647	uint32_t Periodicity;
648	const char *ServerName;/* [charset(DOS)] */
649	uint8_t OSMajor;
650	uint8_t OSMinor;
651	uint32_t ServerType;
652	uint32_t MysteriousField;
653	const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
654};
655
656struct nbt_browse_master_announcement {
657	const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
658};
659
660struct nbt_browse_reset_state {
661	uint8_t Command;
662};
663
664struct nbt_browse_local_master_announcement {
665	uint8_t UpdateCount;
666	uint32_t Periodicity;
667	const char *ServerName;/* [charset(DOS)] */
668	uint8_t OSMajor;
669	uint8_t OSMinor;
670	uint32_t ServerType;
671	uint8_t BroMajorVer;
672	uint8_t BroMinorVer;
673	uint16_t Signature;
674	const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
675};
676
677union nbt_browse_payload {
678	struct nbt_browse_host_announcement host_annoucement;/* [case(HostAnnouncement)] */
679	struct nbt_browse_announcement_request announcement_request;/* [case(AnnouncementRequest)] */
680	struct nbt_browse_election_request election_request;/* [case(Election)] */
681	struct nbt_browse_backup_list_request backup_list_request;/* [case(GetBackupListReq)] */
682	struct nbt_browse_backup_list_response backup_list_response;/* [case(GetBackupListResp)] */
683	struct nbt_browse_become_backup become_backup;/* [case(BecomeBackup)] */
684	struct nbt_browse_domain_announcement domain_announcement;/* [case(DomainAnnouncement)] */
685	struct nbt_browse_master_announcement master_announcement;/* [case(MasterAnnouncement)] */
686	struct nbt_browse_reset_state reset_browser_state;/* [case(ResetBrowserState)] */
687	struct nbt_browse_local_master_announcement local_master_announcement;/* [case(LocalMasterAnnouncement)] */
688}/* [nodiscriminant] */;
689
690struct nbt_browse_packet {
691	enum nbt_browse_opcode opcode;
692	union nbt_browse_payload payload;/* [switch_is(opcode)] */
693}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
694
695#endif /* _HEADER_nbt */
696