Merge branch 'master' of ssh://jra@git.samba.org/data/git/samba
[amitay/samba.git] / librpc / gen_ndr / ndr_lsa.c
index 3ad9c41fd77498750d507709e3a8c60507ba69be..ad7b2be32e70ee323c380e30e865622f07b13bbc 100644 (file)
@@ -8,16 +8,17 @@
 _PUBLIC_ enum ndr_err_code ndr_push_lsa_String(struct ndr_push *ndr, int ndr_flags, const struct lsa_String *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->string) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, 2 * strlen_m(r->string) / 2, sizeof(uint16_t), CH_UTF16));
                }
        }
@@ -29,7 +30,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_String(struct ndr_pull *ndr, int ndr_fla
        uint32_t _ptr_string;
        TALLOC_CTX *_mem_save_string_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
@@ -38,6 +39,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_String(struct ndr_pull *ndr, int ndr_fla
                } else {
                        r->string = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->string) {
@@ -79,16 +81,17 @@ _PUBLIC_ void ndr_print_lsa_String(struct ndr_print *ndr, const char *name, cons
 _PUBLIC_ enum ndr_err_code ndr_push_lsa_StringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_StringLarge *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string)));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->string) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string) / 2));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string) / 2));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, 2 * strlen_m(r->string) / 2, sizeof(uint16_t), CH_UTF16));
                }
        }
@@ -100,7 +103,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_StringLarge(struct ndr_pull *ndr, int nd
        uint32_t _ptr_string;
        TALLOC_CTX *_mem_save_string_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
@@ -109,6 +112,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_StringLarge(struct ndr_pull *ndr, int nd
                } else {
                        r->string = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->string) {
@@ -151,13 +155,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_Strings(struct ndr_push *ndr, int ndr_fl
 {
        uint32_t cntr_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->names) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
                                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
                        }
@@ -176,7 +181,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_Strings(struct ndr_pull *ndr, int ndr_fl
        TALLOC_CTX *_mem_save_names_0;
        TALLOC_CTX *_mem_save_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
                if (_ptr_names) {
@@ -184,6 +189,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_Strings(struct ndr_pull *ndr, int ndr_fl
                } else {
                        r->names = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->names) {
@@ -236,16 +242,17 @@ _PUBLIC_ void ndr_print_lsa_Strings(struct ndr_print *ndr, const char *name, con
 _PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiString(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiString *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->string) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string)));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_DOS));
                }
        }
@@ -257,7 +264,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiString(struct ndr_pull *ndr, int nd
        uint32_t _ptr_string;
        TALLOC_CTX *_mem_save_string_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
@@ -266,6 +273,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiString(struct ndr_pull *ndr, int nd
                } else {
                        r->string = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->string) {
@@ -307,16 +315,17 @@ _PUBLIC_ void ndr_print_lsa_AsciiString(struct ndr_print *ndr, const char *name,
 _PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiStringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiStringLarge *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->string)));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->string) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m_term(r->string)));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m_term(r->string)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_DOS));
                }
        }
@@ -328,7 +337,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiStringLarge(struct ndr_pull *ndr, i
        uint32_t _ptr_string;
        TALLOC_CTX *_mem_save_string_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
@@ -337,6 +346,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiStringLarge(struct ndr_pull *ndr, i
                } else {
                        r->string = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->string) {
@@ -379,16 +389,17 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_BinaryString(struct ndr_push *ndr, int n
 {
        uint32_t cntr_array_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->array) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length / 2));
                        for (cntr_array_1 = 0; cntr_array_1 < r->length / 2; cntr_array_1++) {
                                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->array[cntr_array_1]));
                        }
@@ -404,7 +415,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int n
        TALLOC_CTX *_mem_save_array_0;
        TALLOC_CTX *_mem_save_array_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
@@ -413,6 +424,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int n
                } else {
                        r->array = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->array) {
@@ -426,7 +438,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int n
                        NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
                        _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
-                       for (cntr_array_1 = 0; cntr_array_1 < r->length / 2; cntr_array_1++) {
+                       for (cntr_array_1 = 0; cntr_array_1 < ndr_get_array_length(ndr, &r->array); cntr_array_1++) {
                                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
                        }
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
@@ -473,6 +485,7 @@ static enum ndr_err_code ndr_push_lsa_LUID(struct ndr_push *ndr, int ndr_flags,
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->low));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -485,6 +498,7 @@ static enum ndr_err_code ndr_pull_lsa_LUID(struct ndr_pull *ndr, int ndr_flags,
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->low));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -503,9 +517,10 @@ _PUBLIC_ void ndr_print_lsa_LUID(struct ndr_print *ndr, const char *name, const
 static enum ndr_err_code ndr_push_lsa_PrivEntry(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivEntry *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
@@ -516,9 +531,10 @@ static enum ndr_err_code ndr_push_lsa_PrivEntry(struct ndr_push *ndr, int ndr_fl
 static enum ndr_err_code ndr_pull_lsa_PrivEntry(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivEntry *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
@@ -539,13 +555,14 @@ static enum ndr_err_code ndr_push_lsa_PrivArray(struct ndr_push *ndr, int ndr_fl
 {
        uint32_t cntr_privs_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->privs));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->privs) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
                                NDR_CHECK(ndr_push_lsa_PrivEntry(ndr, NDR_SCALARS, &r->privs[cntr_privs_1]));
                        }
@@ -564,7 +581,7 @@ static enum ndr_err_code ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_fl
        TALLOC_CTX *_mem_save_privs_0;
        TALLOC_CTX *_mem_save_privs_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privs));
                if (_ptr_privs) {
@@ -572,6 +589,7 @@ static enum ndr_err_code ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_fl
                } else {
                        r->privs = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->privs) {
@@ -624,11 +642,12 @@ _PUBLIC_ void ndr_print_lsa_PrivArray(struct ndr_print *ndr, const char *name, c
 static enum ndr_err_code ndr_push_lsa_QosInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_QosInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
+               NDR_CHECK(ndr_push_align(ndr, 5));
+               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->impersonation_level));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->context_mode));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->effective_only));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -638,11 +657,12 @@ static enum ndr_err_code ndr_push_lsa_QosInfo(struct ndr_push *ndr, int ndr_flag
 static enum ndr_err_code ndr_pull_lsa_QosInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_QosInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
+               NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->len));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->impersonation_level));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->context_mode));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->effective_only));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -653,7 +673,7 @@ _PUBLIC_ void ndr_print_lsa_QosInfo(struct ndr_print *ndr, const char *name, con
 {
        ndr_print_struct(ndr, name, "lsa_QosInfo");
        ndr->depth++;
-       ndr_print_uint32(ndr, "len", r->len);
+       ndr_print_uint3264(ndr, "len", r->len);
        ndr_print_uint16(ndr, "impersonation_level", r->impersonation_level);
        ndr_print_uint8(ndr, "context_mode", r->context_mode);
        ndr_print_uint8(ndr, "effective_only", r->effective_only);
@@ -663,22 +683,23 @@ _PUBLIC_ void ndr_print_lsa_QosInfo(struct ndr_print *ndr, const char *name, con
 static enum ndr_err_code ndr_push_lsa_ObjectAttribute(struct ndr_push *ndr, int ndr_flags, const struct lsa_ObjectAttribute *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
+               NDR_CHECK(ndr_push_align(ndr, 5));
+               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->root_dir));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_name));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sec_desc));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sec_qos));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->root_dir) {
                        NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->root_dir));
                }
                if (r->object_name) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16)));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_name, ndr_charset_length(r->object_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
                if (r->sec_desc) {
@@ -702,8 +723,8 @@ static enum ndr_err_code ndr_pull_lsa_ObjectAttribute(struct ndr_pull *ndr, int
        uint32_t _ptr_sec_qos;
        TALLOC_CTX *_mem_save_sec_qos_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
+               NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->len));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_root_dir));
                if (_ptr_root_dir) {
                        NDR_PULL_ALLOC(ndr, r->root_dir);
@@ -729,6 +750,7 @@ static enum ndr_err_code ndr_pull_lsa_ObjectAttribute(struct ndr_pull *ndr, int
                } else {
                        r->sec_qos = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->root_dir) {
@@ -769,7 +791,7 @@ _PUBLIC_ void ndr_print_lsa_ObjectAttribute(struct ndr_print *ndr, const char *n
 {
        ndr_print_struct(ndr, name, "lsa_ObjectAttribute");
        ndr->depth++;
-       ndr_print_uint32(ndr, "len", r->len);
+       ndr_print_uint3264(ndr, "len", r->len);
        ndr_print_ptr(ndr, "root_dir", r->root_dir);
        ndr->depth++;
        if (r->root_dir) {
@@ -918,6 +940,7 @@ static enum ndr_err_code ndr_push_lsa_AuditLogInfo(struct ndr_push *ndr, int ndr
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_in_progress));
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->time_to_shutdown));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_audit_record));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -934,6 +957,7 @@ static enum ndr_err_code ndr_pull_lsa_AuditLogInfo(struct ndr_pull *ndr, int ndr
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_in_progress));
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->time_to_shutdown));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_audit_record));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -955,14 +979,14 @@ _PUBLIC_ void ndr_print_lsa_AuditLogInfo(struct ndr_print *ndr, const char *name
 
 static enum ndr_err_code ndr_push_lsa_PolicyAuditPolicy(struct ndr_push *ndr, int ndr_flags, enum lsa_PolicyAuditPolicy r)
 {
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_lsa_PolicyAuditPolicy(struct ndr_pull *ndr, int ndr_flags, enum lsa_PolicyAuditPolicy *r)
 {
        uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -985,14 +1009,15 @@ static enum ndr_err_code ndr_push_lsa_AuditEventsInfo(struct ndr_push *ndr, int
 {
        uint32_t cntr_settings_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auditing_mode));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->settings));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->settings) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_settings_1 = 0; cntr_settings_1 < r->count; cntr_settings_1++) {
                                NDR_CHECK(ndr_push_lsa_PolicyAuditPolicy(ndr, NDR_SCALARS, r->settings[cntr_settings_1]));
                        }
