s3: We only need base_name in map_open_params_to_ntcreate
[Samba.git] / librpc / gen_ndr / nbt.h
blob31ea414d6013204b00a59f51f4f56efe0a8305bd
1 /* header auto-generated by pidl */
3 #include <stdint.h>
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"
11 #ifndef _HEADER_nbt
12 #define _HEADER_nbt
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 )
31 enum nbt_opcode
32 #ifndef USE_UINT_ENUMS
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))
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
54 enum nbt_rcode
55 #ifndef USE_UINT_ENUMS
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)
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
79 enum nbt_name_type
80 #ifndef USE_UINT_ENUMS
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)
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
104 struct nbt_name {
105 const char * name;
106 const char * scope;
107 enum nbt_name_type type;
108 }/* [nopull,public,nopush] */;
110 enum nbt_qclass
111 #ifndef USE_UINT_ENUMS
113 NBT_QCLASS_IP=(int)(0x01)
115 #else
116 { __donnot_use_enum_nbt_qclass=0x7FFFFFFF}
117 #define NBT_QCLASS_IP ( 0x01 )
118 #endif
121 enum nbt_qtype
122 #ifndef USE_UINT_ENUMS
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)
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
140 struct nbt_name_question {
141 struct nbt_name name;
142 enum nbt_qtype question_type;
143 enum nbt_qclass question_class;
146 enum nbt_node_type
147 #ifndef USE_UINT_ENUMS
149 NBT_NODE_B=(int)(0x0000),
150 NBT_NODE_P=(int)(0x2000),
151 NBT_NODE_M=(int)(0x4000),
152 NBT_NODE_H=(int)(0x6000)
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
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 {
172 uint16_t nb_flags;
173 const char * ipaddr;
176 struct nbt_rdata_netbios {
177 uint16_t length;
178 struct nbt_rdata_address *addresses;
181 struct 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;
204 struct nbt_status_name {
205 const char *name;/* [charset(DOS)] */
206 enum nbt_name_type type;
207 uint16_t nb_flags;
210 struct 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;
217 struct nbt_rdata_data {
218 uint16_t length;
219 uint8_t *data;
222 union 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] */;
228 struct 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)] */;
236 struct 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)] */;
250 enum dgram_msg_type
251 #ifndef USE_UINT_ENUMS
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)
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
273 /* bitmap dgram_flags */
274 #define DGRAM_FLAG_MORE ( 0x01 )
275 #define DGRAM_FLAG_FIRST ( 0x02 )
276 #define DGRAM_FLAG_NODE_TYPE ( 0x0C )
278 enum dgram_node_type
279 #ifndef USE_UINT_ENUMS
281 DGRAM_NODE_B=(int)(0x00),
282 DGRAM_NODE_P=(int)(0x04),
283 DGRAM_NODE_M=(int)(0x08),
284 DGRAM_NODE_NBDD=(int)(0x0C)
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
295 enum smb_command
296 #ifndef USE_UINT_ENUMS
298 SMB_TRANSACTION=(int)(0x25)
300 #else
301 { __donnot_use_enum_smb_command=0x7FFFFFFF}
302 #define SMB_TRANSACTION ( 0x25 )
303 #endif
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;
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)] */
331 union smb_body {
332 struct smb_trans_body trans;/* [case(SMB_TRANSACTION)] */
333 }/* [nodiscriminant] */;
335 struct 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)] */;
352 union dgram_message_body {
353 struct dgram_smb_packet smb;/* [case(DGRAM_SMB)] */
354 }/* [nodiscriminant] */;
356 struct 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)] */
365 enum dgram_err_code
366 #ifndef USE_UINT_ENUMS
368 DGRAM_ERROR_NAME_NOT_PRESENT=(int)(0x82),
369 DGRAM_ERROR_INVALID_SOURCE=(int)(0x83),
370 DGRAM_ERROR_INVALID_DEST=(int)(0x84)
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
380 union 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] */;
386 struct 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)] */;
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 )
414 #define NBT_SERVER_DNS_FOREST ( 0x01000000 )
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 )
428 enum netlogon_command
429 #ifndef USE_UINT_ENUMS
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)
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
457 struct 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] */;
471 struct 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)] */;
481 struct 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)] */;
498 struct 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)] */;
519 struct 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;
529 struct 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)] */;
540 struct nbt_db_change_info {
541 enum netr_SamDatabaseID db_index;
542 uint64_t serial;
543 NTTIME timestamp;
546 struct 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;
564 union 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] */;
570 struct nbt_netlogon_packet {
571 enum netlogon_command command;
572 union nbt_netlogon_request req;/* [switch_is(command)] */
573 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
575 enum nbt_browse_opcode
576 #ifndef USE_UINT_ENUMS
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)
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
604 struct 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)] */
617 struct nbt_browse_announcement_request {
618 uint8_t Unused;
619 const char * ResponseName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
622 struct 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)] */
630 struct nbt_browse_backup_list_request {
631 uint8_t ReqCount;
632 uint32_t Token;
635 struct nbt_browse_backup_list_response {
636 uint8_t BackupCount;
637 uint32_t Token;
638 struct nbt_name *BackupServerList;
641 struct nbt_browse_become_backup {
642 const char * BrowserName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
645 struct 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)] */
656 struct nbt_browse_master_announcement {
657 const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
660 struct nbt_browse_reset_state {
661 uint8_t Command;
664 struct 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)] */
677 union 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] */;
690 struct nbt_browse_packet {
691 enum nbt_browse_opcode opcode;
692 union nbt_browse_payload payload;/* [switch_is(opcode)] */
693 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
695 #endif /* _HEADER_nbt */