Re-run make idl.
authorGünther Deschner <gd@samba.org>
Tue, 29 Apr 2008 22:58:28 +0000 (00:58 +0200)
committerGünther Deschner <gd@samba.org>
Mon, 26 May 2008 09:50:34 +0000 (11:50 +0200)
Guenther
(cherry picked from commit 08b5758e00597a4828044c4d4ac97be0741b0cf2)

source/librpc/gen_ndr/nbt.h
source/librpc/gen_ndr/ndr_nbt.c
source/librpc/gen_ndr/ndr_nbt.h
source/librpc/gen_ndr/netlogon.h

index bd9bfcd541298269dca9c3ed249155e78cea1b89..8093648387eaeceb881482e108eeff9e765c05dd 100644 (file)
@@ -5,6 +5,7 @@
 #include "librpc/gen_ndr/misc.h"
 #include "librpc/gen_ndr/security.h"
 #include "librpc/gen_ndr/svcctl.h"
+#include "librpc/gen_ndr/samr.h"
 #ifndef _HEADER_nbt
 #define _HEADER_nbt
 
@@ -410,6 +411,18 @@ enum nbt_netlogon_command
 #endif
 ;
 
+/* bitmap nbt_netlogon_version */
+#define NETLOGON_VERSION_1 ( 0x00000001 )
+#define NETLOGON_VERSION_5 ( 0x00000002 )
+#define NETLOGON_VERSION_5EX ( 0x00000004 )
+#define NETLOGON_VERSION_5EX_WITH_IP ( 0x00000008 )
+#define NETLOGON_VERSION_WITH_CLOSEST_SITE ( 0x00000010 )
+#define NETLOGON_VERSION_AVOID_NT4_EMUL ( 0x01000000 )
+#define NETLOGON_VERSION_PDC ( 0x10000000 )
+#define NETLOGON_VERSION_IP ( 0x20000000 )
+#define NETLOGON_VERSION_LOCAL ( 0x40000000 )
+#define NETLOGON_VERSION_GC ( 0x80000000 )
+
 struct nbt_netlogon_query_for_pdc {
        const char * computer_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
        const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
@@ -451,6 +464,15 @@ struct nbt_netlogon_response_from_pdc {
 #define NBT_SERVER_CLOSEST ( 0x00000080 )
 #define NBT_SERVER_WRITABLE ( 0x00000100 )
 #define NBT_SERVER_GOOD_TIMESERV ( 0x00000200 )
+#define NBT_SERVER_NDNC ( 0x00000400 )
+#define NBT_SERVER_SELECT_SECRET_DOMAIN_6 ( 0x00000800 )
+#define NBT_SERVER_FULL_SECRET_DOMAIN_6 ( 0x00001000 )
+
+struct nbt_dc_sock_addr {
+       uint32_t sa_family;
+       const char * pdc_ip;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
+       DATA_BLOB remaining;/* [flag(LIBNDR_FLAG_REMAINING)] */
+};
 
 struct nbt_netlogon_response_from_pdc2 {
        DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
@@ -464,10 +486,8 @@ struct nbt_netlogon_response_from_pdc2 {
        const char * user_name;
        const char * server_site;
        const char * client_site;
-       uint8_t unknown;
-       uint32_t unknown2;
-       const char * pdc_ip;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
-       uint32_t unknown3[2];
+       uint8_t dc_sock_addr_size;
+       struct nbt_dc_sock_addr dc_sock_addr;/* [subcontext_size(dc_sock_addr_size),subcontext(0)] */
        uint32_t nt_version;
        uint16_t lmnt_token;
        uint16_t lm20_token;
@@ -569,10 +589,8 @@ struct nbt_cldap_netlogon_13 {
        const char * user_name;
        const char * server_site;
        const char * client_site;
-       uint8_t unknown;
-       uint32_t unknown2;
-       const char * pdc_ip;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
-       uint32_t unknown3[2];
+       uint8_t dc_sock_addr_size;
+       struct nbt_dc_sock_addr dc_sock_addr;/* [subcontext_size(dc_sock_addr_size),subcontext(0)] */
        uint32_t nt_version;/* [value(13)] */
        uint16_t lmnt_token;
        uint16_t lm20_token;
index 92a94886d2e5509abb3380f6dd729cbb054c94c8..85514ed72aac7aabf513d7d14e5fe69078386ac2 100644 (file)
@@ -6,6 +6,7 @@
 #include "librpc/gen_ndr/ndr_misc.h"
 #include "librpc/gen_ndr/ndr_security.h"
 #include "librpc/gen_ndr/ndr_svcctl.h"
+#include "librpc/gen_ndr/ndr_samr.h"
 static enum ndr_err_code ndr_push_nbt_operation(struct ndr_push *ndr, int ndr_flags, uint16_t r)
 {
        NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
@@ -1576,6 +1577,52 @@ _PUBLIC_ void ndr_print_nbt_netlogon_command(struct ndr_print *ndr, const char *
        ndr_print_enum(ndr, name, "ENUM", val, r);
 }
 
+static enum ndr_err_code ndr_push_nbt_netlogon_version(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+{
+       {
+               uint32_t _flags_save_BITMAP = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+               ndr->flags = _flags_save_BITMAP;
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_nbt_netlogon_version(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+{
+       uint32_t v;
+       {
+               uint32_t _flags_save_BITMAP = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+               *r = v;
+               ndr->flags = _flags_save_BITMAP;
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_nbt_netlogon_version(struct ndr_print *ndr, const char *name, uint32_t r)
+{
+       {
+               uint32_t _flags_save_BITMAP = ndr->flags;
+               ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
+               ndr_print_uint32(ndr, name, r);
+               ndr->depth++;
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_1", NETLOGON_VERSION_1, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_5", NETLOGON_VERSION_5, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_5EX", NETLOGON_VERSION_5EX, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_5EX_WITH_IP", NETLOGON_VERSION_5EX_WITH_IP, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_WITH_CLOSEST_SITE", NETLOGON_VERSION_WITH_CLOSEST_SITE, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_AVOID_NT4_EMUL", NETLOGON_VERSION_AVOID_NT4_EMUL, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_PDC", NETLOGON_VERSION_PDC, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_IP", NETLOGON_VERSION_IP, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_LOCAL", NETLOGON_VERSION_LOCAL, r);
+               ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERSION_GC", NETLOGON_VERSION_GC, r);
+               ndr->depth--;
+               ndr->flags = _flags_save_BITMAP;
+       }
+}
+
 static enum ndr_err_code ndr_push_nbt_netlogon_query_for_pdc(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_query_for_pdc *r)
 {
        if (ndr_flags & NDR_SCALARS) {
@@ -1604,7 +1651,7 @@ static enum ndr_err_code ndr_push_nbt_netlogon_query_for_pdc(struct ndr_push *nd
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_name));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_version));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -1641,7 +1688,7 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_query_for_pdc(struct ndr_pull *nd
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_name));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -1658,7 +1705,7 @@ _PUBLIC_ void ndr_print_nbt_netlogon_query_for_pdc(struct ndr_print *ndr, const
        ndr_print_string(ndr, "mailslot_name", r->mailslot_name);
        ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
        ndr_print_string(ndr, "unicode_name", r->unicode_name);
-       ndr_print_uint32(ndr, "nt_version", r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -1691,7 +1738,7 @@ static enum ndr_err_code ndr_push_nbt_netlogon_query_for_pdc2(struct ndr_push *n
                for (cntr_unknown_0 = 0; cntr_unknown_0 < 2; cntr_unknown_0++) {
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_version));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -1727,7 +1774,7 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_query_for_pdc2(struct ndr_pull *n
                for (cntr_unknown_0 = 0; cntr_unknown_0 < 2; cntr_unknown_0++) {
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -1755,7 +1802,7 @@ _PUBLIC_ void ndr_print_nbt_netlogon_query_for_pdc2(struct ndr_print *ndr, const
                }
        }
        ndr->depth--;
-       ndr_print_uint32(ndr, "nt_version", r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -1789,7 +1836,7 @@ static enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc(struct ndr_push
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_version));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -1826,7 +1873,7 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc(struct ndr_pull
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -1843,7 +1890,7 @@ _PUBLIC_ void ndr_print_nbt_netlogon_response_from_pdc(struct ndr_print *ndr, co
        ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
        ndr_print_string(ndr, "unicode_pdc_name", r->unicode_pdc_name);
        ndr_print_string(ndr, "domain_name", r->domain_name);
-       ndr_print_uint32(ndr, "nt_version", r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -1876,12 +1923,70 @@ _PUBLIC_ void ndr_print_nbt_server_type(struct ndr_print *ndr, const char *name,
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_CLOSEST", NBT_SERVER_CLOSEST, r);
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_WRITABLE", NBT_SERVER_WRITABLE, r);
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_GOOD_TIMESERV", NBT_SERVER_GOOD_TIMESERV, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_NDNC", NBT_SERVER_NDNC, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_SELECT_SECRET_DOMAIN_6", NBT_SERVER_SELECT_SECRET_DOMAIN_6, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_FULL_SECRET_DOMAIN_6", NBT_SERVER_FULL_SECRET_DOMAIN_6, r);
+       ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_nbt_dc_sock_addr(struct ndr_push *ndr, int ndr_flags, const struct nbt_dc_sock_addr *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sa_family));
+               {
+                       uint32_t _flags_save_ipv4address = ndr->flags;
+                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
+                       NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->pdc_ip));
+                       ndr->flags = _flags_save_ipv4address;
+               }
+               {
+                       uint32_t _flags_save_DATA_BLOB = ndr->flags;
+                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
+                       NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining));
+                       ndr->flags = _flags_save_DATA_BLOB;
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_nbt_dc_sock_addr(struct ndr_pull *ndr, int ndr_flags, struct nbt_dc_sock_addr *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sa_family));
+               {
+                       uint32_t _flags_save_ipv4address = ndr->flags;
+                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
+                       NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->pdc_ip));
+                       ndr->flags = _flags_save_ipv4address;
+               }
+               {
+                       uint32_t _flags_save_DATA_BLOB = ndr->flags;
+                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
+                       NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining));
+                       ndr->flags = _flags_save_DATA_BLOB;
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_nbt_dc_sock_addr(struct ndr_print *ndr, const char *name, const struct nbt_dc_sock_addr *r)
+{
+       ndr_print_struct(ndr, name, "nbt_dc_sock_addr");
+       ndr->depth++;
+       ndr_print_uint32(ndr, "sa_family", r->sa_family);
+       ndr_print_ipv4address(ndr, "pdc_ip", r->pdc_ip);
+       ndr_print_DATA_BLOB(ndr, "remaining", r->remaining);
        ndr->depth--;
 }
 
 static enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc2(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_response_from_pdc2 *r)
 {
-       uint32_t cntr_unknown3_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                {
@@ -1900,18 +2005,14 @@ static enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc2(struct ndr_pus
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->user_name));
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->server_site));
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->client_site));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->unknown));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
+               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->dc_sock_addr_size));
                {
-                       uint32_t _flags_save_ipv4address = ndr->flags;
-                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
-                       NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->pdc_ip));
-                       ndr->flags = _flags_save_ipv4address;
-               }
-               for (cntr_unknown3_0 = 0; cntr_unknown3_0 < 2; cntr_unknown3_0++) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3[cntr_unknown3_0]));
+                       struct ndr_push *_ndr_dc_sock_addr;
+                       NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
+                       NDR_CHECK(ndr_push_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
+                       NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_version));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -1922,7 +2023,6 @@ static enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc2(struct ndr_pus
 
 static enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc2(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_response_from_pdc2 *r)
 {
-       uint32_t cntr_unknown3_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                {
@@ -1941,18 +2041,14 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc2(struct ndr_pul
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name));
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site));
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->client_site));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
+               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->dc_sock_addr_size));
                {
-                       uint32_t _flags_save_ipv4address = ndr->flags;
-                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
-                       NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->pdc_ip));
-                       ndr->flags = _flags_save_ipv4address;
+                       struct ndr_pull *_ndr_dc_sock_addr;
+                       NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
+                       NDR_CHECK(ndr_pull_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
+                       NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
                }