@@ -1008,7 +1033,7 @@ static enum ndr_err_code ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int
        TALLOC_CTX *_mem_save_settings_0;
        TALLOC_CTX *_mem_save_settings_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auditing_mode));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_settings));
                if (_ptr_settings) {
@@ -1017,6 +1042,7 @@ static enum ndr_err_code ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int
                        r->settings = NULL;
                }
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->settings) {
@@ -1067,9 +1093,10 @@ _PUBLIC_ void ndr_print_lsa_AuditEventsInfo(struct ndr_print *ndr, const char *n
 static enum ndr_err_code ndr_push_lsa_DomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
@@ -1085,7 +1112,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainInfo(struct ndr_pull *ndr, int ndr_f
        uint32_t _ptr_sid;
        TALLOC_CTX *_mem_save_sid_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
                if (_ptr_sid) {
@@ -1093,6 +1120,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainInfo(struct ndr_pull *ndr, int ndr_f
                } else {
                        r->sid = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
@@ -1123,8 +1151,9 @@ _PUBLIC_ void ndr_print_lsa_DomainInfo(struct ndr_print *ndr, const char *name,
 static enum ndr_err_code ndr_push_lsa_PDAccountInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_PDAccountInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
@@ -1135,8 +1164,9 @@ static enum ndr_err_code ndr_push_lsa_PDAccountInfo(struct ndr_push *ndr, int nd
 static enum ndr_err_code ndr_pull_lsa_PDAccountInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_PDAccountInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
@@ -1154,14 +1184,14 @@ _PUBLIC_ void ndr_print_lsa_PDAccountInfo(struct ndr_print *ndr, const char *nam
 
 static enum ndr_err_code ndr_push_lsa_Role(struct ndr_push *ndr, int ndr_flags, enum lsa_Role r)
 {
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_lsa_Role(struct ndr_pull *ndr, int ndr_flags, enum lsa_Role *r)
 {
        uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -1182,6 +1212,7 @@ static enum ndr_err_code ndr_push_lsa_ServerRole(struct ndr_push *ndr, int ndr_f
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_lsa_Role(ndr, NDR_SCALARS, r->role));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1193,6 +1224,7 @@ static enum ndr_err_code ndr_pull_lsa_ServerRole(struct ndr_pull *ndr, int ndr_f
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_lsa_Role(ndr, NDR_SCALARS, &r->role));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1210,9 +1242,10 @@ _PUBLIC_ void ndr_print_lsa_ServerRole(struct ndr_print *ndr, const char *name,
 static enum ndr_err_code ndr_push_lsa_ReplicaSourceInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ReplicaSourceInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->source));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->source));
@@ -1224,9 +1257,10 @@ static enum ndr_err_code ndr_push_lsa_ReplicaSourceInfo(struct ndr_push *ndr, in
 static enum ndr_err_code ndr_pull_lsa_ReplicaSourceInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ReplicaSourceInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->source));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->source));
@@ -1254,6 +1288,7 @@ static enum ndr_err_code ndr_push_lsa_DefaultQuotaInfo(struct ndr_push *ndr, int
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_wss));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefile));
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1270,6 +1305,7 @@ static enum ndr_err_code ndr_pull_lsa_DefaultQuotaInfo(struct ndr_pull *ndr, int
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_wss));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefile));
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1295,6 +1331,7 @@ static enum ndr_err_code ndr_push_lsa_ModificationInfo(struct ndr_push *ndr, int
                NDR_CHECK(ndr_push_align(ndr, 8));
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_id));
                NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->db_create_time));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1307,6 +1344,7 @@ static enum ndr_err_code ndr_pull_lsa_ModificationInfo(struct ndr_pull *ndr, int
                NDR_CHECK(ndr_pull_align(ndr, 8));
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_id));
                NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->db_create_time));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1327,6 +1365,7 @@ static enum ndr_err_code ndr_push_lsa_AuditFullSetInfo(struct ndr_push *ndr, int
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 1));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_on_full));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1338,6 +1377,7 @@ static enum ndr_err_code ndr_pull_lsa_AuditFullSetInfo(struct ndr_pull *ndr, int
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 1));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_on_full));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1358,6 +1398,7 @@ static enum ndr_err_code ndr_push_lsa_AuditFullQueryInfo(struct ndr_push *ndr, i
                NDR_CHECK(ndr_push_align(ndr, 1));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_on_full));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->log_is_full));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1370,6 +1411,7 @@ static enum ndr_err_code ndr_pull_lsa_AuditFullQueryInfo(struct ndr_pull *ndr, i
                NDR_CHECK(ndr_pull_align(ndr, 1));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_on_full));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->log_is_full));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1388,12 +1430,13 @@ _PUBLIC_ void ndr_print_lsa_AuditFullQueryInfo(struct ndr_print *ndr, const char
 static enum ndr_err_code ndr_push_lsa_DnsDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DnsDomainInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forest));
                NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
@@ -1411,7 +1454,7 @@ static enum ndr_err_code ndr_pull_lsa_DnsDomainInfo(struct ndr_pull *ndr, int nd
        uint32_t _ptr_sid;
        TALLOC_CTX *_mem_save_sid_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forest));
