source: branches/samba-3.2.x/source/librpc/gen_ndr/nbt.h

Last change on this file was 137, checked in by Paul Smedley, 17 years ago

Update trunk to 3.2.0rc2

File size: 23.3 KB
Line 
1/* header auto-generated by pidl */
2
3#include <stdint.h>
4
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"
9#ifndef _HEADER_nbt
10#define _HEADER_nbt
11
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 )
28
29enum nbt_opcode
30#ifndef USE_UINT_ENUMS
31 {
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)
39}
40#else
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) )
49#endif
50;
51
52enum nbt_rcode
53#ifndef USE_UINT_ENUMS
54 {
55 NBT_RCODE_OK=0x0,
56 NBT_RCODE_FMT=0x1,
57 NBT_RCODE_SVR=0x2,
58 NBT_RCODE_NAM=0x3,
59 NBT_RCODE_IMP=0x4,
60 NBT_RCODE_RFS=0x5,
61 NBT_RCODE_ACT=0x6,
62 NBT_RCODE_CFT=0x7
63}
64#else
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 )
74#endif
75;
76
77enum nbt_name_type
78#ifndef USE_UINT_ENUMS
79 {
80 NBT_NAME_CLIENT=0x00,
81 NBT_NAME_MS=0x01,
82 NBT_NAME_USER=0x03,
83 NBT_NAME_SERVER=0x20,
84 NBT_NAME_PDC=0x1B,
85 NBT_NAME_LOGON=0x1C,
86 NBT_NAME_MASTER=0x1D,
87 NBT_NAME_BROWSER=0x1E
88}
89#else
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 )
99#endif
100;
101
102struct nbt_name {
103 const char * name;
104 const char * scope;
105 enum nbt_name_type type;
106}/* [nopull,public,nopush] */;
107
108enum nbt_qclass
109#ifndef USE_UINT_ENUMS
110 {
111 NBT_QCLASS_IP=0x01
112}
113#else
114 { __donnot_use_enum_nbt_qclass=0x7FFFFFFF}
115#define NBT_QCLASS_IP ( 0x01 )
116#endif
117;
118
119enum nbt_qtype
120#ifndef USE_UINT_ENUMS
121 {
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
127}
128#else
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 )
135#endif
136;
137
138struct nbt_name_question {
139 struct nbt_name name;
140 enum nbt_qtype question_type;
141 enum nbt_qclass question_class;
142};
143
144enum nbt_node_type
145#ifndef USE_UINT_ENUMS
146 {
147 NBT_NODE_B=0x0000,
148 NBT_NODE_P=0x2000,
149 NBT_NODE_M=0x4000,
150 NBT_NODE_H=0x6000
151}
152#else
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 )
158#endif
159;
160
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 )
168
169struct nbt_rdata_address {
170 uint16_t nb_flags;
171 const char * ipaddr;
172};
173
174struct nbt_rdata_netbios {
175 uint16_t length;
176 struct nbt_rdata_address *addresses;
177};
178
179struct nbt_statistics {
180 uint8_t unit_id[6];
181 uint8_t jumpers;
182 uint8_t test_result;
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;
200};
201
202struct nbt_status_name {
203 const char *name;/* [charset(DOS)] */
204 enum nbt_name_type type;
205 uint16_t nb_flags;
206};
207
208struct nbt_rdata_status {
209 uint16_t length;/* [value(num_names*18+47)] */
210 uint8_t num_names;
211 struct nbt_status_name *names;
212 struct nbt_statistics statistics;
213};
214
215struct nbt_rdata_data {
216 uint16_t length;
217 uint8_t *data;
218};
219
220union nbt_rdata {
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] */;
225
226struct nbt_res_rec {
227 struct nbt_name name;
228 enum nbt_qtype rr_type;
229 enum nbt_qclass rr_class;
230 uint32_t ttl;
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)] */;
233
234struct nbt_name_packet {
235 uint16_t name_trn_id;
236 uint16_t operation;
237 uint16_t qdcount;
238 uint16_t ancount;
239 uint16_t nscount;
240 uint16_t arcount;
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)] */;
247
248enum dgram_msg_type
249#ifndef USE_UINT_ENUMS
250 {
251 DGRAM_DIRECT_UNIQUE=0x10,
252 DGRAM_DIRECT_GROUP=0x11,
253 DGRAM_BCAST=0x12,
254 DGRAM_ERROR=0x13,
255 DGRAM_QUERY=0x14,
256 DGRAM_QUERY_POSITIVE=0x15,
257 DGRAM_QUERY_NEGATIVE=0x16
258}
259#else
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 )
268#endif
269;
270
271/* bitmap dgram_flags */
272#define DGRAM_FLAG_MORE ( 0x01 )
273#define DGRAM_FLAG_FIRST ( 0x02 )
274#define DGRAM_FLAG_NODE_TYPE ( 0x0C )
275
276enum dgram_node_type
277#ifndef USE_UINT_ENUMS
278 {
279 DGRAM_NODE_B=0x00,
280 DGRAM_NODE_P=0x04,
281 DGRAM_NODE_M=0x08,
282 DGRAM_NODE_NBDD=0x0C
283}
284#else
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 )
290#endif
291;
292
293enum smb_command
294#ifndef USE_UINT_ENUMS
295 {
296 SMB_TRANSACTION=0x25
297}
298#else
299 { __donnot_use_enum_smb_command=0x7FFFFFFF}
300#define SMB_TRANSACTION ( 0x25 )
301#endif
302;
303
304struct 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;
311 uint8_t pad;
312 uint16_t trans_flags;
313 uint32_t timeout;
314 uint16_t reserved;
315 uint16_t param_count;
316 uint16_t param_offset;
317 uint16_t data_count;
318 uint16_t data_offset;
319 uint8_t setup_count;/* [value(3),range(3,3)] */
320 uint8_t pad2;
321 uint16_t opcode;
322 uint16_t priority;
323 uint16_t _class;
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)] */
327};
328
329union smb_body {
330 struct smb_trans_body trans;/* [case(SMB_TRANSACTION)] */
331}/* [nodiscriminant] */;
332
333struct dgram_smb_packet {
334 enum smb_command smb_command;
335 uint8_t err_class;
336 uint8_t pad;
337 uint16_t err_code;
338 uint8_t flags;
339 uint16_t flags2;
340 uint16_t pid_high;
341 uint8_t signature[8];
342 uint16_t reserved;
343 uint16_t tid;
344 uint16_t pid;
345 uint16_t vuid;
346 uint16_t mid;
347 union smb_body body;/* [switch_is(smb_command)] */
348}/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
349
350union dgram_message_body {
351 struct dgram_smb_packet smb;/* [case(DGRAM_SMB)] */
352}/* [nodiscriminant] */;
353
354struct dgram_message {
355 uint16_t length;
356 uint16_t offset;
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)] */
361};
362
363enum dgram_err_code
364#ifndef USE_UINT_ENUMS
365 {
366 DGRAM_ERROR_NAME_NOT_PRESENT=0x82,
367 DGRAM_ERROR_INVALID_SOURCE=0x83,
368 DGRAM_ERROR_INVALID_DEST=0x84
369}
370#else
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 )
375#endif
376;
377
378union dgram_data {
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] */;
383
384struct nbt_dgram_packet {
385 enum dgram_msg_type msg_type;
386 uint8_t flags;
387 uint16_t dgram_id;
388 const char * src_addr;
389 uint16_t src_port;
390 union dgram_data data;/* [switch_is(msg_type)] */
391}/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */;
392
393enum nbt_netlogon_command
394#ifndef USE_UINT_ENUMS
395 {
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
402}
403#else
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 )
411#endif
412;
413
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 )
425
426struct 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)] */
431 uint32_t nt_version;
432 uint16_t lmnt_token;
433 uint16_t lm20_token;
434};
435
436struct 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)] */
441 uint32_t unknown[2];
442 uint32_t nt_version;
443 uint16_t lmnt_token;
444 uint16_t lm20_token;
445};
446
447struct 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)] */
452 uint32_t nt_version;
453 uint16_t lmnt_token;
454 uint16_t lm20_token;
455};
456
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 )
470
471struct nbt_dc_sock_addr {
472 uint32_t family;
473 const char * pdc_ip;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
474 DATA_BLOB remaining;/* [flag(LIBNDR_FLAG_REMAINING)] */
475};
476
477struct nbt_netlogon_response_from_pdc2 {
478 DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
479 uint32_t server_type;
480 struct GUID domain_uuid;
481 const char * forest;
482 const char * dns_domain;
483 const char * pdc_dns_name;
484 const char * domain;
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)] */
491 uint32_t nt_version;
492 uint16_t lmnt_token;
493 uint16_t lm20_token;
494};
495
496enum netr_SamDatabaseID;
497
498struct nbt_db_change {
499 enum netr_SamDatabaseID db_index;
500 uint64_t serial;
501 NTTIME timestamp;
502};
503
504struct nbt_netlogon_announce_uas {
505 uint32_t serial_lo;
506 time_t timestamp;
507 uint32_t pulse;
508 uint32_t random;
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)] */
514 uint32_t db_count;
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)] */
518 uint32_t nt_version;
519 uint16_t lmnt_token;
520 uint16_t lm20_token;
521};
522
523union 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] */;
530
531struct nbt_netlogon_packet {
532 enum nbt_netlogon_command command;
533 union nbt_netlogon_request req;/* [switch_is(command)] */
534}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
535
536struct 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] */
542 uint16_t lmnt_token;
543 uint16_t lm20_token;
544};
545
546struct 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;
553 const char * forest;
554 const char * dns_domain;
555 const char * pdc_dns_name;
556 const char * pdc_ip;
557 uint32_t server_type;
558 uint32_t nt_version;/* [value(3)] */
559 uint16_t lmnt_token;
560 uint16_t lm20_token;
561};
562
563struct nbt_cldap_netlogon_5 {
564 enum nbt_netlogon_command type;
565 uint16_t sbz;
566 uint32_t server_type;
567 struct GUID domain_uuid;
568 const char * forest;
569 const char * dns_domain;
570 const char * pdc_dns_name;
571 const char * domain;
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)] */
577 uint16_t lmnt_token;
578 uint16_t lm20_token;
579}/* [public] */;
580
581struct nbt_cldap_netlogon_13 {
582 enum nbt_netlogon_command type;
583 uint16_t sbz;
584 uint32_t server_type;
585 struct GUID domain_uuid;
586 const char * forest;
587 const char * dns_domain;
588 const char * pdc_dns_name;
589 const char * domain;
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)] */
597 uint16_t lmnt_token;
598 uint16_t lm20_token;
599};
600
601struct nbt_cldap_netlogon_15 {
602 enum nbt_netlogon_command type;
603 uint16_t sbz;
604 uint32_t server_type;
605 struct GUID domain_uuid;
606 const char * forest;
607 const char * dns_domain;
608 const char * pdc_dns_name;
609 const char * domain;
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)] */
616 uint16_t lmnt_token;
617 uint16_t lm20_token;
618}/* [public] */;
619
620struct nbt_cldap_netlogon_29 {
621 enum nbt_netlogon_command type;
622 uint16_t sbz;
623 uint32_t server_type;
624 struct GUID domain_uuid;
625 const char * forest;
626 const char * dns_domain;
627 const char * pdc_dns_name;
628 const char * domain;
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)] */
637 uint16_t lmnt_token;
638 uint16_t lm20_token;
639}/* [public] */;
640
641union 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)] */;
649
650enum nbt_ntlogon_command
651#ifndef USE_UINT_ENUMS
652 {
653 NTLOGON_SAM_LOGON=0x12,
654 NTLOGON_SAM_LOGON_REPLY=0x13,
655 NTLOGON_SAM_LOGON_REPLY15=0x15,
656 NTLOGON_RESPONSE_FROM_PDC2=0x17
657}
658#else
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 )
664#endif
665;
666
667struct 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)] */
675 uint32_t nt_version;
676 uint16_t lmnt_token;
677 uint16_t lm20_token;
678};
679
680struct 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)] */
684 uint32_t nt_version;
685 uint16_t lmnt_token;
686 uint16_t lm20_token;
687};
688
689union 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] */;
694
695struct nbt_ntlogon_packet {
696 enum nbt_ntlogon_command command;
697 union nbt_ntlogon_request req;/* [switch_is(command)] */
698}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
699
700enum nbt_browse_opcode
701#ifndef USE_UINT_ENUMS
702 {
703 HostAnnouncement=1,
704 AnnouncementRequest=2,
705 Election=8,
706 GetBackupListReq=9,
707 GetBackupListResp=10,
708 BecomeBackup=11,
709 DomainAnnouncement=12,
710 MasterAnnouncement=13,
711 ResetBrowserState=14,
712 LocalMasterAnnouncement=15
713}
714#else
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 )
726#endif
727;
728
729struct nbt_browse_host_announcement {
730 uint8_t UpdateCount;
731 uint32_t Periodicity;
732 const char *ServerName;/* [charset(DOS)] */
733 uint8_t OSMajor;
734 uint8_t OSMinor;
735 uint32_t ServerType;
736 uint8_t BroMajorVer;
737 uint8_t BroMinorVer;
738 uint16_t Signature;
739 const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
740};
741
742struct nbt_browse_announcement_request {
743 uint8_t Unused;
744 const char * ResponseName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
745};
746
747struct nbt_browse_election_request {
748 uint8_t Version;
749 uint32_t Criteria;
750 uint32_t UpTime;
751 uint32_t Reserved;
752 const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
753};
754
755struct nbt_browse_backup_list_request {
756 uint8_t ReqCount;
757 uint32_t Token;
758};
759
760struct nbt_browse_backup_list_response {
761 uint8_t BackupCount;
762 uint32_t Token;
763 struct nbt_name *BackupServerList;
764};
765
766struct nbt_browse_become_backup {
767 const char * BrowserName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
768};
769
770struct nbt_browse_domain_announcement {
771 uint8_t UpdateCount;
772 uint32_t Periodicity;
773 const char *ServerName;/* [charset(DOS)] */
774 uint8_t OSMajor;
775 uint8_t OSMinor;
776 uint32_t ServerType;
777 uint32_t MysteriousField;
778 const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
779};
780
781struct nbt_browse_master_announcement {
782 const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
783};
784
785struct nbt_browse_reset_state {
786 uint8_t Command;
787};
788
789struct nbt_browse_local_master_announcement {
790 uint8_t UpdateCount;
791 uint32_t Periodicity;
792 const char *ServerName;/* [charset(DOS)] */
793 uint8_t OSMajor;
794 uint8_t OSMinor;
795 uint32_t ServerType;
796 uint8_t BroMajorVer;
797 uint8_t BroMinorVer;
798 uint16_t Signature;
799 const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
800};
801
802union 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] */;
814
815struct nbt_browse_packet {
816 enum nbt_browse_opcode opcode;
817 union nbt_browse_payload payload;/* [switch_is(opcode)] */
818}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
819
820#endif /* _HEADER_nbt */
Note: See TracBrowser for help on using the repository browser.