root/librpc/gen_ndr/nbt.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 
  31 enum nbt_opcode
  32 #ifndef USE_UINT_ENUMS
  33  {
  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)
  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 
  54 enum nbt_rcode
  55 #ifndef USE_UINT_ENUMS
  56  {
  57         NBT_RCODE_OK=0x0,
  58         NBT_RCODE_FMT=0x1,
  59         NBT_RCODE_SVR=0x2,
  60         NBT_RCODE_NAM=0x3,
  61         NBT_RCODE_IMP=0x4,
  62         NBT_RCODE_RFS=0x5,
  63         NBT_RCODE_ACT=0x6,
  64         NBT_RCODE_CFT=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 
  79 enum nbt_name_type
  80 #ifndef USE_UINT_ENUMS
  81  {
  82         NBT_NAME_CLIENT=0x00,
  83         NBT_NAME_MS=0x01,
  84         NBT_NAME_USER=0x03,
  85         NBT_NAME_SERVER=0x20,
  86         NBT_NAME_PDC=0x1B,
  87         NBT_NAME_LOGON=0x1C,
  88         NBT_NAME_MASTER=0x1D,
  89         NBT_NAME_BROWSER=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 
 104 struct nbt_name {
 105         const char * name;
 106         const char * scope;
 107         enum nbt_name_type type;
 108 }/* [nopull,public,nopush] */;
 109 
 110 enum nbt_qclass
 111 #ifndef USE_UINT_ENUMS
 112  {
 113         NBT_QCLASS_IP=0x01
 114 }
 115 #else
 116  { __donnot_use_enum_nbt_qclass=0x7FFFFFFF}
 117 #define NBT_QCLASS_IP ( 0x01 )
 118 #endif
 119 ;
 120 
 121 enum nbt_qtype
 122 #ifndef USE_UINT_ENUMS
 123  {
 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
 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 
 140 struct nbt_name_question {
 141         struct nbt_name name;
 142         enum nbt_qtype question_type;
 143         enum nbt_qclass question_class;
 144 };
 145 
 146 enum nbt_node_type
 147 #ifndef USE_UINT_ENUMS
 148  {
 149         NBT_NODE_B=0x0000,
 150         NBT_NODE_P=0x2000,
 151         NBT_NODE_M=0x4000,
 152         NBT_NODE_H=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 
 171 struct nbt_rdata_address {
 172         uint16_t nb_flags;
 173         const char * ipaddr;
 174 };
 175 
 176 struct nbt_rdata_netbios {
 177         uint16_t length;
 178         struct nbt_rdata_address *addresses;
 179 };
 180 
 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;
 202 };
 203 
 204 struct nbt_status_name {
 205         const char *name;/* [charset(DOS)] */
 206         enum nbt_name_type type;
 207         uint16_t nb_flags;
 208 };
 209 
 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;
 215 };
 216 
 217 struct nbt_rdata_data {
 218         uint16_t length;
 219         uint8_t *data;
 220 };
 221 
 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] */;
 227 
 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)] */;
 235 
 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)] */;
 249 
 250 enum dgram_msg_type
 251 #ifndef USE_UINT_ENUMS
 252  {
 253         DGRAM_DIRECT_UNIQUE=0x10,
 254         DGRAM_DIRECT_GROUP=0x11,
 255         DGRAM_BCAST=0x12,
 256         DGRAM_ERROR=0x13,
 257         DGRAM_QUERY=0x14,
 258         DGRAM_QUERY_POSITIVE=0x15,
 259         DGRAM_QUERY_NEGATIVE=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 
 278 enum dgram_node_type
 279 #ifndef USE_UINT_ENUMS
 280  {
 281         DGRAM_NODE_B=0x00,
 282         DGRAM_NODE_P=0x04,
 283         DGRAM_NODE_M=0x08,
 284         DGRAM_NODE_NBDD=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 
 295 enum smb_command
 296 #ifndef USE_UINT_ENUMS
 297  {
 298         SMB_TRANSACTION=0x25
 299 }
 300 #else
 301  { __donnot_use_enum_smb_command=0x7FFFFFFF}
 302 #define SMB_TRANSACTION ( 0x25 )
 303 #endif
 304 ;
 305 
 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)] */
 329 };
 330 
 331 union smb_body {
 332         struct smb_trans_body trans;/* [case(SMB_TRANSACTION)] */
 333 }/* [nodiscriminant] */;
 334 
 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)] */;
 351 
 352 union dgram_message_body {
 353         struct dgram_smb_packet smb;/* [case(DGRAM_SMB)] */
 354 }/* [nodiscriminant] */;
 355 
 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)] */
 363 };
 364 
 365 enum dgram_err_code
 366 #ifndef USE_UINT_ENUMS
 367  {
 368         DGRAM_ERROR_NAME_NOT_PRESENT=0x82,
 369         DGRAM_ERROR_INVALID_SOURCE=0x83,
 370         DGRAM_ERROR_INVALID_DEST=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 
 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] */;
 385 
 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)] */;
 394 
 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] */;
 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 
 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 )
 426 
 427 enum netlogon_command
 428 #ifndef USE_UINT_ENUMS
 429  {
 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
 440 }
 441 #else
 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 )
 453 #endif
 454 ;
 455 
 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)] */
 465         uint32_t nt_version;
 466         uint16_t lmnt_token;
 467         uint16_t lm20_token;
 468 }/* [nopull,nopush] */;
 469 
 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)] */
 475         uint32_t nt_version;
 476         uint16_t lmnt_token;
 477         uint16_t lm20_token;
 478 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
 479 
 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;
 487         const char * forest;
 488         const char * dns_domain;
 489         const char * pdc_dns_name;
 490         const char * pdc_ip;
 491         uint32_t server_type;
 492         uint32_t nt_version;
 493         uint16_t lmnt_token;
 494         uint16_t lm20_token;
 495 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
 496 
 497 struct NETLOGON_SAM_LOGON_RESPONSE_EX {
 498         enum netlogon_command command;
 499         uint16_t sbz;
 500         uint32_t server_type;
 501         struct GUID domain_uuid;
 502         const char * forest;
 503         const char * dns_domain;
 504         const char * pdc_dns_name;
 505         const char * domain;
 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;
 513         uint32_t nt_version;
 514         uint16_t lmnt_token;
 515         uint16_t lm20_token;
 516 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
 517 
 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)] */
 523         uint32_t nt_version;
 524         uint16_t lmnt_token;
 525         uint16_t lm20_token;
 526 };
 527 
 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)] */
 534         uint32_t nt_version;
 535         uint16_t lmnt_token;
 536         uint16_t lm20_token;
 537 }/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
 538 
 539 struct nbt_db_change_info {
 540         enum netr_SamDatabaseID db_index;
 541         uint64_t serial;
 542         NTTIME timestamp;
 543 };
 544 
 545 struct NETLOGON_DB_CHANGE {
 546         uint32_t serial_lo;
 547         time_t timestamp;
 548         uint32_t pulse;
 549         uint32_t random;
 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)] */
 555         uint32_t db_count;
 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;
 561 };
 562 
 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] */;
 568 
 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)] */;
 573 
 574 enum nbt_browse_opcode
 575 #ifndef USE_UINT_ENUMS
 576  {
 577         HostAnnouncement=1,
 578         AnnouncementRequest=2,
 579         Election=8,
 580         GetBackupListReq=9,
 581         GetBackupListResp=10,
 582         BecomeBackup=11,
 583         DomainAnnouncement=12,
 584         MasterAnnouncement=13,
 585         ResetBrowserState=14,
 586         LocalMasterAnnouncement=15
 587 }
 588 #else
 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 )
 600 #endif
 601 ;
 602 
 603 struct nbt_browse_host_announcement {
 604         uint8_t UpdateCount;
 605         uint32_t Periodicity;
 606         const char *ServerName;/* [charset(DOS)] */
 607         uint8_t OSMajor;
 608         uint8_t OSMinor;
 609         uint32_t ServerType;
 610         uint8_t BroMajorVer;
 611         uint8_t BroMinorVer;
 612         uint16_t Signature;
 613         const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 614 };
 615 
 616 struct nbt_browse_announcement_request {
 617         uint8_t Unused;
 618         const char * ResponseName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 619 };
 620 
 621 struct nbt_browse_election_request {
 622         uint8_t Version;
 623         uint32_t Criteria;
 624         uint32_t UpTime;
 625         uint32_t Reserved;
 626         const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 627 };
 628 
 629 struct nbt_browse_backup_list_request {
 630         uint8_t ReqCount;
 631         uint32_t Token;
 632 };
 633 
 634 struct nbt_browse_backup_list_response {
 635         uint8_t BackupCount;
 636         uint32_t Token;
 637         struct nbt_name *BackupServerList;
 638 };
 639 
 640 struct nbt_browse_become_backup {
 641         const char * BrowserName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 642 };
 643 
 644 struct nbt_browse_domain_announcement {
 645         uint8_t UpdateCount;
 646         uint32_t Periodicity;
 647         const char *ServerName;/* [charset(DOS)] */
 648         uint8_t OSMajor;
 649         uint8_t OSMinor;
 650         uint32_t ServerType;
 651         uint32_t MysteriousField;
 652         const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 653 };
 654 
 655 struct nbt_browse_master_announcement {
 656         const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 657 };
 658 
 659 struct nbt_browse_reset_state {
 660         uint8_t Command;
 661 };
 662 
 663 struct nbt_browse_local_master_announcement {
 664         uint8_t UpdateCount;
 665         uint32_t Periodicity;
 666         const char *ServerName;/* [charset(DOS)] */
 667         uint8_t OSMajor;
 668         uint8_t OSMinor;
 669         uint32_t ServerType;
 670         uint8_t BroMajorVer;
 671         uint8_t BroMinorVer;
 672         uint16_t Signature;
 673         const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 674 };
 675 
 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] */;
 688 
 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)] */;
 693 
 694 #endif /* _HEADER_nbt */

/* [<][>][^][v][top][bottom][index][help] */