-               for (cntr_unknown3_0 = 0; cntr_unknown3_0 < 2; cntr_unknown3_0++) {
-                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3[cntr_unknown3_0]));
-               }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -1963,7 +2059,6 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc2(struct ndr_pul
 
 _PUBLIC_ void ndr_print_nbt_netlogon_response_from_pdc2(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc2 *r)
 {
-       uint32_t cntr_unknown3_0;
        ndr_print_struct(ndr, name, "nbt_netlogon_response_from_pdc2");
        ndr->depth++;
        ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
@@ -1977,20 +2072,9 @@ _PUBLIC_ void ndr_print_nbt_netlogon_response_from_pdc2(struct ndr_print *ndr, c
        ndr_print_nbt_string(ndr, "user_name", r->user_name);
        ndr_print_nbt_string(ndr, "server_site", r->server_site);
        ndr_print_nbt_string(ndr, "client_site", r->client_site);
-       ndr_print_uint8(ndr, "unknown", r->unknown);
-       ndr_print_uint32(ndr, "unknown2", r->unknown2);
-       ndr_print_ipv4address(ndr, "pdc_ip", r->pdc_ip);
-       ndr->print(ndr, "%s: ARRAY(%d)", "unknown3", 2);
-       ndr->depth++;
-       for (cntr_unknown3_0=0;cntr_unknown3_0<2;cntr_unknown3_0++) {
-               char *idx_0=NULL;
-               if (asprintf(&idx_0, "[%d]", cntr_unknown3_0) != -1) {
-                       ndr_print_uint32(ndr, "unknown3", r->unknown3[cntr_unknown3_0]);
-                       free(idx_0);
-               }
-       }
-       ndr->depth--;
-       ndr_print_uint32(ndr, "nt_version", r->nt_version);
+       ndr_print_uint8(ndr, "dc_sock_addr_size", r->dc_sock_addr_size);
+       ndr_print_nbt_dc_sock_addr(ndr, "dc_sock_addr", &r->dc_sock_addr);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -2082,7 +2166,7 @@ static enum ndr_err_code ndr_push_nbt_netlogon_announce_uas(struct ndr_push *ndr
                        NDR_CHECK(ndr_push_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid));
                        NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_version));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -2146,7 +2230,7 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_announce_uas(struct ndr_pull *ndr
                        NDR_CHECK(ndr_pull_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid));
                        NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sid, 0, r->sid_size));
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -2182,7 +2266,7 @@ _PUBLIC_ void ndr_print_nbt_netlogon_announce_uas(struct ndr_print *ndr, const c
        ndr->depth--;
        ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size);
        ndr_print_dom_sid0(ndr, "sid", &r->sid);