@@ -1422,6 +1465,7 @@ static enum ndr_err_code ndr_pull_lsa_DnsDomainInfo(struct ndr_pull *ndr, int nd
                } else {
                        r->sid = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
@@ -1456,14 +1500,14 @@ _PUBLIC_ void ndr_print_lsa_DnsDomainInfo(struct ndr_print *ndr, const char *nam
 
 static enum ndr_err_code ndr_push_lsa_PolicyInfo(struct ndr_push *ndr, int ndr_flags, enum lsa_PolicyInfo r)
 {
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_lsa_PolicyInfo(struct ndr_pull *ndr, int ndr_flags, enum lsa_PolicyInfo *r)
 {
        uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -1496,6 +1540,7 @@ static enum ndr_err_code ndr_push_lsa_PolicyInformation(struct ndr_push *ndr, in
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
+               NDR_CHECK(ndr_push_union_align(ndr, 8));
                switch (level) {
                        case LSA_POLICY_INFO_AUDIT_LOG: {
                                NDR_CHECK(ndr_push_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log));
@@ -1554,7 +1599,7 @@ static enum ndr_err_code ndr_push_lsa_PolicyInformation(struct ndr_push *ndr, in
                        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) {
@@ -1611,7 +1656,7 @@ static enum ndr_err_code ndr_push_lsa_PolicyInformation(struct ndr_push *ndr, in
                        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;
@@ -1625,8 +1670,9 @@ static enum ndr_err_code ndr_pull_lsa_PolicyInformation(struct ndr_pull *ndr, in
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
                }
+               NDR_CHECK(ndr_pull_union_align(ndr, 8));
                switch (level) {
                        case LSA_POLICY_INFO_AUDIT_LOG: {
                                NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log));
@@ -1685,7 +1731,7 @@ static enum ndr_err_code ndr_pull_lsa_PolicyInformation(struct ndr_pull *ndr, in
                        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) {
@@ -1741,7 +1787,7 @@ static enum ndr_err_code ndr_pull_lsa_PolicyInformation(struct ndr_pull *ndr, in
                        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;
@@ -1817,8 +1863,9 @@ _PUBLIC_ void ndr_print_lsa_PolicyInformation(struct ndr_print *ndr, const char
 static enum ndr_err_code ndr_push_lsa_SidPtr(struct ndr_push *ndr, int ndr_flags, const struct lsa_SidPtr *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sid) {
@@ -1833,13 +1880,14 @@ static enum ndr_err_code ndr_pull_lsa_SidPtr(struct ndr_pull *ndr, int ndr_flags
        uint32_t _ptr_sid;
        TALLOC_CTX *_mem_save_sid_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
                if (_ptr_sid) {
                        NDR_PULL_ALLOC(ndr, r->sid);
                } else {
                        r->sid = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sid) {
@@ -1869,13 +1917,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_f
 {
        uint32_t cntr_sids_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sids) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
                        for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
                                NDR_CHECK(ndr_push_lsa_SidPtr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
                        }
@@ -1894,7 +1943,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_f
        TALLOC_CTX *_mem_save_sids_0;
        TALLOC_CTX *_mem_save_sids_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
                if (r->num_sids > 1000) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -1905,6 +1954,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_f
                } else {
                        r->sids = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sids) {
@@ -1958,13 +2008,14 @@ static enum ndr_err_code ndr_push_lsa_DomainList(struct ndr_push *ndr, int ndr_f
 {
        uint32_t cntr_domains_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->domains) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
                                NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
                        }
@@ -1983,7 +2034,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_f
        TALLOC_CTX *_mem_save_domains_0;
        TALLOC_CTX *_mem_save_domains_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
                if (_ptr_domains) {
@@ -1991,6 +2042,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_f
                } else {
                        r->domains = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->domains) {
@@ -2042,14 +2094,14 @@ _PUBLIC_ void ndr_print_lsa_DomainList(struct ndr_print *ndr, const char *name,
 
 _PUBLIC_ enum ndr_err_code ndr_push_lsa_SidType(struct ndr_push *ndr, int ndr_flags, enum lsa_SidType r)
 {
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidType(struct ndr_pull *ndr, int ndr_flags, enum lsa_SidType *r)
 {
        uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -2080,6 +2132,7 @@ static enum ndr_err_code ndr_push_lsa_TranslatedSid(struct ndr_push *ndr, int nd
                NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2093,6 +2146,7 @@ static enum ndr_err_code ndr_pull_lsa_TranslatedSid(struct ndr_pull *ndr, int nd
                NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2113,13 +2167,14 @@ static enum ndr_err_code ndr_push_lsa_TransSidArray(struct ndr_push *ndr, int nd
 {
        uint32_t cntr_sids_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sids) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
                                NDR_CHECK(ndr_push_lsa_TranslatedSid(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
                        }
@@ -2135,7 +2190,7 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int nd
        TALLOC_CTX *_mem_save_sids_0;
        TALLOC_CTX *_mem_save_sids_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                if (r->count > 1000) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -2146,6 +2201,7 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int nd
                } else {
                        r->sids = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sids) {
@@ -2196,14 +2252,15 @@ static enum ndr_err_code ndr_push_lsa_RefDomainList(struct ndr_push *ndr, int nd
 {
        uint32_t cntr_domains_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_size));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->domains) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
                                NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
                        }
@@ -2222,7 +2279,7 @@ static enum ndr_err_code ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int nd
        TALLOC_CTX *_mem_save_domains_0;
        TALLOC_CTX *_mem_save_domains_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                if (r->count > 1000) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -2234,6 +2291,7 @@ static enum ndr_err_code ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int nd
                        r->domains = NULL;
                }
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_size));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->domains) {
@@ -2286,14 +2344,14 @@ _PUBLIC_ void ndr_print_lsa_RefDomainList(struct ndr_print *ndr, const char *nam
 
 static enum ndr_err_code ndr_push_lsa_LookupNamesLevel(struct ndr_push *ndr, int ndr_flags, enum lsa_LookupNamesLevel r)
 {
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_lsa_LookupNamesLevel(struct ndr_pull *ndr, int ndr_flags, enum lsa_LookupNamesLevel *r)
 {
        uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -2317,10 +2375,11 @@ _PUBLIC_ void ndr_print_lsa_LookupNamesLevel(struct ndr_print *ndr, const char *
 static enum ndr_err_code ndr_push_lsa_TranslatedName(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedName *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
@@ -2331,10 +2390,11 @@ static enum ndr_err_code ndr_push_lsa_TranslatedName(struct ndr_push *ndr, int n
 static enum ndr_err_code ndr_pull_lsa_TranslatedName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
@@ -2356,13 +2416,14 @@ static enum ndr_err_code ndr_push_lsa_TransNameArray(struct ndr_push *ndr, int n
 {
        uint32_t cntr_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->names) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
                                NDR_CHECK(ndr_push_lsa_TranslatedName(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
                        }
@@ -2381,7 +2442,7 @@ static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int n
        TALLOC_CTX *_mem_save_names_0;
        TALLOC_CTX *_mem_save_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                if (r->count > 1000) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -2392,6 +2453,7 @@ static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int n
                } else {
                        r->names = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->names) {
@@ -2447,6 +2509,7 @@ static enum ndr_err_code ndr_push_lsa_LUIDAttribute(struct ndr_push *ndr, int nd
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribute));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2459,6 +2522,7 @@ static enum ndr_err_code ndr_pull_lsa_LUIDAttribute(struct ndr_pull *ndr, int nd
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribute));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2478,13 +2542,14 @@ static enum ndr_err_code ndr_push_lsa_PrivilegeSet(struct ndr_push *ndr, int ndr
 {
        uint32_t cntr_set_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
                for (cntr_set_0 = 0; cntr_set_0 < r->count; cntr_set_0++) {
                        NDR_CHECK(ndr_push_lsa_LUIDAttribute(ndr, NDR_SCALARS, &r->set[cntr_set_0]));
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2513,6 +2578,7 @@ static enum ndr_err_code ndr_pull_lsa_PrivilegeSet(struct ndr_pull *ndr, int ndr
                if (r->set) {
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->set, r->count));
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2545,16 +2611,17 @@ static enum ndr_err_code ndr_push_lsa_DATA_BUF(struct ndr_push *ndr, int ndr_fla
                uint32_t _flags_save_STRUCT = ndr->flags;
                ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
                if (ndr_flags & NDR_SCALARS) {
-                       NDR_CHECK(ndr_push_align(ndr, 4));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
+                       NDR_CHECK(ndr_push_align(ndr, 5));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
                        NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 5));
                }
                if (ndr_flags & NDR_BUFFERS) {
                        if (r->data) {
-                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
-                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
+                               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
+                               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
                                NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
                        }
                }
@@ -2571,15 +2638,16 @@ static enum ndr_err_code ndr_pull_lsa_DATA_BUF(struct ndr_pull *ndr, int ndr_fla
                uint32_t _flags_save_STRUCT = ndr->flags;
                ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
                if (ndr_flags & NDR_SCALARS) {
-                       NDR_CHECK(ndr_pull_align(ndr, 4));
-                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
-                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
+                       NDR_CHECK(ndr_pull_align(ndr, 5));
+                       NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length));
+                       NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->size));
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
                        if (_ptr_data) {
                                NDR_PULL_ALLOC(ndr, r->data);
                        } else {
                                r->data = NULL;
                        }
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
                }
                if (ndr_flags & NDR_BUFFERS) {
                        if (r->data) {
@@ -2613,8 +2681,8 @@ _PUBLIC_ void ndr_print_lsa_DATA_BUF(struct ndr_print *ndr, const char *name, co
                uint32_t _flags_save_STRUCT = ndr->flags;
                ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
                ndr->depth++;
-               ndr_print_uint32(ndr, "length", r->length);
-               ndr_print_uint32(ndr, "size", r->size);
+               ndr_print_uint3264(ndr, "length", r->length);
+               ndr_print_uint3264(ndr, "size", r->size);
                ndr_print_ptr(ndr, "data", r->data);
                ndr->depth++;
                if (r->data) {
@@ -2632,13 +2700,14 @@ static enum ndr_err_code ndr_push_lsa_DATA_BUF2(struct ndr_push *ndr, int ndr_fl
                uint32_t _flags_save_STRUCT = ndr->flags;
                ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
                if (ndr_flags & NDR_SCALARS) {
-                       NDR_CHECK(ndr_push_align(ndr, 4));
+                       NDR_CHECK(ndr_push_align(ndr, 5));
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
                        NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
+                       NDR_CHECK(ndr_push_trailer_align(ndr, 5));
                }
                if (ndr_flags & NDR_BUFFERS) {
                        if (r->data) {
-                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
+                               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
                                NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
                        }
                }
@@ -2655,7 +2724,7 @@ static enum ndr_err_code ndr_pull_lsa_DATA_BUF2(struct ndr_pull *ndr, int ndr_fl
                uint32_t _flags_save_STRUCT = ndr->flags;
                ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
                if (ndr_flags & NDR_SCALARS) {
-                       NDR_CHECK(ndr_pull_align(ndr, 4));
+                       NDR_CHECK(ndr_pull_align(ndr, 5));
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
                        if (r->size > 65536) {
                                return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -2666,6 +2735,7 @@ static enum ndr_err_code ndr_pull_lsa_DATA_BUF2(struct ndr_pull *ndr, int ndr_fl
                        } else {
                                r->data = NULL;
                        }
+                       NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
                }
                if (ndr_flags & NDR_BUFFERS) {
                        if (r->data) {
@@ -2706,14 +2776,14 @@ _PUBLIC_ void ndr_print_lsa_DATA_BUF2(struct ndr_print *ndr, const char *name, c
 
 static enum ndr_err_code ndr_push_lsa_TrustDomInfoEnum(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustDomInfoEnum r)
 {
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_lsa_TrustDomInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustDomInfoEnum *r)
 {
        uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -2735,7 +2805,7 @@ _PUBLIC_ void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print *ndr, const char *
                case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL"; break;
                case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL"; break;
                case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL"; break;
-               case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES: val = "LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES"; break;
+               case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: val = "LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES"; break;
        }
        ndr_print_enum(ndr, name, "ENUM", val, r);
 }
@@ -2765,14 +2835,14 @@ _PUBLIC_ void ndr_print_lsa_TrustDirection(struct ndr_print *ndr, const char *na
 
 static enum ndr_err_code ndr_push_lsa_TrustType(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustType r)
 {
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_lsa_TrustType(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustType *r)
 {
        uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -2821,8 +2891,9 @@ _PUBLIC_ void ndr_print_lsa_TrustAttributes(struct ndr_print *ndr, const char *n
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoName(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoName *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
@@ -2833,8 +2904,9 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoName(struct ndr_push *ndr,
 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoName *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
@@ -2854,13 +2926,14 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoControllers(struct ndr_push
 {
        uint32_t cntr_netbios_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_names));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->netbios_names) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries));
                        for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) {
                                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_names[cntr_netbios_names_1]));
                        }
@@ -2879,7 +2952,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoControllers(struct ndr_pull
        TALLOC_CTX *_mem_save_netbios_names_0;
        TALLOC_CTX *_mem_save_netbios_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_names));
                if (_ptr_netbios_names) {
@@ -2887,6 +2960,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoControllers(struct ndr_pull
                } else {
                        r->netbios_names = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->netbios_names) {
@@ -2941,6 +3015,7 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoPosixOffset(struct ndr_push
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2952,6 +3027,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPosixOffset(struct ndr_pull
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -2969,9 +3045,10 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print *ndr, co
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoPassword(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoPassword *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->old_password));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->password) {
@@ -2991,7 +3068,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPassword(struct ndr_pull *n
        uint32_t _ptr_old_password;
        TALLOC_CTX *_mem_save_old_password_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
                if (_ptr_password) {
                        NDR_PULL_ALLOC(ndr, r->password);
@@ -3004,6 +3081,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPassword(struct ndr_pull *n
                } else {
                        r->old_password = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->password) {
@@ -3044,9 +3122,10 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print *ndr, const
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoBasic(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoBasic *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->netbios_name));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->netbios_name));
@@ -3062,7 +3141,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoBasic(struct ndr_pull *ndr,
        uint32_t _ptr_sid;
        TALLOC_CTX *_mem_save_sid_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->netbios_name));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
                if (_ptr_sid) {
@@ -3070,6 +3149,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoBasic(struct ndr_pull *ndr,
                } else {
                        r->sid = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->netbios_name));
@@ -3100,13 +3180,14 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print *ndr, const ch
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoInfoEx(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoInfoEx *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain_name));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
                NDR_CHECK(ndr_push_lsa_TrustDirection(ndr, NDR_SCALARS, r->trust_direction));
                NDR_CHECK(ndr_push_lsa_TrustType(ndr, NDR_SCALARS, r->trust_type));
                NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain_name));
@@ -3123,7 +3204,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx(struct ndr_pull *ndr
        uint32_t _ptr_sid;
        TALLOC_CTX *_mem_save_sid_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain_name));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
@@ -3135,6 +3216,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx(struct ndr_pull *ndr
                NDR_CHECK(ndr_pull_lsa_TrustDirection(ndr, NDR_SCALARS, &r->trust_direction));
                NDR_CHECK(ndr_pull_lsa_TrustType(ndr, NDR_SCALARS, &r->trust_type));
                NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain_name));
@@ -3169,14 +3251,14 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print *ndr, const c
 
 _PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustAuthType(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustAuthType r)
 {
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustAuthType(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustAuthType *r)
 {
        uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -3201,6 +3283,7 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoBuffer(struct ndr_push *ndr
                NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_update_time));
                NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType));
                NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->data));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->data));
@@ -3215,6 +3298,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoBuffer(struct ndr_pull *ndr
                NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_update_time));
                NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType));
                NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->data));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->data));
@@ -3235,13 +3319,14 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print *ndr, const c
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoAuthInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoAuthInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->incoming_count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->incoming_current_auth_info));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->incoming_previous_auth_info));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->outgoing_count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->outgoing_current_auth_info));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->outgoing_previous_auth_info));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->incoming_current_auth_info) {
@@ -3271,7 +3356,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoAuthInfo(struct ndr_pull *n
        uint32_t _ptr_outgoing_previous_auth_info;
        TALLOC_CTX *_mem_save_outgoing_previous_auth_info_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->incoming_count));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_incoming_current_auth_info));
                if (_ptr_incoming_current_auth_info) {
@@ -3298,6 +3383,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoAuthInfo(struct ndr_pull *n
                } else {
                        r->outgoing_previous_auth_info = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->incoming_current_auth_info) {
@@ -3364,10 +3450,11 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print *ndr, const
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
@@ -3379,10 +3466,11 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfo(struct ndr_push *n
 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
@@ -3404,8 +3492,9 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print *ndr, const
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoAuthInfoInternal *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->auth_blob));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->auth_blob));
@@ -3416,8 +3505,9 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoAuthInfoInternal(struct ndr
 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoAuthInfoInternal *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->auth_blob));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->auth_blob));
