build: enable python 3.0 and 3.1 in testwaf.sh
[sfrench/samba-autobuild/.git] / librpc / gen_ndr / ndr_nbt.c
index 435bebe091c4d79370a7496de23acb77ea1e9756..b3fcb85d22d56070eb6e696387a213ffbc19f5e9 100644 (file)
@@ -38,14 +38,14 @@ _PUBLIC_ void ndr_print_nbt_operation(struct ndr_print *ndr, const char *name, u
 
 static enum ndr_err_code ndr_push_nbt_name_type(struct ndr_push *ndr, int ndr_flags, enum nbt_name_type r)
 {
-       NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_nbt_name_type(struct ndr_pull *ndr, int ndr_flags, enum nbt_name_type *r)
 {
        uint8_t v;
-       NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -79,14 +79,14 @@ _PUBLIC_ void ndr_print_nbt_name(struct ndr_print *ndr, const char *name, const
 
 _PUBLIC_ enum ndr_err_code ndr_push_nbt_qclass(struct ndr_push *ndr, int ndr_flags, enum nbt_qclass r)
 {
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_qclass(struct ndr_pull *ndr, int ndr_flags, enum nbt_qclass *r)
 {
        uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -103,14 +103,14 @@ _PUBLIC_ void ndr_print_nbt_qclass(struct ndr_print *ndr, const char *name, enum
 
 _PUBLIC_ enum ndr_err_code ndr_push_nbt_qtype(struct ndr_push *ndr, int ndr_flags, enum nbt_qtype r)
 {
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 _PUBLIC_ enum ndr_err_code ndr_pull_nbt_qtype(struct ndr_pull *ndr, int ndr_flags, enum nbt_qtype *r)
 {
        uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -136,6 +136,7 @@ static enum ndr_err_code ndr_push_nbt_name_question(struct ndr_push *ndr, int nd
                NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_push_nbt_qtype(ndr, NDR_SCALARS, r->question_type));
                NDR_CHECK(ndr_push_nbt_qclass(ndr, NDR_SCALARS, r->question_class));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -149,6 +150,7 @@ static enum ndr_err_code ndr_pull_nbt_name_question(struct ndr_pull *ndr, int nd
                NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_pull_nbt_qtype(ndr, NDR_SCALARS, &r->question_type));
                NDR_CHECK(ndr_pull_nbt_qclass(ndr, NDR_SCALARS, &r->question_class));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -198,6 +200,7 @@ static enum ndr_err_code ndr_push_nbt_rdata_address(struct ndr_push *ndr, int nd
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_nb_flags(ndr, NDR_SCALARS, r->nb_flags));
                NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ipaddr));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -210,6 +213,7 @@ static enum ndr_err_code ndr_pull_nbt_rdata_address(struct ndr_pull *ndr, int nd
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_nb_flags(ndr, NDR_SCALARS, &r->nb_flags));
                NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ipaddr));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -234,6 +238,7 @@ static enum ndr_err_code ndr_push_nbt_rdata_netbios(struct ndr_push *ndr, int nd
                for (cntr_addresses_0 = 0; cntr_addresses_0 < r->length / 6; cntr_addresses_0++) {
                        NDR_CHECK(ndr_push_nbt_rdata_address(ndr, NDR_SCALARS, &r->addresses[cntr_addresses_0]));
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -254,6 +259,7 @@ static enum ndr_err_code ndr_pull_nbt_rdata_netbios(struct ndr_pull *ndr, int nd
                        NDR_CHECK(ndr_pull_nbt_rdata_address(ndr, NDR_SCALARS, &r->addresses[cntr_addresses_0]));
                }
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_0, 0);
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -303,6 +309,7 @@ static enum ndr_err_code ndr_push_nbt_statistics(struct ndr_push *ndr, int ndr_f
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_number_pending_sessions));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_total_sessions_possible));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->session_data_packet_size));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -333,6 +340,7 @@ static enum ndr_err_code ndr_pull_nbt_statistics(struct ndr_pull *ndr, int ndr_f
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_number_pending_sessions));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_total_sessions_possible));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->session_data_packet_size));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -373,6 +381,7 @@ static enum ndr_err_code ndr_push_nbt_status_name(struct ndr_push *ndr, int ndr_
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 15, sizeof(uint8_t), CH_DOS));
                NDR_CHECK(ndr_push_nbt_name_type(ndr, NDR_SCALARS, r->type));
                NDR_CHECK(ndr_push_nb_flags(ndr, NDR_SCALARS, r->nb_flags));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 2));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -386,6 +395,7 @@ static enum ndr_err_code ndr_pull_nbt_status_name(struct ndr_pull *ndr, int ndr_
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, 15, sizeof(uint8_t), CH_DOS));
                NDR_CHECK(ndr_pull_nbt_name_type(ndr, NDR_SCALARS, &r->type));
                NDR_CHECK(ndr_pull_nb_flags(ndr, NDR_SCALARS, &r->nb_flags));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -413,6 +423,7 @@ static enum ndr_err_code ndr_push_nbt_rdata_status(struct ndr_push *ndr, int ndr
                        NDR_CHECK(ndr_push_nbt_status_name(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
                }
                NDR_CHECK(ndr_push_nbt_statistics(ndr, NDR_SCALARS, &r->statistics));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -435,6 +446,7 @@ static enum ndr_err_code ndr_pull_nbt_rdata_status(struct ndr_pull *ndr, int ndr
                }
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
                NDR_CHECK(ndr_pull_nbt_statistics(ndr, NDR_SCALARS, &r->statistics));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -468,6 +480,7 @@ static enum ndr_err_code ndr_push_nbt_rdata_data(struct ndr_push *ndr, int ndr_f
                NDR_CHECK(ndr_push_align(ndr, 2));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
                NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 2));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -481,6 +494,7 @@ static enum ndr_err_code ndr_pull_nbt_rdata_data(struct ndr_pull *ndr, int ndr_f
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
                NDR_PULL_ALLOC_N(ndr, r->data, r->length);
                NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -500,6 +514,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_nbt_rdata(struct ndr_push *ndr, int ndr_flag
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
+               NDR_CHECK(ndr_push_union_align(ndr, 4));
                switch (level) {
                        case NBT_QTYPE_NETBIOS: {
                                NDR_CHECK(ndr_push_nbt_rdata_netbios(ndr, NDR_SCALARS, &r->netbios));
@@ -537,6 +552,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_nbt_rdata(struct ndr_pull *ndr, int ndr_flag
        int level;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_union_align(ndr, 4));
                switch (level) {
                        case NBT_QTYPE_NETBIOS: {
                                NDR_CHECK(ndr_pull_nbt_rdata_netbios(ndr, NDR_SCALARS, &r->netbios));
@@ -602,6 +618,7 @@ static enum ndr_err_code ndr_pull_nbt_res_rec(struct ndr_pull *ndr, int ndr_flag
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl));
                        NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->rdata, r->rr_type));
                        NDR_CHECK(ndr_pull_nbt_rdata(ndr, NDR_SCALARS, &r->rdata));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -663,6 +680,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_nbt_name_packet(struct ndr_push *ndr, int nd
                                NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->padding));
                                ndr->flags = _flags_save_DATA_BLOB;
                        }
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -726,6 +744,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_nbt_name_packet(struct ndr_pull *ndr, int nd
                                NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->padding));
                                ndr->flags = _flags_save_DATA_BLOB;
                        }
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -799,14 +818,14 @@ _PUBLIC_ void ndr_print_nbt_name_packet(struct ndr_print *ndr, const char *name,
 
 static enum ndr_err_code ndr_push_dgram_msg_type(struct ndr_push *ndr, int ndr_flags, enum dgram_msg_type r)
 {
-       NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_dgram_msg_type(struct ndr_pull *ndr, int ndr_flags, enum dgram_msg_type *r)
 {
        uint8_t v;
-       NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -853,14 +872,14 @@ _PUBLIC_ void ndr_print_dgram_flags(struct ndr_print *ndr, const char *name, uin
 
 static enum ndr_err_code ndr_push_smb_command(struct ndr_push *ndr, int ndr_flags, enum smb_command r)
 {
-       NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_smb_command(struct ndr_pull *ndr, int ndr_flags, enum smb_command *r)
 {
        uint8_t v;
-       NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -911,6 +930,7 @@ static enum ndr_err_code ndr_push_smb_trans_body(struct ndr_push *ndr, int ndr_f
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -959,6 +979,7 @@ static enum ndr_err_code ndr_pull_smb_trans_body(struct ndr_pull *ndr, int ndr_f
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -998,13 +1019,14 @@ static enum ndr_err_code ndr_push_smb_body(struct ndr_push *ndr, int ndr_flags,
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
+               NDR_CHECK(ndr_push_union_align(ndr, 4));
                switch (level) {
                        case SMB_TRANSACTION: {
                                NDR_CHECK(ndr_push_smb_trans_body(ndr, NDR_SCALARS, &r->trans));
                        break; }
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -1014,7 +1036,7 @@ static enum ndr_err_code ndr_push_smb_body(struct ndr_push *ndr, int ndr_flags,
                        break;
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -1025,13 +1047,14 @@ static enum ndr_err_code ndr_pull_smb_body(struct ndr_pull *ndr, int ndr_flags,
        int level;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_union_align(ndr, 4));
                switch (level) {
                        case SMB_TRANSACTION: {
                                NDR_CHECK(ndr_pull_smb_trans_body(ndr, NDR_SCALARS, &r->trans));
                        break; }
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -1040,7 +1063,7 @@ static enum ndr_err_code ndr_pull_smb_body(struct ndr_pull *ndr, int ndr_flags,
                        break;
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -1083,6 +1106,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dgram_smb_packet(struct ndr_push *ndr, int n
                        NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->mid));
                        NDR_CHECK(ndr_push_set_switch_value(ndr, &r->body, r->smb_command));
                        NDR_CHECK(ndr_push_smb_body(ndr, NDR_SCALARS, &r->body));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1113,6 +1137,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dgram_smb_packet(struct ndr_pull *ndr, int n
                        NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->mid));
                        NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->body, r->smb_command));
                        NDR_CHECK(ndr_pull_smb_body(ndr, NDR_SCALARS, &r->body));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1152,13 +1177,14 @@ static enum ndr_err_code ndr_push_dgram_message_body(struct ndr_push *ndr, int n
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
+               NDR_CHECK(ndr_push_union_align(ndr, 4));
                switch (level) {
                        case DGRAM_SMB: {
                                NDR_CHECK(ndr_push_dgram_smb_packet(ndr, NDR_SCALARS, &r->smb));
                        break; }
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -1168,7 +1194,7 @@ static enum ndr_err_code ndr_push_dgram_message_body(struct ndr_push *ndr, int n
                        break;
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -1179,13 +1205,14 @@ static enum ndr_err_code ndr_pull_dgram_message_body(struct ndr_pull *ndr, int n
        int level;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_union_align(ndr, 4));
                switch (level) {
                        case DGRAM_SMB: {
                                NDR_CHECK(ndr_pull_dgram_smb_packet(ndr, NDR_SCALARS, &r->smb));
                        break; }
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -1194,7 +1221,7 @@ static enum ndr_err_code ndr_pull_dgram_message_body(struct ndr_pull *ndr, int n
                        break;
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -1226,6 +1253,7 @@ static enum ndr_err_code ndr_push_dgram_message(struct ndr_push *ndr, int ndr_fl
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dgram_body_type));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->body, r->dgram_body_type));
                NDR_CHECK(ndr_push_dgram_message_body(ndr, NDR_SCALARS, &r->body));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1243,6 +1271,7 @@ static enum ndr_err_code ndr_pull_dgram_message(struct ndr_pull *ndr, int ndr_fl
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dgram_body_type));
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->body, r->dgram_body_type));
                NDR_CHECK(ndr_pull_dgram_message_body(ndr, NDR_SCALARS, &r->body));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1265,14 +1294,14 @@ _PUBLIC_ void ndr_print_dgram_message(struct ndr_print *ndr, const char *name, c
 
 static enum ndr_err_code ndr_push_dgram_err_code(struct ndr_push *ndr, int ndr_flags, enum dgram_err_code r)
 {
-       NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_dgram_err_code(struct ndr_pull *ndr, int ndr_flags, enum dgram_err_code *r)
 {
        uint8_t v;
-       NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -1293,6 +1322,7 @@ static enum ndr_err_code ndr_push_dgram_data(struct ndr_push *ndr, int ndr_flags
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
+               NDR_CHECK(ndr_push_union_align(ndr, 4));
                switch (level) {
                        case DGRAM_DIRECT_UNIQUE: {
                                NDR_CHECK(ndr_push_dgram_message(ndr, NDR_SCALARS, &r->msg));
@@ -1323,7 +1353,7 @@ static enum ndr_err_code ndr_push_dgram_data(struct ndr_push *ndr, int ndr_flags
                        break; }
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -1351,7 +1381,7 @@ static enum ndr_err_code ndr_push_dgram_data(struct ndr_push *ndr, int ndr_flags
                        break;
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -1362,6 +1392,7 @@ static enum ndr_err_code ndr_pull_dgram_data(struct ndr_pull *ndr, int ndr_flags
        int level;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_union_align(ndr, 4));
                switch (level) {
                        case DGRAM_DIRECT_UNIQUE: {
                                NDR_CHECK(ndr_pull_dgram_message(ndr, NDR_SCALARS, &r->msg));
@@ -1392,7 +1423,7 @@ static enum ndr_err_code ndr_pull_dgram_data(struct ndr_pull *ndr, int ndr_flags
                        break; }
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -1419,7 +1450,7 @@ static enum ndr_err_code ndr_pull_dgram_data(struct ndr_pull *ndr, int ndr_flags
                        break;
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -1478,6 +1509,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_nbt_dgram_packet(struct ndr_push *ndr, int n
                        NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->src_port));
                        NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->msg_type));
                        NDR_CHECK(ndr_push_dgram_data(ndr, NDR_SCALARS, &r->data));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1500,6 +1532,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_nbt_dgram_packet(struct ndr_pull *ndr, int n
                        NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->src_port));
                        NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->msg_type));
                        NDR_CHECK(ndr_pull_dgram_data(ndr, NDR_SCALARS, &r->data));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1544,6 +1577,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_nbt_sockaddr(struct ndr_push *ndr, int ndr_f
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1567,6 +1601,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_nbt_sockaddr(struct ndr_pull *ndr, int ndr_f
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1583,9 +1618,9 @@ _PUBLIC_ void ndr_print_nbt_sockaddr(struct ndr_print *ndr, const char *name, co
        ndr->depth--;
 }
 
-_PUBLIC_ size_t ndr_size_nbt_sockaddr(const struct nbt_sockaddr *r, int flags)
+_PUBLIC_ size_t ndr_size_nbt_sockaddr(const struct nbt_sockaddr *r, struct smb_iconv_convenience *ic, int flags)
 {
-       return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_nbt_sockaddr);
+       return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_nbt_sockaddr, ic);
 }
 
 _PUBLIC_ enum ndr_err_code ndr_push_nbt_server_type(struct ndr_push *ndr, int ndr_flags, uint32_t r)
@@ -1618,6 +1653,10 @@ _PUBLIC_ void ndr_print_nbt_server_type(struct ndr_print *ndr, const char *name,
        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_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_ADS_WEB_SERVICE", NBT_SERVER_ADS_WEB_SERVICE, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_HAS_DNS_NAME", NBT_SERVER_HAS_DNS_NAME, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_IS_DEFAULT_NC", NBT_SERVER_IS_DEFAULT_NC, r);
+       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_FOREST_ROOT", NBT_SERVER_FOREST_ROOT, r);
        ndr->depth--;
 }
 
@@ -1654,14 +1693,14 @@ _PUBLIC_ void ndr_print_netlogon_nt_version_flags(struct ndr_print *ndr, const c
 
 _PUBLIC_ enum ndr_err_code ndr_push_netlogon_command(struct ndr_push *ndr, int ndr_flags, enum netlogon_command r)
 {
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 _PUBLIC_ enum ndr_err_code ndr_pull_netlogon_command(struct ndr_pull *ndr, int ndr_flags, enum netlogon_command *r)
 {
        uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -1714,7 +1753,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_
                        {
                                uint32_t _flags_save_string = ndr->flags;
                                ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
-                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server));
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name));
                                ndr->flags = _flags_save_string;
                        }
                        {
@@ -1726,12 +1765,13 @@ _PUBLIC_ enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_
                        {
                                uint32_t _flags_save_string = ndr->flags;
                                ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
-                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain));
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name));
                                ndr->flags = _flags_save_string;
                        }
                        NDR_CHECK(ndr_push_netlogon_nt_version_flags(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));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1751,7 +1791,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_
                        {
                                uint32_t _flags_save_string = ndr->flags;
                                ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
-                               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server));
+                               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name));
                                ndr->flags = _flags_save_string;
                        }
                        {
@@ -1763,12 +1803,13 @@ _PUBLIC_ enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_
                        {
                                uint32_t _flags_save_string = ndr->flags;
                                ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
-                               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain));
+                               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name));
                                ndr->flags = _flags_save_string;
                        }
                        NDR_CHECK(ndr_pull_netlogon_nt_version_flags(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));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1785,9 +1826,9 @@ _PUBLIC_ void ndr_print_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_print *ndr,
                ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
                ndr->depth++;
                ndr_print_netlogon_command(ndr, "command", r->command);
-               ndr_print_string(ndr, "server", r->server);
+               ndr_print_string(ndr, "pdc_name", r->pdc_name);
                ndr_print_string(ndr, "user_name", r->user_name);
-               ndr_print_string(ndr, "domain", r->domain);
+               ndr_print_string(ndr, "domain_name", r->domain_name);
                ndr_print_netlogon_nt_version_flags(ndr, "nt_version", r->nt_version);
                ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token);
                ndr_print_uint16(ndr, "lm20_token", r->lm20_token);