-       ndr_print_uint32(ndr, "nt_version", r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -2423,7 +2507,7 @@ static enum ndr_err_code ndr_push_nbt_cldap_netlogon_1(struct ndr_push *ndr, int
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 1));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -2455,7 +2539,7 @@ static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_1(struct ndr_pull *ndr, int
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -2472,7 +2556,7 @@ _PUBLIC_ void ndr_print_nbt_cldap_netlogon_1(struct ndr_print *ndr, const char *
        ndr_print_string(ndr, "pdc_name", r->pdc_name);
        ndr_print_string(ndr, "user_name", r->user_name);
        ndr_print_string(ndr, "domain_name", r->domain_name);
-       ndr_print_uint32(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -2508,7 +2592,7 @@ static enum ndr_err_code ndr_push_nbt_cldap_netlogon_3(struct ndr_push *ndr, int
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name));
                NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->pdc_ip));
                NDR_CHECK(ndr_push_nbt_server_type(ndr, NDR_SCALARS, r->server_type));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 3));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 3));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -2547,7 +2631,7 @@ static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_3(struct ndr_pull *ndr, int
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name));
                NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->pdc_ip));
                NDR_CHECK(ndr_pull_nbt_server_type(ndr, NDR_SCALARS, &r->server_type));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -2571,7 +2655,7 @@ _PUBLIC_ void ndr_print_nbt_cldap_netlogon_3(struct ndr_print *ndr, const char *
        ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name);
        ndr_print_ipv4address(ndr, "pdc_ip", r->pdc_ip);
        ndr_print_nbt_server_type(ndr, "server_type", r->server_type);