@@ -3436,10 +3526,11 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_print *nd
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfoInternal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfoInternal *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
@@ -3451,10 +3542,11 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfoInternal(struct ndr
 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfoInternal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfoInternal *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
@@ -3476,15 +3568,16 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfoInternal(struct ndr_print *nd
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoInfoEx2Internal *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->forest_trust_length));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_trust_data));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
                if (r->forest_trust_data) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->forest_trust_length));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->forest_trust_length));
                        NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->forest_trust_data, r->forest_trust_length));
                }
        }
@@ -3496,7 +3589,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_
        uint32_t _ptr_forest_trust_data;
        TALLOC_CTX *_mem_save_forest_trust_data_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->forest_trust_length));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_data));
@@ -3505,6 +3598,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_
                } else {
                        r->forest_trust_data = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
@@ -3541,10 +3635,11 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_print *ndr
 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfo2Internal *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info));
@@ -3556,10 +3651,11 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfo2Internal(struct nd
 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfo2Internal *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info));
@@ -3583,6 +3679,7 @@ static enum ndr_err_code ndr_push_lsa_TrustDomainInfoSupportedEncTypes(struct nd
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_kerb_EncTypes(ndr, NDR_SCALARS, r->enc_types));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -3594,6 +3691,7 @@ static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(struct nd
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_kerb_EncTypes(ndr, NDR_SCALARS, &r->enc_types));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -3613,6 +3711,7 @@ static enum ndr_err_code ndr_push_lsa_TrustedDomainInfo(struct ndr_push *ndr, in
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, level));
+               NDR_CHECK(ndr_push_union_align(ndr, 5));
                switch (level) {
                        case LSA_TRUSTED_DOMAIN_INFO_NAME: {
                                NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr, NDR_SCALARS, &r->name));