@@ -1832,6 +1873,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE(struct ndr_push
                        NDR_CHECK(ndr_push_netlogon_nt_version_flags(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));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1876,6 +1918,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE(struct ndr_pull
                        NDR_CHECK(ndr_pull_netlogon_nt_version_flags(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));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1924,22 +1967,23 @@ _PUBLIC_ enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_pu
                        NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->forest));
                        NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->dns_domain));
                        NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name));
-                       NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->domain));
+                       NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->domain_name));
                        NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_name));
                        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, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->flags)));
+                       NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->iconv_convenience, ndr->flags)));
                        {
                                struct ndr_push *_ndr_sockaddr;
-                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sockaddr, 0, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->flags)));
+                               NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sockaddr, 0, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->iconv_convenience, ndr->flags)));
                                NDR_CHECK(ndr_push_nbt_sockaddr(_ndr_sockaddr, NDR_SCALARS, &r->sockaddr));
-                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sockaddr, 0, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->flags)));
+                               NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sockaddr, 0, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->iconv_convenience, ndr->flags)));
                        }
                        NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->next_closest_site));
                        NDR_CHECK(ndr_push_netlogon_nt_version_flags(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));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -1962,7 +2006,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_pu
                        NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->forest));
                        NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->dns_domain));
                        NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name));