-       ndr_print_uint32(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -2592,7 +2676,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_nbt_cldap_netlogon_5(struct ndr_push *ndr, i
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->user_name));
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->server_site));
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->client_site));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 5));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 5));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -2616,7 +2700,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_nbt_cldap_netlogon_5(struct ndr_pull *ndr, i
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name));
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site));
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->client_site));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -2640,7 +2724,7 @@ _PUBLIC_ void ndr_print_nbt_cldap_netlogon_5(struct ndr_print *ndr, const char *
        ndr_print_nbt_string(ndr, "user_name", r->user_name);
        ndr_print_nbt_string(ndr, "server_site", r->server_site);
        ndr_print_nbt_string(ndr, "client_site", r->client_site);
-       ndr_print_uint32(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?5:r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?5:r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -2648,7 +2732,6 @@ _PUBLIC_ void ndr_print_nbt_cldap_netlogon_5(struct ndr_print *ndr, const char *
 
 static enum ndr_err_code ndr_push_nbt_cldap_netlogon_13(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_13 *r)
 {
-       uint32_t cntr_unknown3_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->type));
@@ -2662,18 +2745,14 @@ static enum ndr_err_code ndr_push_nbt_cldap_netlogon_13(struct ndr_push *ndr, in
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->user_name));
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->server_site));
                NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->client_site));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->unknown));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