@@ -3662,12 +3761,12 @@ static enum ndr_err_code ndr_push_lsa_TrustedDomainInfo(struct ndr_push *ndr, in
                                NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_SCALARS, &r->full_info2_internal));
                        break; }
 
-                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES: {
+                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: {
                                NDR_CHECK(ndr_push_lsa_TrustDomainInfoSupportedEncTypes(ndr, NDR_SCALARS, &r->enc_types));
                        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) {
@@ -3720,11 +3819,11 @@ static enum ndr_err_code ndr_push_lsa_TrustedDomainInfo(struct ndr_push *ndr, in
                                NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_BUFFERS, &r->full_info2_internal));
                        break;
 
-                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES:
+                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
                        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;
@@ -3736,10 +3835,11 @@ static enum ndr_err_code ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull *ndr, in
        uint16_t _level;
        level = ndr_pull_get_switch_value(ndr, r);
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
+               NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
                }
+               NDR_CHECK(ndr_pull_union_align(ndr, 5));
                switch (level) {
                        case LSA_TRUSTED_DOMAIN_INFO_NAME: {
                                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr, NDR_SCALARS, &r->name));
@@ -3789,12 +3889,12 @@ static enum ndr_err_code ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull *ndr, in
                                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_SCALARS, &r->full_info2_internal));
                        break; }
 
-                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES: {
+                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: {
                                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(ndr, NDR_SCALARS, &r->enc_types));
                        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) {
@@ -3846,11 +3946,11 @@ static enum ndr_err_code ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull *ndr, in
                                NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_BUFFERS, &r->full_info2_internal));
                        break;
 
-                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES:
+                       case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
                        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;
@@ -3910,7 +4010,7 @@ _PUBLIC_ void ndr_print_lsa_TrustedDomainInfo(struct ndr_print *ndr, const char
                        ndr_print_lsa_TrustDomainInfoFullInfo2Internal(ndr, "full_info2_internal", &r->full_info2_internal);
                break;
 
-               case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES:
+               case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
                        ndr_print_lsa_TrustDomainInfoSupportedEncTypes(ndr, "enc_types", &r->enc_types);
                break;
 
@@ -3922,8 +4022,9 @@ _PUBLIC_ void ndr_print_lsa_TrustedDomainInfo(struct ndr_print *ndr, const char
 static enum ndr_err_code ndr_push_lsa_DATA_BUF_PTR(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF_PTR *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->buf));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->buf) {
@@ -3938,13 +4039,14 @@ static enum ndr_err_code ndr_pull_lsa_DATA_BUF_PTR(struct ndr_pull *ndr, int ndr
        uint32_t _ptr_buf;
        TALLOC_CTX *_mem_save_buf_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buf));
                if (_ptr_buf) {
                        NDR_PULL_ALLOC(ndr, r->buf);
                } else {
                        r->buf = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->buf) {
@@ -3974,13 +4076,14 @@ static enum ndr_err_code ndr_push_lsa_RightSet(struct ndr_push *ndr, int ndr_fla
 {
        uint32_t cntr_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->names) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
                                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
                        }
@@ -3999,7 +4102,7 @@ static enum ndr_err_code ndr_pull_lsa_RightSet(struct ndr_pull *ndr, int ndr_fla
        TALLOC_CTX *_mem_save_names_0;
        TALLOC_CTX *_mem_save_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                if (r->count > 256) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -4010,6 +4113,7 @@ static enum ndr_err_code ndr_pull_lsa_RightSet(struct ndr_pull *ndr, int ndr_fla
                } else {
                        r->names = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->names) {
@@ -4063,13 +4167,14 @@ static enum ndr_err_code ndr_push_lsa_DomainListEx(struct ndr_push *ndr, int ndr
 {
        uint32_t cntr_domains_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->domains) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
                                NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
                        }
@@ -4088,7 +4193,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainListEx(struct ndr_pull *ndr, int ndr
        TALLOC_CTX *_mem_save_domains_0;
        TALLOC_CTX *_mem_save_domains_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
                if (_ptr_domains) {
@@ -4096,6 +4201,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainListEx(struct ndr_pull *ndr, int ndr
                } else {
                        r->domains = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->domains) {
@@ -4155,6 +4261,7 @@ static enum ndr_err_code ndr_push_lsa_DomainInfoKerberos(struct ndr_push *ndr, i
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->user_tkt_renewaltime));
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->clock_skew));
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown6));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -4171,6 +4278,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainInfoKerberos(struct ndr_pull *ndr, i
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->user_tkt_renewaltime));
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->clock_skew));
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown6));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -4193,13 +4301,14 @@ _PUBLIC_ void ndr_print_lsa_DomainInfoKerberos(struct ndr_print *ndr, const char
 static enum ndr_err_code ndr_push_lsa_DomainInfoEfs(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfoEfs *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->blob_size));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->efs_blob));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->efs_blob) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->blob_size));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->blob_size));
                        NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->efs_blob, r->blob_size));
                }
        }