-                       NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->domain));
+                       NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->domain_name));
                        NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_name));
                        NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name));
                        NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site));
@@ -1978,6 +2022,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_pu
                        NDR_CHECK(ndr_pull_netlogon_nt_version_flags(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));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -2000,12 +2045,12 @@ _PUBLIC_ void ndr_print_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_print *ndr, co
                ndr_print_nbt_string(ndr, "forest", r->forest);
                ndr_print_nbt_string(ndr, "dns_domain", r->dns_domain);
                ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name);
-               ndr_print_nbt_string(ndr, "domain", r->domain);
+               ndr_print_nbt_string(ndr, "domain_name", r->domain_name);
                ndr_print_nbt_string(ndr, "pdc_name", r->pdc_name);
                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, "sockaddr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_nbt_sockaddr(&r->sockaddr, ndr->flags):r->sockaddr_size);
+               ndr_print_uint8(ndr, "sockaddr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_nbt_sockaddr(&r->sockaddr, ndr->iconv_convenience, ndr->flags):r->sockaddr_size);
                ndr_print_nbt_sockaddr(ndr, "sockaddr", &r->sockaddr);
                ndr_print_nbt_string(ndr, "next_closest_site", r->next_closest_site);
                ndr_print_netlogon_nt_version_flags(ndr, "nt_version", r->nt_version);
@@ -2047,6 +2092,7 @@ static enum ndr_err_code ndr_push_nbt_netlogon_query_for_pdc(struct ndr_push *nd
                NDR_CHECK(ndr_push_netlogon_nt_version_flags(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));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2084,6 +2130,7 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_query_for_pdc(struct ndr_pull *nd
                NDR_CHECK(ndr_pull_netlogon_nt_version_flags(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));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2139,6 +2186,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc(struct ndr_pu
                        NDR_CHECK(ndr_push_netlogon_nt_version_flags(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));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -2182,6 +2230,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc(struct ndr_pu
                        NDR_CHECK(ndr_pull_netlogon_nt_version_flags(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));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -2217,6 +2266,7 @@ static enum ndr_err_code ndr_push_nbt_db_change_info(struct ndr_push *ndr, int n
                NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->db_index));
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->serial));
                NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timestamp));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2230,6 +2280,7 @@ static enum ndr_err_code ndr_pull_nbt_db_change_info(struct ndr_pull *ndr, int n
                NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->db_index));
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->serial));
                NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timestamp));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2298,6 +2349,7 @@ static enum ndr_err_code ndr_push_NETLOGON_DB_CHANGE(struct ndr_push *ndr, int n
                }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->message_format_version));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->message_token));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2361,6 +2413,7 @@ static enum ndr_err_code ndr_pull_NETLOGON_DB_CHANGE(struct ndr_pull *ndr, int n
                }
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->message_format_version));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->message_token));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2403,6 +2456,7 @@ static enum ndr_err_code ndr_push_nbt_netlogon_request(struct ndr_push *ndr, int
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
+               NDR_CHECK(ndr_push_union_align(ndr, 8));
                switch (level) {
                        case LOGON_SAM_LOGON_REQUEST: {
                                NDR_CHECK(ndr_push_NETLOGON_SAM_LOGON_REQUEST(ndr, NDR_SCALARS, &r->logon));
@@ -2417,7 +2471,7 @@ static enum ndr_err_code ndr_push_nbt_netlogon_request(struct ndr_push *ndr, int
                        break; }
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -2435,7 +2489,7 @@ static enum ndr_err_code ndr_push_nbt_netlogon_request(struct ndr_push *ndr, int
                        break;
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -2446,6 +2500,7 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_request(struct ndr_pull *ndr, int
        int level;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_union_align(ndr, 8));
                switch (level) {
                        case LOGON_SAM_LOGON_REQUEST: {
                                NDR_CHECK(ndr_pull_NETLOGON_SAM_LOGON_REQUEST(ndr, NDR_SCALARS, &r->logon));
@@ -2460,7 +2515,7 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_request(struct ndr_pull *ndr, int
                        break; }
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -2477,7 +2532,7 @@ static enum ndr_err_code ndr_pull_nbt_netlogon_request(struct ndr_pull *ndr, int
                        break;
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -2516,6 +2571,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_nbt_netlogon_packet(struct ndr_push *ndr, in
                        NDR_CHECK(ndr_push_netlogon_command(ndr, NDR_SCALARS, r->command));
                        NDR_CHECK(ndr_push_set_switch_value(ndr, &r->req, r->command));
                        NDR_CHECK(ndr_push_nbt_netlogon_request(ndr, NDR_SCALARS, &r->req));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 8));
                }
                if (ndr_flags & NDR_BUFFERS) {
                        NDR_CHECK(ndr_push_nbt_netlogon_request(ndr, NDR_BUFFERS, &r->req));
@@ -2535,6 +2591,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_nbt_netlogon_packet(struct ndr_pull *ndr, in
                        NDR_CHECK(ndr_pull_netlogon_command(ndr, NDR_SCALARS, &r->command));
                        NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->req, r->command));
                        NDR_CHECK(ndr_pull_nbt_netlogon_request(ndr, NDR_SCALARS, &r->req));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
                }
                if (ndr_flags & NDR_BUFFERS) {
                        NDR_CHECK(ndr_pull_nbt_netlogon_request(ndr, NDR_BUFFERS, &r->req));
@@ -2561,14 +2618,14 @@ _PUBLIC_ void ndr_print_nbt_netlogon_packet(struct ndr_print *ndr, const char *n
 
 static enum ndr_err_code ndr_push_nbt_browse_opcode(struct ndr_push *ndr, int ndr_flags, enum nbt_browse_opcode r)
 {
-       NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_nbt_browse_opcode(struct ndr_pull *ndr, int ndr_flags, enum nbt_browse_opcode *r)
 {
        uint8_t v;
-       NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -2611,6 +2668,7 @@ static enum ndr_err_code ndr_push_nbt_browse_host_announcement(struct ndr_push *
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2636,6 +2694,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_host_announcement(struct ndr_pull *
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2670,6 +2729,7 @@ static enum ndr_err_code ndr_push_nbt_browse_announcement_request(struct ndr_pus
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ResponseName));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2687,6 +2747,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_announcement_request(struct ndr_pul
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ResponseName));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2716,6 +2777,7 @@ static enum ndr_err_code ndr_push_nbt_browse_election_request(struct ndr_push *n
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ServerName));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2736,6 +2798,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_election_request(struct ndr_pull *n
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ServerName));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2760,6 +2823,7 @@ static enum ndr_err_code ndr_push_nbt_browse_backup_list_request(struct ndr_push
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ReqCount));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Token));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2772,6 +2836,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_backup_list_request(struct ndr_pull
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ReqCount));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Token));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2797,6 +2862,7 @@ static enum ndr_err_code ndr_push_nbt_browse_backup_list_response(struct ndr_pus
                for (cntr_BackupServerList_0 = 0; cntr_BackupServerList_0 < r->BackupCount; cntr_BackupServerList_0++) {
                        NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->BackupServerList[cntr_BackupServerList_0]));
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2818,6 +2884,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_backup_list_response(struct ndr_pul
                        NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->BackupServerList[cntr_BackupServerList_0]));
                }
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_BackupServerList_0, 0);
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2854,6 +2921,7 @@ static enum ndr_err_code ndr_push_nbt_browse_become_backup(struct ndr_push *ndr,
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->BrowserName));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2870,6 +2938,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_become_backup(struct ndr_pull *ndr,
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->BrowserName));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2901,6 +2970,7 @@ static enum ndr_err_code ndr_push_nbt_browse_domain_announcement(struct ndr_push
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2924,6 +2994,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_domain_announcement(struct ndr_pull
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2955,6 +3026,7 @@ static enum ndr_err_code ndr_push_nbt_browse_master_announcement(struct ndr_push
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ServerName));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2971,6 +3043,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_master_announcement(struct ndr_pull
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ServerName));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2990,6 +3063,7 @@ static enum ndr_err_code ndr_push_nbt_browse_reset_state(struct ndr_push *ndr, i
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 1));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Command));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -3001,6 +3075,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_reset_state(struct ndr_pull *ndr, i
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 1));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Command));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -3034,6 +3109,7 @@ static enum ndr_err_code ndr_push_nbt_browse_local_master_announcement(struct nd
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -3059,6 +3135,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_local_master_announcement(struct nd
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment));
                        ndr->flags = _flags_save_string;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -3086,6 +3163,7 @@ static enum ndr_err_code ndr_push_nbt_browse_payload(struct ndr_push *ndr, int n
 {
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
+               NDR_CHECK(ndr_push_union_align(ndr, 4));
                switch (level) {
                        case HostAnnouncement: {
                                NDR_CHECK(ndr_push_nbt_browse_host_announcement(ndr, NDR_SCALARS, &r->host_annoucement));
@@ -3128,7 +3206,7 @@ static enum ndr_err_code ndr_push_nbt_browse_payload(struct ndr_push *ndr, int n
                        break; }
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -3165,7 +3243,7 @@ static enum ndr_err_code ndr_push_nbt_browse_payload(struct ndr_push *ndr, int n
                        break;
 
                        default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -3176,6 +3254,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_payload(struct ndr_pull *ndr, int n
        int level;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_union_align(ndr, 4));
                switch (level) {
                        case HostAnnouncement: {
                                NDR_CHECK(ndr_pull_nbt_browse_host_announcement(ndr, NDR_SCALARS, &r->host_annoucement));
@@ -3218,7 +3297,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_payload(struct ndr_pull *ndr, int n
                        break; }
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        if (ndr_flags & NDR_BUFFERS) {
@@ -3254,7 +3333,7 @@ static enum ndr_err_code ndr_pull_nbt_browse_payload(struct ndr_pull *ndr, int n
                        break;
 
                        default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
                }
        }
        return NDR_ERR_SUCCESS;
@@ -3321,6 +3400,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_nbt_browse_packet(struct ndr_push *ndr, int
                        NDR_CHECK(ndr_push_nbt_browse_opcode(ndr, NDR_SCALARS, r->opcode));
                        NDR_CHECK(ndr_push_set_switch_value(ndr, &r->payload, r->opcode));
                        NDR_CHECK(ndr_push_nbt_browse_payload(ndr, NDR_SCALARS, &r->payload));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }
@@ -3339,6 +3419,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_nbt_browse_packet(struct ndr_pull *ndr, int
                        NDR_CHECK(ndr_pull_nbt_browse_opcode(ndr, NDR_SCALARS, &r->opcode));
                        NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->payload, r->opcode));
                        NDR_CHECK(ndr_pull_nbt_browse_payload(ndr, NDR_SCALARS, &r->payload));
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
                }
                if (ndr_flags & NDR_BUFFERS) {
                }