+               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->dc_sock_addr_size));
                {
-                       uint32_t _flags_save_ipv4address = ndr->flags;
-                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
-                       NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->pdc_ip));
-                       ndr->flags = _flags_save_ipv4address;
-               }
-               for (cntr_unknown3_0 = 0; cntr_unknown3_0 < 2; cntr_unknown3_0++) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3[cntr_unknown3_0]));
+                       struct ndr_push *_ndr_dc_sock_addr;
+                       NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
+                       NDR_CHECK(ndr_push_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
+                       NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 13));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, 13));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -2684,7 +2763,6 @@ static enum ndr_err_code ndr_push_nbt_cldap_netlogon_13(struct ndr_push *ndr, in
 
 static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_13(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_13 *r)
 {
-       uint32_t cntr_unknown3_0;
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->type));
@@ -2698,18 +2776,14 @@ static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_13(struct ndr_pull *ndr, in
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name));
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site));
                NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->client_site));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
+               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->dc_sock_addr_size));
                {
-                       uint32_t _flags_save_ipv4address = ndr->flags;
-                       ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
-                       NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->pdc_ip));
-                       ndr->flags = _flags_save_ipv4address;
-               }
-               for (cntr_unknown3_0 = 0; cntr_unknown3_0 < 2; cntr_unknown3_0++) {
-                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3[cntr_unknown3_0]));
+                       struct ndr_pull *_ndr_dc_sock_addr;
+                       NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
+                       NDR_CHECK(ndr_pull_nbt_dc_sock_addr(_ndr_dc_sock_addr, NDR_SCALARS, &r->dc_sock_addr));
+                       NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dc_sock_addr, 0, r->dc_sock_addr_size));
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -2720,7 +2794,6 @@ static enum ndr_err_code ndr_pull_nbt_cldap_netlogon_13(struct ndr_pull *ndr, in
 
 _PUBLIC_ void ndr_print_nbt_cldap_netlogon_13(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_13 *r)
 {
-       uint32_t cntr_unknown3_0;
        ndr_print_struct(ndr, name, "nbt_cldap_netlogon_13");
        ndr->depth++;
        ndr_print_uint32(ndr, "type", r->type);
@@ -2734,20 +2807,9 @@ _PUBLIC_ void ndr_print_nbt_cldap_netlogon_13(struct ndr_print *ndr, const char
        ndr_print_nbt_string(ndr, "user_name", r->user_name);
        ndr_print_nbt_string(ndr, "server_site", r->server_site);
        ndr_print_nbt_string(ndr, "client_site", r->client_site);
-       ndr_print_uint8(ndr, "unknown", r->unknown);
-       ndr_print_uint32(ndr, "unknown2", r->unknown2);
-       ndr_print_ipv4address(ndr, "pdc_ip", r->pdc_ip);
-       ndr->print(ndr, "%s: ARRAY(%d)", "unknown3", 2);
-       ndr->depth++;
-       for (cntr_unknown3_0=0;cntr_unknown3_0<2;cntr_unknown3_0++) {
-               char *idx_0=NULL;
-               if (asprintf(&idx_0, "[%d]", cntr_unknown3_0) != -1) {
-                       ndr_print_uint32(ndr, "unknown3", r->unknown3[cntr_unknown3_0]);
-                       free(idx_0);
-               }
-       }
-       ndr->depth--;
-       ndr_print_uint32(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?13:r->nt_version);
+       ndr_print_uint8(ndr, "dc_sock_addr_size", r->dc_sock_addr_size);
+       ndr_print_nbt_dc_sock_addr(ndr, "dc_sock_addr", &r->dc_sock_addr);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?13:r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -3019,7 +3081,7 @@ static enum ndr_err_code ndr_push_nbt_ntlogon_sam_logon(struct ndr_push *ndr, in
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mailslot_name));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->acct_control));
+               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_control));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->sid, ndr->flags)));
                {
                        struct ndr_push *_ndr_sid;
@@ -3027,7 +3089,7 @@ static enum ndr_err_code ndr_push_nbt_ntlogon_sam_logon(struct ndr_push *ndr, in
                        NDR_CHECK(ndr_push_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid));
                        NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_version));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -3059,7 +3121,7 @@ static enum ndr_err_code ndr_pull_nbt_ntlogon_sam_logon(struct ndr_pull *ndr, in
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mailslot_name));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->acct_control));
+               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_control));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_size));
                {
                        struct ndr_pull *_ndr_sid;
@@ -3067,7 +3129,7 @@ static enum ndr_err_code ndr_pull_nbt_ntlogon_sam_logon(struct ndr_pull *ndr, in
                        NDR_CHECK(ndr_pull_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid));
                        NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sid, 0, r->sid_size));
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -3084,10 +3146,10 @@ _PUBLIC_ void ndr_print_nbt_ntlogon_sam_logon(struct ndr_print *ndr, const char
        ndr_print_string(ndr, "computer_name", r->computer_name);
        ndr_print_string(ndr, "user_name", r->user_name);
        ndr_print_string(ndr, "mailslot_name", r->mailslot_name);
-       ndr_print_uint32(ndr, "acct_control", r->acct_control);
+       ndr_print_samr_AcctFlags(ndr, "acct_control", r->acct_control);
        ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size);
        ndr_print_dom_sid0(ndr, "sid", &r->sid);