@@ -4211,7 +4320,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainInfoEfs(struct ndr_pull *ndr, int nd
        uint32_t _ptr_efs_blob;
        TALLOC_CTX *_mem_save_efs_blob_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blob_size));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_efs_blob));
                if (_ptr_efs_blob) {
@@ -4219,6 +4328,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainInfoEfs(struct ndr_pull *ndr, int nd
                } else {
                        r->efs_blob = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->efs_blob) {
@@ -4255,6 +4365,7 @@ static enum ndr_err_code ndr_push_lsa_DomainInformationPolicy(struct ndr_push *n
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
+               NDR_CHECK(ndr_push_union_align(ndr, 8));
                switch (level) {
                        case LSA_DOMAIN_INFO_POLICY_EFS: {
                                NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr, NDR_SCALARS, &r->efs_info));
@@ -4265,7 +4376,7 @@ static enum ndr_err_code ndr_push_lsa_DomainInformationPolicy(struct ndr_push *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) {
@@ -4279,7 +4390,7 @@ static enum ndr_err_code ndr_push_lsa_DomainInformationPolicy(struct ndr_push *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;
@@ -4293,8 +4404,9 @@ static enum ndr_err_code ndr_pull_lsa_DomainInformationPolicy(struct ndr_pull *n
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
                }
+               NDR_CHECK(ndr_pull_union_align(ndr, 8));
                switch (level) {
                        case LSA_DOMAIN_INFO_POLICY_EFS: {
                                NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr, NDR_SCALARS, &r->efs_info));
@@ -4305,7 +4417,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainInformationPolicy(struct ndr_pull *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) {
@@ -4318,7 +4430,7 @@ static enum ndr_err_code ndr_pull_lsa_DomainInformationPolicy(struct ndr_pull *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;
@@ -4346,11 +4458,12 @@ _PUBLIC_ void ndr_print_lsa_DomainInformationPolicy(struct ndr_print *ndr, const
 static enum ndr_err_code ndr_push_lsa_TranslatedName2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedName2 *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
@@ -4361,11 +4474,12 @@ static enum ndr_err_code ndr_push_lsa_TranslatedName2(struct ndr_push *ndr, int
 static enum ndr_err_code ndr_pull_lsa_TranslatedName2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName2 *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
@@ -4388,13 +4502,14 @@ static enum ndr_err_code ndr_push_lsa_TransNameArray2(struct ndr_push *ndr, int
 {
        uint32_t cntr_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->names) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
                                NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
                        }
@@ -4413,7 +4528,7 @@ static enum ndr_err_code ndr_pull_lsa_TransNameArray2(struct ndr_pull *ndr, int
        TALLOC_CTX *_mem_save_names_0;
        TALLOC_CTX *_mem_save_names_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                if (r->count > 1000) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -4424,6 +4539,7 @@ static enum ndr_err_code ndr_pull_lsa_TransNameArray2(struct ndr_pull *ndr, int
                } else {
                        r->names = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->names) {
@@ -4473,6 +4589,56 @@ _PUBLIC_ void ndr_print_lsa_TransNameArray2(struct ndr_print *ndr, const char *n
        ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_lsa_LookupOptions(struct ndr_push *ndr, int ndr_flags, enum lsa_LookupOptions r)
+{
+       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_lsa_LookupOptions(struct ndr_pull *ndr, int ndr_flags, enum lsa_LookupOptions *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_lsa_LookupOptions(struct ndr_print *ndr, const char *name, enum lsa_LookupOptions r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES: val = "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES"; break;
+               case LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL: val = "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_lsa_ClientRevision(struct ndr_push *ndr, int ndr_flags, enum lsa_ClientRevision r)
+{
+       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_lsa_ClientRevision(struct ndr_pull *ndr, int ndr_flags, enum lsa_ClientRevision *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_lsa_ClientRevision(struct ndr_print *ndr, const char *name, enum lsa_ClientRevision r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case LSA_CLIENT_REVISION_1: val = "LSA_CLIENT_REVISION_1"; break;
+               case LSA_CLIENT_REVISION_2: val = "LSA_CLIENT_REVISION_2"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
 static enum ndr_err_code ndr_push_lsa_TranslatedSid2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid2 *r)
 {
        if (ndr_flags & NDR_SCALARS) {
@@ -4481,6 +4647,7 @@ static enum ndr_err_code ndr_push_lsa_TranslatedSid2(struct ndr_push *ndr, int n
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -4495,6 +4662,7 @@ static enum ndr_err_code ndr_pull_lsa_TranslatedSid2(struct ndr_pull *ndr, int n
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -4516,13 +4684,14 @@ static enum ndr_err_code ndr_push_lsa_TransSidArray2(struct ndr_push *ndr, int n
 {
        uint32_t cntr_sids_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sids) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
                                NDR_CHECK(ndr_push_lsa_TranslatedSid2(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
                        }
@@ -4538,7 +4707,7 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray2(struct ndr_pull *ndr, int n
        TALLOC_CTX *_mem_save_sids_0;
        TALLOC_CTX *_mem_save_sids_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                if (r->count > 1000) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -4549,6 +4718,7 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray2(struct ndr_pull *ndr, int n
                } else {
                        r->sids = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sids) {
@@ -4598,11 +4768,12 @@ _PUBLIC_ void ndr_print_lsa_TransSidArray2(struct ndr_print *ndr, const char *na
 static enum ndr_err_code ndr_push_lsa_TranslatedSid3(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid3 *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sid) {
@@ -4617,7 +4788,7 @@ static enum ndr_err_code ndr_pull_lsa_TranslatedSid3(struct ndr_pull *ndr, int n
        uint32_t _ptr_sid;
        TALLOC_CTX *_mem_save_sid_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
                if (_ptr_sid) {
@@ -4627,6 +4798,7 @@ static enum ndr_err_code ndr_pull_lsa_TranslatedSid3(struct ndr_pull *ndr, int n
                }
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sid) {
@@ -4659,13 +4831,14 @@ static enum ndr_err_code ndr_push_lsa_TransSidArray3(struct ndr_push *ndr, int n
 {
        uint32_t cntr_sids_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sids) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
                                NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
                        }
@@ -4684,7 +4857,7 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray3(struct ndr_pull *ndr, int n
        TALLOC_CTX *_mem_save_sids_0;
        TALLOC_CTX *_mem_save_sids_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                if (r->count > 1000) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -4695,6 +4868,7 @@ static enum ndr_err_code ndr_pull_lsa_TransSidArray3(struct ndr_pull *ndr, int n
                } else {
                        r->sids = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->sids) {
@@ -4747,13 +4921,14 @@ _PUBLIC_ void ndr_print_lsa_TransSidArray3(struct ndr_print *ndr, const char *na
 static enum ndr_err_code ndr_push_lsa_ForestTrustBinaryData(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustBinaryData *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
+               NDR_CHECK(ndr_push_align(ndr, 5));
+               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->data) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
                        NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
                }
        }
@@ -4765,8 +4940,8 @@ static enum ndr_err_code ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull *ndr
        uint32_t _ptr_data;
        TALLOC_CTX *_mem_save_data_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
+               NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length));
                if (r->length > 131072) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
                }
@@ -4776,6 +4951,7 @@ static enum ndr_err_code ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull *ndr
                } else {
                        r->data = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->data) {
@@ -4797,7 +4973,7 @@ _PUBLIC_ void ndr_print_lsa_ForestTrustBinaryData(struct ndr_print *ndr, const c
 {
        ndr_print_struct(ndr, name, "lsa_ForestTrustBinaryData");
        ndr->depth++;
-       ndr_print_uint32(ndr, "length", r->length);
+       ndr_print_uint3264(ndr, "length", r->length);
        ndr_print_ptr(ndr, "data", r->data);
        ndr->depth++;
        if (r->data) {
@@ -4810,10 +4986,11 @@ _PUBLIC_ void ndr_print_lsa_ForestTrustBinaryData(struct ndr_print *ndr, const c
 static enum ndr_err_code ndr_push_lsa_ForestTrustDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustDomainInfo *r)
 {
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain_name));
                NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_domain_name));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->domain_sid) {
@@ -4830,7 +5007,7 @@ static enum ndr_err_code ndr_pull_lsa_ForestTrustDomainInfo(struct ndr_pull *ndr
        uint32_t _ptr_domain_sid;
        TALLOC_CTX *_mem_save_domain_sid_0;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
                if (_ptr_domain_sid) {
                        NDR_PULL_ALLOC(ndr, r->domain_sid);
@@ -4839,6 +5016,7 @@ static enum ndr_err_code ndr_pull_lsa_ForestTrustDomainInfo(struct ndr_pull *ndr
                }
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain_name));
                NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_domain_name));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->domain_sid) {
@@ -4873,6 +5051,7 @@ static enum ndr_err_code ndr_push_lsa_ForestTrustData(struct ndr_push *ndr, int
        if (ndr_flags & NDR_SCALARS) {
                int level = ndr_push_get_switch_value(ndr, r);
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+               NDR_CHECK(ndr_push_union_align(ndr, 5));
                switch (level) {
                        case LSA_FOREST_TRUST_TOP_LEVEL_NAME: {
                                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->top_level_name));
@@ -4924,8 +5103,9 @@ static enum ndr_err_code ndr_pull_lsa_ForestTrustData(struct ndr_pull *ndr, int
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
                if (_level != level) {
-                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
                }
+               NDR_CHECK(ndr_pull_union_align(ndr, 5));
                switch (level) {
                        case LSA_FOREST_TRUST_TOP_LEVEL_NAME: {
                                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->top_level_name));
@@ -4995,14 +5175,14 @@ _PUBLIC_ void ndr_print_lsa_ForestTrustData(struct ndr_print *ndr, const char *n
 
 static enum ndr_err_code ndr_push_lsa_ForestTrustRecordType(struct ndr_push *ndr, int ndr_flags, enum lsa_ForestTrustRecordType r)
 {
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_lsa_ForestTrustRecordType(struct ndr_pull *ndr, int ndr_flags, enum lsa_ForestTrustRecordType *r)
 {
        uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
@@ -5029,6 +5209,7 @@ static enum ndr_err_code ndr_push_lsa_ForestTrustRecord(struct ndr_push *ndr, in
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->forest_trust_data, r->level));
                NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr, NDR_SCALARS, &r->forest_trust_data));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr, NDR_BUFFERS, &r->forest_trust_data));
@@ -5045,6 +5226,7 @@ static enum ndr_err_code ndr_pull_lsa_ForestTrustRecord(struct ndr_pull *ndr, in
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown));
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->forest_trust_data, r->level));
                NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr, NDR_SCALARS, &r->forest_trust_data));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr, NDR_BUFFERS, &r->forest_trust_data));
@@ -5068,13 +5250,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_ForestTrustInformation(struct ndr_push *
 {
        uint32_t cntr_entries_1;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->entries) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
                        for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries[cntr_entries_1]));
                        }
@@ -5096,7 +5279,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_ForestTrustInformation(struct ndr_pull *
        TALLOC_CTX *_mem_save_entries_1;
        TALLOC_CTX *_mem_save_entries_2;
        if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_align(ndr, 5));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
                if (r->count > 4000) {
                        return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
@@ -5107,6 +5290,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_ForestTrustInformation(struct ndr_pull *
                } else {
                        r->entries = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->entries) {
@@ -6393,7 +6577,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames(struct ndr_push *ndr, int fl
                }
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
+               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
                for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
                        NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
                }
@@ -6607,7 +6791,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids(struct ndr_push *ndr, int fla
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
+               NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
                if (r->in.count == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
@@ -6667,7 +6851,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids(struct ndr_pull *ndr, int fla
                NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
+               NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
                        NDR_PULL_ALLOC(ndr, r->in.count);
                }
@@ -6742,7 +6926,7 @@ _PUBLIC_ void ndr_print_lsa_LookupSids(struct ndr_print *ndr, const char *name,
                ndr->depth++;
                ndr_print_lsa_TransNameArray(ndr, "names", r->in.names);
                ndr->depth--;
-               ndr_print_uint16(ndr, "level", r->in.level);
+               ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
                ndr_print_ptr(ndr, "count", r->in.count);
                ndr->depth++;
                ndr_print_uint32(ndr, "count", *r->in.count);
@@ -9225,6 +9409,18 @@ _PUBLIC_ void ndr_print_lsa_DeleteTrustedDomain(struct ndr_print *ndr, const cha
 static enum ndr_err_code ndr_push_lsa_StorePrivateData(struct ndr_push *ndr, int flags, const struct lsa_StorePrivateData *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.handle == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
+               if (r->in.name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.val));
+               if (r->in.val) {
+                       NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.val));
+               }
        }
        if (flags & NDR_OUT) {
                NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
@@ -9234,7 +9430,37 @@ static enum ndr_err_code ndr_push_lsa_StorePrivateData(struct ndr_push *ndr, int
 
 static enum ndr_err_code ndr_pull_lsa_StorePrivateData(struct ndr_pull *ndr, int flags, struct lsa_StorePrivateData *r)
 {
+       uint32_t _ptr_val;
+       TALLOC_CTX *_mem_save_handle_0;
+       TALLOC_CTX *_mem_save_name_0;
+       TALLOC_CTX *_mem_save_val_0;
        if (flags & NDR_IN) {
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->in.handle);
+               }
+               _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->in.name);
+               }
+               _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val));
+               if (_ptr_val) {
+                       NDR_PULL_ALLOC(ndr, r->in.val);
+               } else {
+                       r->in.val = NULL;
+               }
+               if (r->in.val) {
+                       _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->in.val, 0);
+                       NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.val));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, 0);
+               }
        }
        if (flags & NDR_OUT) {
                NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
@@ -9252,6 +9478,20 @@ _PUBLIC_ void ndr_print_lsa_StorePrivateData(struct ndr_print *ndr, const char *
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "lsa_StorePrivateData");
                ndr->depth++;
+               ndr_print_ptr(ndr, "handle", r->in.handle);
+               ndr->depth++;
+               ndr_print_policy_handle(ndr, "handle", r->in.handle);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "name", r->in.name);
+               ndr->depth++;
+               ndr_print_lsa_String(ndr, "name", r->in.name);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "val", r->in.val);
+               ndr->depth++;
+               if (r->in.val) {
+                       ndr_print_lsa_DATA_BUF(ndr, "val", r->in.val);
+               }
+               ndr->depth--;
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
@@ -9266,8 +9506,30 @@ _PUBLIC_ void ndr_print_lsa_StorePrivateData(struct ndr_print *ndr, const char *
 static enum ndr_err_code ndr_push_lsa_RetrievePrivateData(struct ndr_push *ndr, int flags, const struct lsa_RetrievePrivateData *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.handle == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
+               if (r->in.name == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
+               if (r->in.val == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.val));
+               if (*r->in.val) {
+                       NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.val));
+               }
        }
        if (flags & NDR_OUT) {
+               if (r->out.val == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.val));
+               if (*r->out.val) {
+                       NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.val));
+               }
                NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
        }
        return NDR_ERR_SUCCESS;
@@ -9275,9 +9537,68 @@ static enum ndr_err_code ndr_push_lsa_RetrievePrivateData(struct ndr_push *ndr,
 
 static enum ndr_err_code ndr_pull_lsa_RetrievePrivateData(struct ndr_pull *ndr, int flags, struct lsa_RetrievePrivateData *r)
 {
+       uint32_t _ptr_val;
+       TALLOC_CTX *_mem_save_handle_0;
+       TALLOC_CTX *_mem_save_name_0;
+       TALLOC_CTX *_mem_save_val_0;
+       TALLOC_CTX *_mem_save_val_1;
        if (flags & NDR_IN) {
+               ZERO_STRUCT(r->out);
+
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->in.handle);
+               }
+               _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->in.name);
+               }
+               _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->in.val);
+               }
+               _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.val, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val));
+               if (_ptr_val) {
+                       NDR_PULL_ALLOC(ndr, *r->in.val);
+               } else {
+                       *r->in.val = NULL;
+               }
+               if (*r->in.val) {
+                       _mem_save_val_1 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, *r->in.val, 0);
+                       NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.val));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_1, 0);
+               }
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, LIBNDR_FLAG_REF_ALLOC);
+               NDR_PULL_ALLOC(ndr, r->out.val);
+               *r->out.val = *r->in.val;
        }
        if (flags & NDR_OUT) {
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->out.val);
+               }
+               _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->out.val, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val));
+               if (_ptr_val) {
+                       NDR_PULL_ALLOC(ndr, *r->out.val);
+               } else {
+                       *r->out.val = NULL;
+               }
+               if (*r->out.val) {
+                       _mem_save_val_1 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.val, 0);
+                       NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.val));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_1, 0);
+               }
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
        }
        return NDR_ERR_SUCCESS;