-       ndr_print_uint32(ndr, "nt_version", r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
@@ -3115,7 +3177,7 @@ static enum ndr_err_code ndr_push_nbt_ntlogon_sam_logon_reply(struct ndr_push *n
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_version));
+               NDR_CHECK(ndr_push_nbt_netlogon_version(ndr, NDR_SCALARS, r->nt_version));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token));
        }
@@ -3146,7 +3208,7 @@ static enum ndr_err_code ndr_pull_nbt_ntlogon_sam_logon_reply(struct ndr_pull *n
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain));
                        ndr->flags = _flags_save_string;
                }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_version));
+               NDR_CHECK(ndr_pull_nbt_netlogon_version(ndr, NDR_SCALARS, &r->nt_version));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token));
        }
@@ -3162,7 +3224,7 @@ _PUBLIC_ void ndr_print_nbt_ntlogon_sam_logon_reply(struct ndr_print *ndr, const
        ndr_print_string(ndr, "server", r->server);
        ndr_print_string(ndr, "user_name", r->user_name);
        ndr_print_string(ndr, "domain", r->domain);
-       ndr_print_uint32(ndr, "nt_version", r->nt_version);
+       ndr_print_nbt_netlogon_version(ndr, "nt_version", r->nt_version);
        ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
        ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
        ndr->depth--;
index 28b8a49daa9ce7d82663b0617920fd14a1f26530..7f451133a891a82ab690bbbdf3657c53bf865760 100644 (file)
@@ -44,10 +44,12 @@ enum ndr_err_code ndr_push_nbt_dgram_packet(struct ndr_push *ndr, int ndr_flags,
 enum ndr_err_code ndr_pull_nbt_dgram_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_dgram_packet *r);
 void ndr_print_nbt_dgram_packet(struct ndr_print *ndr, const char *name, const struct nbt_dgram_packet *r);
 void ndr_print_nbt_netlogon_command(struct ndr_print *ndr, const char *name, enum nbt_netlogon_command r);
+void ndr_print_nbt_netlogon_version(struct ndr_print *ndr, const char *name, uint32_t r);
 void ndr_print_nbt_netlogon_query_for_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_query_for_pdc *r);
 void ndr_print_nbt_netlogon_query_for_pdc2(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_query_for_pdc2 *r);
 void ndr_print_nbt_netlogon_response_from_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc *r);
 void ndr_print_nbt_server_type(struct ndr_print *ndr, const char *name, uint32_t r);
+void ndr_print_nbt_dc_sock_addr(struct ndr_print *ndr, const char *name, const struct nbt_dc_sock_addr *r);
 void ndr_print_nbt_netlogon_response_from_pdc2(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc2 *r);
 void ndr_print_nbt_db_change(struct ndr_print *ndr, const char *name, const struct nbt_db_change *r);
 void ndr_print_nbt_netlogon_announce_uas(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_announce_uas *r);
index f7bb682e92bcaacb73956b8dc938976aa374c5e6..9e8605110f3effa60d22110468365f3cc453459f 100644 (file)
@@ -717,9 +717,9 @@ enum netr_DsRGetDCNameInfo_AddressType
 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
-#define DS_SERVER_NDNC ( 0x00000400 )
-#define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( 0x00000800 )
-#define DS_SERVER_FULL_SECRET_DOMAIN_6 ( 0x00001000 )
+#define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
+#define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
+#define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
 #define DS_DNS_CONTROLLER ( 0x20000000 )
 #define DS_DNS_DOMAIN ( 0x40000000 )
 #define DS_DNS_FOREST ( 0x80000000 )