@@ -9293,11 +9614,37 @@ _PUBLIC_ void ndr_print_lsa_RetrievePrivateData(struct ndr_print *ndr, const cha
        if (flags & NDR_IN) {
                ndr_print_struct(ndr, "in", "lsa_RetrievePrivateData");
                ndr->depth++;
+               ndr_print_ptr(ndr, "handle", r->in.handle);
+               ndr->depth++;
+               ndr_print_policy_handle(ndr, "handle", r->in.handle);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "name", r->in.name);
+               ndr->depth++;
+               ndr_print_lsa_String(ndr, "name", r->in.name);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "val", r->in.val);
+               ndr->depth++;
+               ndr_print_ptr(ndr, "val", *r->in.val);
+               ndr->depth++;
+               if (*r->in.val) {
+                       ndr_print_lsa_DATA_BUF(ndr, "val", *r->in.val);
+               }
+               ndr->depth--;
+               ndr->depth--;
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
                ndr_print_struct(ndr, "out", "lsa_RetrievePrivateData");
                ndr->depth++;
+               ndr_print_ptr(ndr, "val", r->out.val);
+               ndr->depth++;
+               ndr_print_ptr(ndr, "val", *r->out.val);
+               ndr->depth++;
+               if (*r->out.val) {
+                       ndr_print_lsa_DATA_BUF(ndr, "val", *r->out.val);
+               }
+               ndr->depth--;
+               ndr->depth--;
                ndr_print_NTSTATUS(ndr, "result", r->out.result);
                ndr->depth--;
        }
@@ -9309,9 +9656,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_OpenPolicy2(struct ndr_push *ndr, int fl
        if (flags & NDR_IN) {
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
                if (r->in.system_name) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
                if (r->in.attr == NULL) {
@@ -9422,9 +9769,9 @@ static enum ndr_err_code ndr_push_lsa_GetUserName(struct ndr_push *ndr, int flag
        if (flags & NDR_IN) {
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
                if (r->in.system_name) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
                }
                if (r->in.account_name == NULL) {
@@ -10675,13 +11022,13 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids2(struct ndr_push *ndr, int fl
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
+               NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
                if (r->in.count == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
+               NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
+               NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
        }
        if (flags & NDR_OUT) {
                if (r->out.domains == NULL) {
@@ -10737,7 +11084,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids2(struct ndr_pull *ndr, int fl
                NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
+               NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
                        NDR_PULL_ALLOC(ndr, r->in.count);
                }
@@ -10745,8 +11092,8 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids2(struct ndr_pull *ndr, int fl
                NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
+               NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
+               NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
                NDR_PULL_ALLOC(ndr, r->out.domains);
                ZERO_STRUCTP(r->out.domains);
                NDR_PULL_ALLOC(ndr, r->out.names);
@@ -10814,13 +11161,13 @@ _PUBLIC_ void ndr_print_lsa_LookupSids2(struct ndr_print *ndr, const char *name,
                ndr->depth++;
                ndr_print_lsa_TransNameArray2(ndr, "names", r->in.names);
                ndr->depth--;
-               ndr_print_uint16(ndr, "level", r->in.level);
+               ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
                ndr_print_ptr(ndr, "count", r->in.count);
                ndr->depth++;
                ndr_print_uint32(ndr, "count", *r->in.count);
                ndr->depth--;
-               ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
-               ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
+               ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
+               ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
@@ -10858,7 +11205,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames2(struct ndr_push *ndr, int f
                }
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
+               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
                for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
                        NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
                }
@@ -10874,8 +11221,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames2(struct ndr_push *ndr, int f
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.lookup_options));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_revision));
+               NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
+               NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
        }
        if (flags & NDR_OUT) {
                if (r->out.domains == NULL) {
@@ -10948,8 +11295,8 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames2(struct ndr_pull *ndr, int f
                NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.lookup_options));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_revision));
+               NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
+               NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
                NDR_PULL_ALLOC(ndr, r->out.domains);
                ZERO_STRUCTP(r->out.domains);
                NDR_PULL_ALLOC(ndr, r->out.sids);
@@ -11033,8 +11380,8 @@ _PUBLIC_ void ndr_print_lsa_LookupNames2(struct ndr_print *ndr, const char *name
                ndr->depth++;
                ndr_print_uint32(ndr, "count", *r->in.count);
                ndr->depth--;
-               ndr_print_uint32(ndr, "lookup_options", r->in.lookup_options);
-               ndr_print_uint32(ndr, "client_revision", r->in.client_revision);
+               ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
+               ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
@@ -11512,7 +11859,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames3(struct ndr_push *ndr, int f
                }
                NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
+               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
                for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
                        NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
                }
@@ -11528,8 +11875,8 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames3(struct ndr_push *ndr, int f
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.lookup_options));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_revision));
+               NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
+               NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
        }
        if (flags & NDR_OUT) {
                if (r->out.domains == NULL) {
@@ -11602,8 +11949,8 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames3(struct ndr_pull *ndr, int f
                NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.lookup_options));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_revision));
+               NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
+               NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
                NDR_PULL_ALLOC(ndr, r->out.domains);
                ZERO_STRUCTP(r->out.domains);
                NDR_PULL_ALLOC(ndr, r->out.sids);
@@ -11687,8 +12034,8 @@ _PUBLIC_ void ndr_print_lsa_LookupNames3(struct ndr_print *ndr, const char *name
                ndr->depth++;
                ndr_print_uint32(ndr, "count", *r->in.count);
                ndr->depth--;
-               ndr_print_uint32(ndr, "lookup_options", r->in.lookup_options);
-               ndr_print_uint32(ndr, "client_revision", r->in.client_revision);
+               ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
+               ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
@@ -12091,13 +12438,13 @@ _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids3(struct ndr_push *ndr, int fl
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
+               NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
                if (r->in.count == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
+               NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
+               NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
        }
        if (flags & NDR_OUT) {
                if (r->out.domains == NULL) {
@@ -12145,7 +12492,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids3(struct ndr_pull *ndr, int fl
                NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
+               NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
                        NDR_PULL_ALLOC(ndr, r->in.count);
                }
@@ -12153,8 +12500,8 @@ _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids3(struct ndr_pull *ndr, int fl
                NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
+               NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
+               NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
                NDR_PULL_ALLOC(ndr, r->out.domains);
                ZERO_STRUCTP(r->out.domains);
                NDR_PULL_ALLOC(ndr, r->out.names);
@@ -12218,13 +12565,13 @@ _PUBLIC_ void ndr_print_lsa_LookupSids3(struct ndr_print *ndr, const char *name,
                ndr->depth++;
                ndr_print_lsa_TransNameArray2(ndr, "names", r->in.names);
                ndr->depth--;
-               ndr_print_uint16(ndr, "level", r->in.level);
+               ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
                ndr_print_ptr(ndr, "count", r->in.count);
                ndr->depth++;
                ndr_print_uint32(ndr, "count", *r->in.count);
                ndr->depth--;
-               ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
-               ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
+               ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
+               ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
@@ -12258,7 +12605,7 @@ static enum ndr_err_code ndr_push_lsa_LookupNames4(struct ndr_push *ndr, int fla
        uint32_t cntr_names_0;
        if (flags & NDR_IN) {
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
+               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
                for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
                        NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
                }
@@ -12274,8 +12621,8 @@ static enum ndr_err_code ndr_push_lsa_LookupNames4(struct ndr_push *ndr, int fla
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.lookup_options));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_revision));
+               NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
+               NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
        }
        if (flags & NDR_OUT) {
                if (r->out.domains == NULL) {
@@ -12340,8 +12687,8 @@ static enum ndr_err_code ndr_pull_lsa_LookupNames4(struct ndr_pull *ndr, int fla
                NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.lookup_options));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_revision));
+               NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
+               NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
                NDR_PULL_ALLOC(ndr, r->out.domains);
                ZERO_STRUCTP(r->out.domains);
                NDR_PULL_ALLOC(ndr, r->out.sids);
@@ -12421,8 +12768,8 @@ _PUBLIC_ void ndr_print_lsa_LookupNames4(struct ndr_print *ndr, const char *name
                ndr->depth++;
                ndr_print_uint32(ndr, "count", *r->in.count);
                ndr->depth--;
-               ndr_print_uint32(ndr, "lookup_options", r->in.lookup_options);
-               ndr_print_uint32(ndr, "client_revision", r->in.client_revision);
+               ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
+               ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {