idl: removed the generated gen_ndr/ files from pidl
[samba.git] / librpc / gen_ndr / ndr_samr.c
diff --git a/librpc/gen_ndr/ndr_samr.c b/librpc/gen_ndr/ndr_samr.c
deleted file mode 100644 (file)
index f4c1a0c..0000000
+++ /dev/null
@@ -1,13118 +0,0 @@
-/* parser auto-generated by pidl */
-
-#include "includes.h"
-#include "../librpc/gen_ndr/ndr_samr.h"
-
-#include "librpc/gen_ndr/ndr_misc.h"
-#include "librpc/gen_ndr/ndr_lsa.h"
-#include "librpc/gen_ndr/ndr_security.h"
-_PUBLIC_ enum ndr_err_code ndr_push_netr_SamDatabaseID(struct ndr_push *ndr, int ndr_flags, enum netr_SamDatabaseID r)
-{
-       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_netr_SamDatabaseID(struct ndr_pull *ndr, int ndr_flags, enum netr_SamDatabaseID *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_netr_SamDatabaseID(struct ndr_print *ndr, const char *name, enum netr_SamDatabaseID r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case SAM_DATABASE_DOMAIN: val = "SAM_DATABASE_DOMAIN"; break;
-               case SAM_DATABASE_BUILTIN: val = "SAM_DATABASE_BUILTIN"; break;
-               case SAM_DATABASE_PRIVS: val = "SAM_DATABASE_PRIVS"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_AcctFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_AcctFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_AcctFlags(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_MNS", ACB_MNS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ConnectAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ConnectAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ConnectAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomainAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomainAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomainAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GroupAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GroupAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GroupAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_AliasAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_AliasAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_AliasAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SamEntry(struct ndr_push *ndr, int ndr_flags, const struct samr_SamEntry *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
-               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));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SamEntry(struct ndr_pull *ndr, int ndr_flags, struct samr_SamEntry *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
-               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));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SamEntry(struct ndr_print *ndr, const char *name, const struct samr_SamEntry *r)
-{
-       ndr_print_struct(ndr, name, "samr_SamEntry");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "idx", r->idx);
-       ndr_print_lsa_String(ndr, "name", &r->name);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SamArray(struct ndr_push *ndr, int ndr_flags, const struct samr_SamArray *r)
-{
-       uint32_t cntr_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_flags, struct samr_SamArray *r)
-{
-       uint32_t _ptr_entries;
-       uint32_t cntr_entries_1;
-       TALLOC_CTX *_mem_save_entries_0;
-       TALLOC_CTX *_mem_save_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_entries));
-               if (_ptr_entries) {
-                       NDR_PULL_ALLOC(ndr, r->entries);
-               } else {
-                       r->entries = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->entries) {
-                       _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
-                       NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
-                       _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
-               }
-               if (r->entries) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SamArray(struct ndr_print *ndr, const char *name, const struct samr_SamArray *r)
-{
-       uint32_t cntr_entries_1;
-       ndr_print_struct(ndr, name, "samr_SamArray");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_ptr(ndr, "entries", r->entries);
-       ndr->depth++;
-       if (r->entries) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
-               ndr->depth++;
-               for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
-                               ndr_print_samr_SamEntry(ndr, "entries", &r->entries[cntr_entries_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomainInfoClass(struct ndr_push *ndr, int ndr_flags, enum samr_DomainInfoClass r)
-{
-       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomainInfoClass(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainInfoClass *r)
-{
-       uint16_t v;
-       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomainInfoClass(struct ndr_print *ndr, const char *name, enum samr_DomainInfoClass r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case DomainPasswordInformation: val = "DomainPasswordInformation"; break;
-               case DomainGeneralInformation: val = "DomainGeneralInformation"; break;
-               case DomainLogoffInformation: val = "DomainLogoffInformation"; break;
-               case DomainOemInformation: val = "DomainOemInformation"; break;
-               case DomainNameInformation: val = "DomainNameInformation"; break;
-               case DomainReplicationInformation: val = "DomainReplicationInformation"; break;
-               case DomainServerRoleInformation: val = "DomainServerRoleInformation"; break;
-               case DomainModifiedInformation: val = "DomainModifiedInformation"; break;
-               case DomainStateInformation: val = "DomainStateInformation"; break;
-               case DomainUasInformation: val = "DomainUasInformation"; break;
-               case DomainGeneralInformation2: val = "DomainGeneralInformation2"; break;
-               case DomainLockoutInformation: val = "DomainLockoutInformation"; break;
-               case DomainModifiedInformation2: val = "DomainModifiedInformation2"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-static enum ndr_err_code ndr_push_samr_Role(struct ndr_push *ndr, int ndr_flags, enum samr_Role r)
-{
-       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_Role(struct ndr_pull *ndr, int ndr_flags, enum samr_Role *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case SAMR_ROLE_STANDALONE: val = "SAMR_ROLE_STANDALONE"; break;
-               case SAMR_ROLE_DOMAIN_MEMBER: val = "SAMR_ROLE_DOMAIN_MEMBER"; break;
-               case SAMR_ROLE_DOMAIN_BDC: val = "SAMR_ROLE_DOMAIN_BDC"; break;
-               case SAMR_ROLE_DOMAIN_PDC: val = "SAMR_ROLE_DOMAIN_PDC"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomainServerState(struct ndr_push *ndr, int ndr_flags, enum samr_DomainServerState r)
-{
-       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomainServerState(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainServerState *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case DOMAIN_SERVER_ENABLED: val = "DOMAIN_SERVER_ENABLED"; break;
-               case DOMAIN_SERVER_DISABLED: val = "DOMAIN_SERVER_DISABLED"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
-               NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
-               NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
-               NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo1 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
-               NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
-               NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
-               NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo1");
-       ndr->depth++;
-       ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
-       ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
-       ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
-       ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
-       ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomGeneralInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
-               NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
-               NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
-               NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_groups));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aliases));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomGeneralInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
-               NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
-               NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
-               NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_groups));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aliases));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomGeneralInformation");
-       ndr->depth++;
-       ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
-       ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
-       ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
-       ndr_print_lsa_String(ndr, "primary", &r->primary);
-       ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
-       ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
-       ndr_print_samr_Role(ndr, "role", r->role);
-       ndr_print_uint32(ndr, "unknown3", r->unknown3);
-       ndr_print_uint32(ndr, "num_users", r->num_users);
-       ndr_print_uint32(ndr, "num_groups", r->num_groups);
-       ndr_print_uint32(ndr, "num_aliases", r->num_aliases);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo3 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo3 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo3");
-       ndr->depth++;
-       ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomOEMInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomOEMInformation *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomOEMInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomOEMInformation *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomOEMInformation");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo5 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo5 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo5");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo6 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo6 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo6");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "primary", &r->primary);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo7 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo7 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo7");
-       ndr->depth++;
-       ndr_print_samr_Role(ndr, "role", r->role);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo8 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo8 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo8");
-       ndr->depth++;
-       ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
-       ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo9 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo9 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo9");
-       ndr->depth++;
-       ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomGeneralInformation2(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation2 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
-               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
-               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomGeneralInformation2(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation2 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
-               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
-               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomGeneralInformation2");
-       ndr->depth++;
-       ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
-       ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
-       ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
-       ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo12 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
-               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo12 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
-               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo12");
-       ndr->depth++;
-       ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
-       ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
-       ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo13 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
-               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_count_at_last_promotion));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo13 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
-               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_count_at_last_promotion));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r)
-{
-       ndr_print_struct(ndr, name, "samr_DomInfo13");
-       ndr->depth++;
-       ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
-       ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
-       ndr_print_hyper(ndr, "modified_count_at_last_promotion", r->modified_count_at_last_promotion);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DomainInfo *r)
-{
-       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 1: {
-                               NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_push_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
-                       break; }
-
-                       case 4: {
-                               NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
-                       break; }
-
-                       case 5: {
-                               NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
-                       break; }
-
-                       case 6: {
-                               NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
-                       break; }
-
-                       case 7: {
-                               NDR_CHECK(ndr_push_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
-                       break; }
-
-                       case 8: {
-                               NDR_CHECK(ndr_push_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
-                       break; }
-
-                       case 9: {
-                               NDR_CHECK(ndr_push_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
-                       break; }
-
-                       case 11: {
-                               NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
-                       break; }
-
-                       case 12: {
-                               NDR_CHECK(ndr_push_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
-                       break; }
-
-                       case 13: {
-                               NDR_CHECK(ndr_push_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
-                       break; }
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               switch (level) {
-                       case 1:
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
-                       break;
-
-                       case 3:
-                       break;
-
-                       case 4:
-                               NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
-                       break;
-
-                       case 5:
-                               NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
-                       break;
-
-                       case 6:
-                               NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
-                       break;
-
-                       case 7:
-                       break;
-
-                       case 8:
-                       break;
-
-                       case 9:
-                       break;
-
-                       case 11:
-                               NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
-                       break;
-
-                       case 12:
-                       break;
-
-                       case 13:
-                       break;
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DomainInfo *r)
-{
-       int level;
-       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));
-               if (_level != 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 1: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
-                       break; }
-
-                       case 4: {
-                               NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
-                       break; }
-
-                       case 5: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
-                       break; }
-
-                       case 6: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
-                       break; }
-
-                       case 7: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
-                       break; }
-
-                       case 8: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
-                       break; }
-
-                       case 9: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
-                       break; }
-
-                       case 11: {
-                               NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
-                       break; }
-
-                       case 12: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
-                       break; }
-
-                       case 13: {
-                               NDR_CHECK(ndr_pull_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
-                       break; }
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               switch (level) {
-                       case 1:
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
-                       break;
-
-                       case 3:
-                       break;
-
-                       case 4:
-                               NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
-                       break;
-
-                       case 5:
-                               NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
-                       break;
-
-                       case 6:
-                               NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
-                       break;
-
-                       case 7:
-                       break;
-
-                       case 8:
-                       break;
-
-                       case 9:
-                       break;
-
-                       case 11:
-                               NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
-                       break;
-
-                       case 12:
-                       break;
-
-                       case 13:
-                       break;
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r)
-{
-       int level;
-       level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "samr_DomainInfo");
-       switch (level) {
-               case 1:
-                       ndr_print_samr_DomInfo1(ndr, "info1", &r->info1);
-               break;
-
-               case 2:
-                       ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
-               break;
-
-               case 3:
-                       ndr_print_samr_DomInfo3(ndr, "info3", &r->info3);
-               break;
-
-               case 4:
-                       ndr_print_samr_DomOEMInformation(ndr, "oem", &r->oem);
-               break;
-
-               case 5:
-                       ndr_print_samr_DomInfo5(ndr, "info5", &r->info5);
-               break;
-
-               case 6:
-                       ndr_print_samr_DomInfo6(ndr, "info6", &r->info6);
-               break;
-
-               case 7:
-                       ndr_print_samr_DomInfo7(ndr, "info7", &r->info7);
-               break;
-
-               case 8:
-                       ndr_print_samr_DomInfo8(ndr, "info8", &r->info8);
-               break;
-
-               case 9:
-                       ndr_print_samr_DomInfo9(ndr, "info9", &r->info9);
-               break;
-
-               case 11:
-                       ndr_print_samr_DomGeneralInformation2(ndr, "general2", &r->general2);
-               break;
-
-               case 12:
-                       ndr_print_samr_DomInfo12(ndr, "info12", &r->info12);
-               break;
-
-               case 13:
-                       ndr_print_samr_DomInfo13(ndr, "info13", &r->info13);
-               break;
-
-               default:
-                       ndr_print_bad_level(ndr, name, level);
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags, const struct samr_Ids *r)
-{
-       uint32_t cntr_ids_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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->ids));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->ids) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
-                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ids[cntr_ids_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r)
-{
-       uint32_t _ptr_ids;
-       uint32_t cntr_ids_1;
-       TALLOC_CTX *_mem_save_ids_0;
-       TALLOC_CTX *_mem_save_ids_1;
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
-               if (r->count > 1024) {
-                       return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ids));
-               if (_ptr_ids) {
-                       NDR_PULL_ALLOC(ndr, r->ids);
-               } else {
-                       r->ids = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->ids) {
-                       _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
-                       NDR_PULL_ALLOC_N(ndr, r->ids, ndr_get_array_size(ndr, &r->ids));
-                       _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
-                       for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
-                               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
-               }
-               if (r->ids) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->ids, r->count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r)
-{
-       uint32_t cntr_ids_1;
-       ndr_print_struct(ndr, name, "samr_Ids");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_ptr(ndr, "ids", r->ids);
-       ndr->depth++;
-       if (r->ids) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->count);
-               ndr->depth++;
-               for (cntr_ids_1=0;cntr_ids_1<r->count;cntr_ids_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_ids_1) != -1) {
-                               ndr_print_uint32(ndr, "ids", r->ids[cntr_ids_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GroupInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAll *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
-               NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GroupInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAll *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
-               NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r)
-{
-       ndr_print_struct(ndr, name, "samr_GroupInfoAll");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "name", &r->name);
-       ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
-       ndr_print_uint32(ndr, "num_members", r->num_members);
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GroupInfoAttributes(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAttributes *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GroupInfoAttributes(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAttributes *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r)
-{
-       ndr_print_struct(ndr, name, "samr_GroupInfoAttributes");
-       ndr->depth++;
-       ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GroupInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_GroupInfoEnum r)
-{
-       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GroupInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_GroupInfoEnum *r)
-{
-       uint16_t v;
-       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case GROUPINFOALL: val = "GROUPINFOALL"; break;
-               case GROUPINFONAME: val = "GROUPINFONAME"; break;
-               case GROUPINFOATTRIBUTES: val = "GROUPINFOATTRIBUTES"; break;
-               case GROUPINFODESCRIPTION: val = "GROUPINFODESCRIPTION"; break;
-               case GROUPINFOALL2: val = "GROUPINFOALL2"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-static enum ndr_err_code ndr_push_samr_GroupInfo(struct ndr_push *ndr, int ndr_flags, const union samr_GroupInfo *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, level));
-               NDR_CHECK(ndr_push_union_align(ndr, 5));
-               switch (level) {
-                       case GROUPINFOALL: {
-                               NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
-                       break; }
-
-                       case GROUPINFONAME: {
-                               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
-                       break; }
-
-                       case GROUPINFOATTRIBUTES: {
-                               NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
-                       break; }
-
-                       case GROUPINFODESCRIPTION: {
-                               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-                       break; }
-
-                       case GROUPINFOALL2: {
-                               NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
-                       break; }
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               switch (level) {
-                       case GROUPINFOALL:
-                               NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
-                       break;
-
-                       case GROUPINFONAME:
-                               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
-                       break;
-
-                       case GROUPINFOATTRIBUTES:
-                       break;
-
-                       case GROUPINFODESCRIPTION:
-                               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-                       break;
-
-                       case GROUPINFOALL2:
-                               NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
-                       break;
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GroupInfo(struct ndr_pull *ndr, int ndr_flags, union samr_GroupInfo *r)
-{
-       int level;
-       uint16_t _level;
-       level = ndr_pull_get_switch_value(ndr, r);
-       if (ndr_flags & NDR_SCALARS) {
-               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 at %s", _level, __location__);
-               }
-               NDR_CHECK(ndr_pull_union_align(ndr, 5));
-               switch (level) {
-                       case GROUPINFOALL: {
-                               NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
-                       break; }
-
-                       case GROUPINFONAME: {
-                               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
-                       break; }
-
-                       case GROUPINFOATTRIBUTES: {
-                               NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
-                       break; }
-
-                       case GROUPINFODESCRIPTION: {
-                               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-                       break; }
-
-                       case GROUPINFOALL2: {
-                               NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
-                       break; }
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               switch (level) {
-                       case GROUPINFOALL:
-                               NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
-                       break;
-
-                       case GROUPINFONAME:
-                               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
-                       break;
-
-                       case GROUPINFOATTRIBUTES:
-                       break;
-
-                       case GROUPINFODESCRIPTION:
-                               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-                       break;
-
-                       case GROUPINFOALL2:
-                               NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
-                       break;
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r)
-{
-       int level;
-       level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "samr_GroupInfo");
-       switch (level) {
-               case GROUPINFOALL:
-                       ndr_print_samr_GroupInfoAll(ndr, "all", &r->all);
-               break;
-
-               case GROUPINFONAME:
-                       ndr_print_lsa_String(ndr, "name", &r->name);
-               break;
-
-               case GROUPINFOATTRIBUTES:
-                       ndr_print_samr_GroupInfoAttributes(ndr, "attributes", &r->attributes);
-               break;
-
-               case GROUPINFODESCRIPTION:
-                       ndr_print_lsa_String(ndr, "description", &r->description);
-               break;
-
-               case GROUPINFOALL2:
-                       ndr_print_samr_GroupInfoAll(ndr, "all2", &r->all2);
-               break;
-
-               default:
-                       ndr_print_bad_level(ndr, name, level);
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_RidTypeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidTypeArray *r)
-{
-       uint32_t cntr_rids_1;
-       uint32_t cntr_types_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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->rids));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->types));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->rids) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
-                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
-                       }
-               }
-               if (r->types) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
-                               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->types[cntr_types_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_RidTypeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidTypeArray *r)
-{
-       uint32_t _ptr_rids;
-       uint32_t cntr_rids_1;
-       TALLOC_CTX *_mem_save_rids_0;
-       TALLOC_CTX *_mem_save_rids_1;
-       uint32_t _ptr_types;
-       uint32_t cntr_types_1;
-       TALLOC_CTX *_mem_save_types_0;
-       TALLOC_CTX *_mem_save_types_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_rids));
-               if (_ptr_rids) {
-                       NDR_PULL_ALLOC(ndr, r->rids);
-               } else {
-                       r->rids = NULL;
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types));
-               if (_ptr_types) {
-                       NDR_PULL_ALLOC(ndr, r->types);
-               } else {
-                       r->types = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->rids) {
-                       _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
-                       NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
-                       _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
-                       for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
-                               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
-               }
-               if (r->types) {
-                       _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->types));
-                       NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types));
-                       _mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
-                       for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
-                               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0);
-               }
-               if (r->rids) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
-               }
-               if (r->types) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_RidTypeArray(struct ndr_print *ndr, const char *name, const struct samr_RidTypeArray *r)
-{
-       uint32_t cntr_rids_1;
-       uint32_t cntr_types_1;
-       ndr_print_struct(ndr, name, "samr_RidTypeArray");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_ptr(ndr, "rids", r->rids);
-       ndr->depth++;
-       if (r->rids) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
-               ndr->depth++;
-               for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
-                               ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr_print_ptr(ndr, "types", r->types);
-       ndr->depth++;
-       if (r->types) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count);
-               ndr->depth++;
-               for (cntr_types_1=0;cntr_types_1<r->count;cntr_types_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_types_1) != -1) {
-                               ndr_print_uint32(ndr, "types", r->types[cntr_types_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_AliasInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_AliasInfoAll *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_AliasInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_AliasInfoAll *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r)
-{
-       ndr_print_struct(ndr, name, "samr_AliasInfoAll");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "name", &r->name);
-       ndr_print_uint32(ndr, "num_members", r->num_members);
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_AliasInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_AliasInfoEnum r)
-{
-       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_AliasInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_AliasInfoEnum *r)
-{
-       uint16_t v;
-       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case ALIASINFOALL: val = "ALIASINFOALL"; break;
-               case ALIASINFONAME: val = "ALIASINFONAME"; break;
-               case ALIASINFODESCRIPTION: val = "ALIASINFODESCRIPTION"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-static enum ndr_err_code ndr_push_samr_AliasInfo(struct ndr_push *ndr, int ndr_flags, const union samr_AliasInfo *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, level));
-               NDR_CHECK(ndr_push_union_align(ndr, 5));
-               switch (level) {
-                       case ALIASINFOALL: {
-                               NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
-                       break; }
-
-                       case ALIASINFONAME: {
-                               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
-                       break; }
-
-                       case ALIASINFODESCRIPTION: {
-                               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-                       break; }
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               switch (level) {
-                       case ALIASINFOALL:
-                               NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
-                       break;
-
-                       case ALIASINFONAME:
-                               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
-                       break;
-
-                       case ALIASINFODESCRIPTION:
-                               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-                       break;
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_AliasInfo(struct ndr_pull *ndr, int ndr_flags, union samr_AliasInfo *r)
-{
-       int level;
-       uint16_t _level;
-       level = ndr_pull_get_switch_value(ndr, r);
-       if (ndr_flags & NDR_SCALARS) {
-               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 at %s", _level, __location__);
-               }
-               NDR_CHECK(ndr_pull_union_align(ndr, 5));
-               switch (level) {
-                       case ALIASINFOALL: {
-                               NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
-                       break; }
-
-                       case ALIASINFONAME: {
-                               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
-                       break; }
-
-                       case ALIASINFODESCRIPTION: {
-                               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-                       break; }
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               switch (level) {
-                       case ALIASINFOALL:
-                               NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
-                       break;
-
-                       case ALIASINFONAME:
-                               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
-                       break;
-
-                       case ALIASINFODESCRIPTION:
-                               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-                       break;
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r)
-{
-       int level;
-       level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "samr_AliasInfo");
-       switch (level) {
-               case ALIASINFOALL:
-                       ndr_print_samr_AliasInfoAll(ndr, "all", &r->all);
-               break;
-
-               case ALIASINFONAME:
-                       ndr_print_lsa_String(ndr, "name", &r->name);
-               break;
-
-               case ALIASINFODESCRIPTION:
-                       ndr_print_lsa_String(ndr, "description", &r->description);
-               break;
-
-               default:
-                       ndr_print_bad_level(ndr, name, level);
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfoLevel(struct ndr_push *ndr, int ndr_flags, enum samr_UserInfoLevel r)
-{
-       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_UserInfoLevel *r)
-{
-       uint16_t v;
-       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfoLevel(struct ndr_print *ndr, const char *name, enum samr_UserInfoLevel r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case UserGeneralInformation: val = "UserGeneralInformation"; break;
-               case UserPreferencesInformation: val = "UserPreferencesInformation"; break;
-               case UserLogonInformation: val = "UserLogonInformation"; break;
-               case UserLogonHoursInformation: val = "UserLogonHoursInformation"; break;
-               case UserAccountInformation: val = "UserAccountInformation"; break;
-               case UserNameInformation: val = "UserNameInformation"; break;
-               case UserAccountNameInformation: val = "UserAccountNameInformation"; break;
-               case UserFullNameInformation: val = "UserFullNameInformation"; break;
-               case UserPrimaryGroupInformation: val = "UserPrimaryGroupInformation"; break;
-               case UserHomeInformation: val = "UserHomeInformation"; break;
-               case UserScriptInformation: val = "UserScriptInformation"; break;
-               case UserProfileInformation: val = "UserProfileInformation"; break;
-               case UserAdminCommentInformation: val = "UserAdminCommentInformation"; break;
-               case UserWorkStationsInformation: val = "UserWorkStationsInformation"; break;
-               case UserControlInformation: val = "UserControlInformation"; break;
-               case UserExpiresInformation: val = "UserExpiresInformation"; break;
-               case UserInternal1Information: val = "UserInternal1Information"; break;
-               case UserParametersInformation: val = "UserParametersInformation"; break;
-               case UserAllInformation: val = "UserAllInformation"; break;
-               case UserInternal4Information: val = "UserInternal4Information"; break;
-               case UserInternal5Information: val = "UserInternal5Information"; break;
-               case UserInternal4InformationNew: val = "UserInternal4InformationNew"; break;
-               case UserInternal5InformationNew: val = "UserInternal5InformationNew"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo1 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo1 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo1");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr_print_lsa_String(ndr, "full_name", &r->full_name);
-       ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr_print_lsa_String(ndr, "comment", &r->comment);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo2 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo2 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo2");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "comment", &r->comment);
-       ndr_print_lsa_String(ndr, "unknown", &r->unknown);
-       ndr_print_uint16(ndr, "country_code", r->country_code);
-       ndr_print_uint16(ndr, "code_page", r->code_page);
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r)
-{
-       {
-               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, 5));
-                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->units_per_week));
-                       NDR_CHECK(ndr_push_unique_ptr(ndr, r->bits));
-                       NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-               }
-               if (ndr_flags & NDR_BUFFERS) {
-                       if (r->bits) {
-                               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1260));
-                               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->units_per_week / 8));
-                               NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->bits, r->units_per_week / 8));
-                       }
-               }
-               ndr->flags = _flags_save_STRUCT;
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r)
-{
-       uint32_t _ptr_bits;
-       TALLOC_CTX *_mem_save_bits_0;
-       {
-               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, 5));
-                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->units_per_week));
-                       NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bits));
-                       if (_ptr_bits) {
-                               NDR_PULL_ALLOC(ndr, r->bits);
-                       } else {
-                               r->bits = NULL;
-                       }
-                       NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-               }
-               if (ndr_flags & NDR_BUFFERS) {
-                       if (r->bits) {
-                               _mem_save_bits_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                               NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0);
-                               NDR_CHECK(ndr_pull_array_size(ndr, &r->bits));
-                               NDR_CHECK(ndr_pull_array_length(ndr, &r->bits));
-                               if (ndr_get_array_length(ndr, &r->bits) > ndr_get_array_size(ndr, &r->bits)) {
-                                       return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->bits), ndr_get_array_length(ndr, &r->bits));
-                               }
-                               NDR_PULL_ALLOC_N(ndr, r->bits, ndr_get_array_size(ndr, &r->bits));
-                               NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, ndr_get_array_length(ndr, &r->bits)));
-                               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0);
-                       }
-                       if (r->bits) {
-                               NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->bits, 1260));
-                       }
-                       if (r->bits) {
-                               NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->bits, r->units_per_week / 8));
-                       }
-               }
-               ndr->flags = _flags_save_STRUCT;
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r)
-{
-       ndr_print_struct(ndr, name, "samr_LogonHours");
-       {
-               uint32_t _flags_save_STRUCT = ndr->flags;
-               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
-               ndr->depth++;
-               ndr_print_uint16(ndr, "units_per_week", r->units_per_week);
-               ndr_print_ptr(ndr, "bits", r->bits);
-               ndr->depth++;
-               if (r->bits) {
-                       ndr_print_array_uint8(ndr, "bits", r->bits, r->units_per_week / 8);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr->flags = _flags_save_STRUCT;
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo3 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
-               NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
-               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
-               NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo3 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
-               NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
-               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
-               NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo3");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr_print_lsa_String(ndr, "full_name", &r->full_name);
-       ndr_print_uint32(ndr, "rid", r->rid);
-       ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
-       ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
-       ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
-       ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
-       ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
-       ndr_print_lsa_String(ndr, "workstations", &r->workstations);
-       ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
-       ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
-       ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
-       ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
-       ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
-       ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
-       ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
-       ndr_print_uint16(ndr, "logon_count", r->logon_count);
-       ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo4 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo4 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo4");
-       ndr->depth++;
-       ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo5 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
-               NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
-               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
-               NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo5 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
-               NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
-               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
-               NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo5");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr_print_lsa_String(ndr, "full_name", &r->full_name);
-       ndr_print_uint32(ndr, "rid", r->rid);
-       ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
-       ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
-       ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
-       ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
-       ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr_print_lsa_String(ndr, "workstations", &r->workstations);
-       ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
-       ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
-       ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
-       ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
-       ndr_print_uint16(ndr, "logon_count", r->logon_count);
-       ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
-       ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
-       ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo6 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo6 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo6");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr_print_lsa_String(ndr, "full_name", &r->full_name);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo7 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo7 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo7");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo8 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo8 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo8");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "full_name", &r->full_name);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo9 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo9 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo9");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo10(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo10 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo10(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo10 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo10");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
-       ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo11 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo11 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo11");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo12 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo12 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo12");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo13 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo13 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo13");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo14(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo14 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo14(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo14 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo14");
-       ndr->depth++;
-       ndr_print_lsa_String(ndr, "workstations", &r->workstations);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo16(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo16 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo16(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo16 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo16");
-       ndr->depth++;
-       ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo17(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo17 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo17(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo17 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo17");
-       ndr->depth++;
-       ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r)
-{
-       {
-               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, 1));
-                       NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
-                       NDR_CHECK(ndr_push_trailer_align(ndr, 1));
-               }
-               if (ndr_flags & NDR_BUFFERS) {
-               }
-               ndr->flags = _flags_save_STRUCT;
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r)
-{
-       {
-               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, 1));
-                       NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
-                       NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
-               }
-               if (ndr_flags & NDR_BUFFERS) {
-               }
-               ndr->flags = _flags_save_STRUCT;
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r)
-{
-       ndr_print_struct(ndr, name, "samr_Password");
-       {
-               uint32_t _flags_save_STRUCT = ndr->flags;
-               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
-               ndr->depth++;
-               ndr_print_array_uint8(ndr, "hash", r->hash, 16);
-               ndr->depth--;
-               ndr->flags = _flags_save_STRUCT;
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo18(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo18 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 1));
-               NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
-               NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_pwd_active));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_pwd_active));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo18(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo18 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 1));
-               NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
-               NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_pwd_active));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_pwd_active));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo18");
-       ndr->depth++;
-       ndr_print_samr_Password(ndr, "nt_pwd", &r->nt_pwd);
-       ndr_print_samr_Password(ndr, "lm_pwd", &r->lm_pwd);
-       ndr_print_uint8(ndr, "nt_pwd_active", r->nt_pwd_active);
-       ndr_print_uint8(ndr, "lm_pwd_active", r->lm_pwd_active);
-       ndr_print_uint8(ndr, "password_expired", r->password_expired);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo20(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo20 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo20(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo20 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo20");
-       ndr->depth++;
-       ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_FieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_FieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo21 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
-               NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
-               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
-               NDR_CHECK(ndr_push_samr_FieldsPresent(ndr, NDR_SCALARS, r->fields_present));
-               NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_set));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_set));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->unknown4));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
-               NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
-               if (r->buffer) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_count));
-                       NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_count));
-               }
-               NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r)
-{
-       uint32_t _ptr_buffer;
-       TALLOC_CTX *_mem_save_buffer_0;
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
-               NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_count));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
-               if (_ptr_buffer) {
-                       NDR_PULL_ALLOC(ndr, r->buffer);
-               } else {
-                       r->buffer = NULL;
-               }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
-               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
-               NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
-               NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_set));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_set));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown4));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
-               NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
-               if (r->buffer) {
-                       _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
-                       NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
-                       NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
-               }
-               NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
-               if (r->buffer) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo21");
-       ndr->depth++;
-       ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
-       ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
-       ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
-       ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
-       ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
-       ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr_print_lsa_String(ndr, "full_name", &r->full_name);
-       ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
-       ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
-       ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
-       ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr_print_lsa_String(ndr, "workstations", &r->workstations);
-       ndr_print_lsa_String(ndr, "comment", &r->comment);
-       ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
-       ndr_print_lsa_BinaryString(ndr, "lm_owf_password", &r->lm_owf_password);
-       ndr_print_lsa_BinaryString(ndr, "nt_owf_password", &r->nt_owf_password);
-       ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
-       ndr_print_uint32(ndr, "buf_count", r->buf_count);
-       ndr_print_ptr(ndr, "buffer", r->buffer);
-       ndr->depth++;
-       if (r->buffer) {
-               ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_count);
-       }
-       ndr->depth--;
-       ndr_print_uint32(ndr, "rid", r->rid);
-       ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
-       ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
-       ndr_print_samr_FieldsPresent(ndr, "fields_present", r->fields_present);
-       ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
-       ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
-       ndr_print_uint16(ndr, "logon_count", r->logon_count);
-       ndr_print_uint16(ndr, "country_code", r->country_code);
-       ndr_print_uint16(ndr, "code_page", r->code_page);
-       ndr_print_uint8(ndr, "lm_password_set", r->lm_password_set);
-       ndr_print_uint8(ndr, "nt_password_set", r->nt_password_set);
-       ndr_print_uint8(ndr, "password_expired", r->password_expired);
-       ndr_print_uint8(ndr, "unknown4", r->unknown4);
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *r)
-{
-       {
-               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, 1));
-                       NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 516));
-                       NDR_CHECK(ndr_push_trailer_align(ndr, 1));
-               }
-               if (ndr_flags & NDR_BUFFERS) {
-               }
-               ndr->flags = _flags_save_STRUCT;
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r)
-{
-       {
-               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, 1));
-                       NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 516));
-                       NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
-               }
-               if (ndr_flags & NDR_BUFFERS) {
-               }
-               ndr->flags = _flags_save_STRUCT;
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r)
-{
-       ndr_print_struct(ndr, name, "samr_CryptPassword");
-       {
-               uint32_t _flags_save_STRUCT = ndr->flags;
-               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
-               ndr->depth++;
-               ndr_print_array_uint8(ndr, "data", r->data, 516);
-               ndr->depth--;
-               ndr->flags = _flags_save_STRUCT;
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo23(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo23 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo23(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo23 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo23");
-       ndr->depth++;
-       ndr_print_samr_UserInfo21(ndr, "info", &r->info);
-       ndr_print_samr_CryptPassword(ndr, "password", &r->password);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo24(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo24 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 1));
-               NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo24(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo24 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 1));
-               NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo24");
-       ndr->depth++;
-       ndr_print_samr_CryptPassword(ndr, "password", &r->password);
-       ndr_print_uint8(ndr, "password_expired", r->password_expired);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPasswordEx *r)
-{
-       {
-               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, 1));
-                       NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 532));
-                       NDR_CHECK(ndr_push_trailer_align(ndr, 1));
-               }
-               if (ndr_flags & NDR_BUFFERS) {
-               }
-               ndr->flags = _flags_save_STRUCT;
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r)
-{
-       {
-               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, 1));
-                       NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 532));
-                       NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
-               }
-               if (ndr_flags & NDR_BUFFERS) {
-               }
-               ndr->flags = _flags_save_STRUCT;
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r)
-{
-       ndr_print_struct(ndr, name, "samr_CryptPasswordEx");
-       {
-               uint32_t _flags_save_STRUCT = ndr->flags;
-               ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
-               ndr->depth++;
-               ndr_print_array_uint8(ndr, "data", r->data, 532);
-               ndr->depth--;
-               ndr->flags = _flags_save_STRUCT;
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo25(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo25 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo25(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo25 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo25");
-       ndr->depth++;
-       ndr_print_samr_UserInfo21(ndr, "info", &r->info);
-       ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo26(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo26 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 1));
-               NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo26(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo26 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 1));
-               NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r)
-{
-       ndr_print_struct(ndr, name, "samr_UserInfo26");
-       ndr->depth++;
-       ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
-       ndr_print_uint8(ndr, "password_expired", r->password_expired);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_UserInfo(struct ndr_push *ndr, int ndr_flags, const union samr_UserInfo *r)
-{
-       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, 5));
-               switch (level) {
-                       case 1: {
-                               NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
-                       break; }
-
-                       case 4: {
-                               NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
-                       break; }
-
-                       case 5: {
-                               NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
-                       break; }
-
-                       case 6: {
-                               NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
-                       break; }
-
-                       case 7: {
-                               NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
-                       break; }
-
-                       case 8: {
-                               NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
-                       break; }
-
-                       case 9: {
-                               NDR_CHECK(ndr_push_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
-                       break; }
-
-                       case 10: {
-                               NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
-                       break; }
-
-                       case 11: {
-                               NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
-                       break; }
-
-                       case 12: {
-                               NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
-                       break; }
-
-                       case 13: {
-                               NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
-                       break; }
-
-                       case 14: {
-                               NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
-                       break; }
-
-                       case 16: {
-                               NDR_CHECK(ndr_push_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
-                       break; }
-
-                       case 17: {
-                               NDR_CHECK(ndr_push_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
-                       break; }
-
-                       case 18: {
-                               NDR_CHECK(ndr_push_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
-                       break; }
-
-                       case 20: {
-                               NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
-                       break; }
-
-                       case 21: {
-                               NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
-                       break; }
-
-                       case 23: {
-                               NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
-                       break; }
-
-                       case 24: {
-                               NDR_CHECK(ndr_push_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
-                       break; }
-
-                       case 25: {
-                               NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
-                       break; }
-
-                       case 26: {
-                               NDR_CHECK(ndr_push_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
-                       break; }
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               switch (level) {
-                       case 1:
-                               NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
-                       break;
-
-                       case 3:
-                               NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
-                       break;
-
-                       case 4:
-                               NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
-                       break;
-
-                       case 5:
-                               NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
-                       break;
-
-                       case 6:
-                               NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
-                       break;
-
-                       case 7:
-                               NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
-                       break;
-
-                       case 8:
-                               NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
-                       break;
-
-                       case 9:
-                       break;
-
-                       case 10:
-                               NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
-                       break;
-
-                       case 11:
-                               NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
-                       break;
-
-                       case 12:
-                               NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
-                       break;
-
-                       case 13:
-                               NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
-                       break;
-
-                       case 14:
-                               NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
-                       break;
-
-                       case 16:
-                       break;
-
-                       case 17:
-                       break;
-
-                       case 18:
-                       break;
-
-                       case 20:
-                               NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
-                       break;
-
-                       case 21:
-                               NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
-                       break;
-
-                       case 23:
-                               NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
-                       break;
-
-                       case 24:
-                       break;
-
-                       case 25:
-                               NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
-                       break;
-
-                       case 26:
-                       break;
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_UserInfo(struct ndr_pull *ndr, int ndr_flags, union samr_UserInfo *r)
-{
-       int level;
-       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));
-               if (_level != 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 1: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
-                       break; }
-
-                       case 4: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
-                       break; }
-
-                       case 5: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
-                       break; }
-
-                       case 6: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
-                       break; }
-
-                       case 7: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
-                       break; }
-
-                       case 8: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
-                       break; }
-
-                       case 9: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
-                       break; }
-
-                       case 10: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
-                       break; }
-
-                       case 11: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
-                       break; }
-
-                       case 12: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
-                       break; }
-
-                       case 13: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
-                       break; }
-
-                       case 14: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
-                       break; }
-
-                       case 16: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
-                       break; }
-
-                       case 17: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
-                       break; }
-
-                       case 18: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
-                       break; }
-
-                       case 20: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
-                       break; }
-
-                       case 21: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
-                       break; }
-
-                       case 23: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
-                       break; }
-
-                       case 24: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
-                       break; }
-
-                       case 25: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
-                       break; }
-
-                       case 26: {
-                               NDR_CHECK(ndr_pull_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
-                       break; }
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               switch (level) {
-                       case 1:
-                               NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
-                       break;
-
-                       case 3:
-                               NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
-                       break;
-
-                       case 4:
-                               NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
-                       break;
-
-                       case 5:
-                               NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
-                       break;
-
-                       case 6:
-                               NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
-                       break;
-
-                       case 7:
-                               NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
-                       break;
-
-                       case 8:
-                               NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
-                       break;
-
-                       case 9:
-                       break;
-
-                       case 10:
-                               NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
-                       break;
-
-                       case 11:
-                               NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
-                       break;
-
-                       case 12:
-                               NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
-                       break;
-
-                       case 13:
-                               NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
-                       break;
-
-                       case 14:
-                               NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
-                       break;
-
-                       case 16:
-                       break;
-
-                       case 17:
-                       break;
-
-                       case 18:
-                       break;
-
-                       case 20:
-                               NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
-                       break;
-
-                       case 21:
-                               NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
-                       break;
-
-                       case 23:
-                               NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
-                       break;
-
-                       case 24:
-                       break;
-
-                       case 25:
-                               NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
-                       break;
-
-                       case 26:
-                       break;
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r)
-{
-       int level;
-       level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "samr_UserInfo");
-       switch (level) {
-               case 1:
-                       ndr_print_samr_UserInfo1(ndr, "info1", &r->info1);
-               break;
-
-               case 2:
-                       ndr_print_samr_UserInfo2(ndr, "info2", &r->info2);
-               break;
-
-               case 3:
-                       ndr_print_samr_UserInfo3(ndr, "info3", &r->info3);
-               break;
-
-               case 4:
-                       ndr_print_samr_UserInfo4(ndr, "info4", &r->info4);
-               break;
-
-               case 5:
-                       ndr_print_samr_UserInfo5(ndr, "info5", &r->info5);
-               break;
-
-               case 6:
-                       ndr_print_samr_UserInfo6(ndr, "info6", &r->info6);
-               break;
-
-               case 7:
-                       ndr_print_samr_UserInfo7(ndr, "info7", &r->info7);
-               break;
-
-               case 8:
-                       ndr_print_samr_UserInfo8(ndr, "info8", &r->info8);
-               break;
-
-               case 9:
-                       ndr_print_samr_UserInfo9(ndr, "info9", &r->info9);
-               break;
-
-               case 10:
-                       ndr_print_samr_UserInfo10(ndr, "info10", &r->info10);
-               break;
-
-               case 11:
-                       ndr_print_samr_UserInfo11(ndr, "info11", &r->info11);
-               break;
-
-               case 12:
-                       ndr_print_samr_UserInfo12(ndr, "info12", &r->info12);
-               break;
-
-               case 13:
-                       ndr_print_samr_UserInfo13(ndr, "info13", &r->info13);
-               break;
-
-               case 14:
-                       ndr_print_samr_UserInfo14(ndr, "info14", &r->info14);
-               break;
-
-               case 16:
-                       ndr_print_samr_UserInfo16(ndr, "info16", &r->info16);
-               break;
-
-               case 17:
-                       ndr_print_samr_UserInfo17(ndr, "info17", &r->info17);
-               break;
-
-               case 18:
-                       ndr_print_samr_UserInfo18(ndr, "info18", &r->info18);
-               break;
-
-               case 20:
-                       ndr_print_samr_UserInfo20(ndr, "info20", &r->info20);
-               break;
-
-               case 21:
-                       ndr_print_samr_UserInfo21(ndr, "info21", &r->info21);
-               break;
-
-               case 23:
-                       ndr_print_samr_UserInfo23(ndr, "info23", &r->info23);
-               break;
-
-               case 24:
-                       ndr_print_samr_UserInfo24(ndr, "info24", &r->info24);
-               break;
-
-               case 25:
-                       ndr_print_samr_UserInfo25(ndr, "info25", &r->info25);
-               break;
-
-               case 26:
-                       ndr_print_samr_UserInfo26(ndr, "info26", &r->info26);
-               break;
-
-               default:
-                       ndr_print_bad_level(ndr, name, level);
-       }
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
-               NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
-               NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r)
-{
-       ndr_print_struct(ndr, name, "samr_RidWithAttribute");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "rid", r->rid);
-       ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r)
-{
-       uint32_t cntr_rids_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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->rids));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->rids) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
-                               NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r)
-{
-       uint32_t _ptr_rids;
-       uint32_t cntr_rids_1;
-       TALLOC_CTX *_mem_save_rids_0;
-       TALLOC_CTX *_mem_save_rids_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_rids));
-               if (_ptr_rids) {
-                       NDR_PULL_ALLOC(ndr, r->rids);
-               } else {
-                       r->rids = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->rids) {
-                       _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
-                       NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
-                       _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
-                       for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
-                               NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
-               }
-               if (r->rids) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r)
-{
-       uint32_t cntr_rids_1;
-       ndr_print_struct(ndr, name, "samr_RidWithAttributeArray");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_ptr(ndr, "rids", r->rids);
-       ndr->depth++;
-       if (r->rids) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
-               ndr->depth++;
-               for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
-                               ndr_print_samr_RidWithAttribute(ndr, "rids", &r->rids[cntr_rids_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispEntryGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryGeneral *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
-               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispEntryGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryGeneral *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
-               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r)
-{
-       ndr_print_struct(ndr, name, "samr_DispEntryGeneral");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "idx", r->idx);
-       ndr_print_uint32(ndr, "rid", r->rid);
-       ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr_print_lsa_String(ndr, "full_name", &r->full_name);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoGeneral *r)
-{
-       uint32_t cntr_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r)
-{
-       uint32_t _ptr_entries;
-       uint32_t cntr_entries_1;
-       TALLOC_CTX *_mem_save_entries_0;
-       TALLOC_CTX *_mem_save_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_entries));
-               if (_ptr_entries) {
-                       NDR_PULL_ALLOC(ndr, r->entries);
-               } else {
-                       r->entries = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->entries) {
-                       _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
-                       NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
-                       _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
-               }
-               if (r->entries) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r)
-{
-       uint32_t cntr_entries_1;
-       ndr_print_struct(ndr, name, "samr_DispInfoGeneral");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_ptr(ndr, "entries", r->entries);
-       ndr->depth++;
-       if (r->entries) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
-               ndr->depth++;
-               for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
-                               ndr_print_samr_DispEntryGeneral(ndr, "entries", &r->entries[cntr_entries_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispEntryFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFull *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
-               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispEntryFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFull *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
-               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r)
-{
-       ndr_print_struct(ndr, name, "samr_DispEntryFull");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "idx", r->idx);
-       ndr_print_uint32(ndr, "rid", r->rid);
-       ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFull *r)
-{
-       uint32_t cntr_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r)
-{
-       uint32_t _ptr_entries;
-       uint32_t cntr_entries_1;
-       TALLOC_CTX *_mem_save_entries_0;
-       TALLOC_CTX *_mem_save_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_entries));
-               if (_ptr_entries) {
-                       NDR_PULL_ALLOC(ndr, r->entries);
-               } else {
-                       r->entries = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->entries) {
-                       _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
-                       NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
-                       _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
-               }
-               if (r->entries) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r)
-{
-       uint32_t cntr_entries_1;
-       ndr_print_struct(ndr, name, "samr_DispInfoFull");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_ptr(ndr, "entries", r->entries);
-       ndr->depth++;
-       if (r->entries) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
-               ndr->depth++;
-               for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
-                               ndr_print_samr_DispEntryFull(ndr, "entries", &r->entries[cntr_entries_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispEntryFullGroup(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFullGroup *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
-               NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->acct_flags));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispEntryFullGroup(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFullGroup *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
-               NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->acct_flags));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r)
-{
-       ndr_print_struct(ndr, name, "samr_DispEntryFullGroup");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "idx", r->idx);
-       ndr_print_uint32(ndr, "rid", r->rid);
-       ndr_print_samr_GroupAttrs(ndr, "acct_flags", r->acct_flags);
-       ndr_print_lsa_String(ndr, "account_name", &r->account_name);
-       ndr_print_lsa_String(ndr, "description", &r->description);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFullGroups *r)
-{
-       uint32_t cntr_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r)
-{
-       uint32_t _ptr_entries;
-       uint32_t cntr_entries_1;
-       TALLOC_CTX *_mem_save_entries_0;
-       TALLOC_CTX *_mem_save_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_entries));
-               if (_ptr_entries) {
-                       NDR_PULL_ALLOC(ndr, r->entries);
-               } else {
-                       r->entries = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->entries) {
-                       _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
-                       NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
-                       _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
-               }
-               if (r->entries) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r)
-{
-       uint32_t cntr_entries_1;
-       ndr_print_struct(ndr, name, "samr_DispInfoFullGroups");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_ptr(ndr, "entries", r->entries);
-       ndr->depth++;
-       if (r->entries) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
-               ndr->depth++;
-               for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
-                               ndr_print_samr_DispEntryFullGroup(ndr, "entries", &r->entries[cntr_entries_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispEntryAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryAscii *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
-               NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispEntryAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryAscii *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
-               NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r)
-{
-       ndr_print_struct(ndr, name, "samr_DispEntryAscii");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "idx", r->idx);
-       ndr_print_lsa_AsciiStringLarge(ndr, "account_name", &r->account_name);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoAscii *r)
-{
-       uint32_t cntr_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_uint3264(ndr, NDR_SCALARS, r->count));
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r)
-{
-       uint32_t _ptr_entries;
-       uint32_t cntr_entries_1;
-       TALLOC_CTX *_mem_save_entries_0;
-       TALLOC_CTX *_mem_save_entries_1;
-       if (ndr_flags & NDR_SCALARS) {
-               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_entries));
-               if (_ptr_entries) {
-                       NDR_PULL_ALLOC(ndr, r->entries);
-               } else {
-                       r->entries = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->entries) {
-                       _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
-                       NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
-                       _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
-                       }
-                       for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
-                               NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
-               }
-               if (r->entries) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r)
-{
-       uint32_t cntr_entries_1;
-       ndr_print_struct(ndr, name, "samr_DispInfoAscii");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "count", r->count);
-       ndr_print_ptr(ndr, "entries", r->entries);
-       ndr->depth++;
-       if (r->entries) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
-               ndr->depth++;
-               for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
-                               ndr_print_samr_DispEntryAscii(ndr, "entries", &r->entries[cntr_entries_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DispInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DispInfo *r)
-{
-       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, 5));
-               switch (level) {
-                       case 1: {
-                               NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
-                       break; }
-
-                       case 4: {
-                               NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
-                       break; }
-
-                       case 5: {
-                               NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
-                       break; }
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               switch (level) {
-                       case 1:
-                               NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
-                       break;
-
-                       case 3:
-                               NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
-                       break;
-
-                       case 4:
-                               NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
-                       break;
-
-                       case 5:
-                               NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
-                       break;
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DispInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DispInfo *r)
-{
-       int level;
-       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));
-               if (_level != 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 1: {
-                               NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
-                       break; }
-
-                       case 4: {
-                               NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
-                       break; }
-
-                       case 5: {
-                               NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
-                       break; }
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               switch (level) {
-                       case 1:
-                               NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
-                       break;
-
-                       case 3:
-                               NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
-                       break;
-
-                       case 4:
-                               NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
-                       break;
-
-                       case 5:
-                               NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
-                       break;
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r)
-{
-       int level;
-       level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "samr_DispInfo");
-       switch (level) {
-               case 1:
-                       ndr_print_samr_DispInfoGeneral(ndr, "info1", &r->info1);
-               break;
-
-               case 2:
-                       ndr_print_samr_DispInfoFull(ndr, "info2", &r->info2);
-               break;
-
-               case 3:
-                       ndr_print_samr_DispInfoFullGroups(ndr, "info3", &r->info3);
-               break;
-
-               case 4:
-                       ndr_print_samr_DispInfoAscii(ndr, "info4", &r->info4);
-               break;
-
-               case 5:
-                       ndr_print_samr_DispInfoAscii(ndr, "info5", &r->info5);
-               break;
-
-               default:
-                       ndr_print_bad_level(ndr, name, level);
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_PwInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_PwInfo *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
-               NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_PwInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_PwInfo *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
-               NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_PwInfo");
-       ndr->depth++;
-       ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
-       ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, int ndr_flags, enum samr_ConnectVersion r)
-{
-       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, int ndr_flags, enum samr_ConnectVersion *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case SAMR_CONNECT_PRE_W2K: val = "SAMR_CONNECT_PRE_W2K"; break;
-               case SAMR_CONNECT_W2K: val = "SAMR_CONNECT_W2K"; break;
-               case SAMR_CONNECT_AFTER_W2K: val = "SAMR_CONNECT_AFTER_W2K"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samPwdChangeReason(struct ndr_push *ndr, int ndr_flags, enum samPwdChangeReason r)
-{
-       NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samPwdChangeReason(struct ndr_pull *ndr, int ndr_flags, enum samPwdChangeReason *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samPwdChangeReason(struct ndr_print *ndr, const char *name, enum samPwdChangeReason r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case SAM_PWD_CHANGE_NO_ERROR: val = "SAM_PWD_CHANGE_NO_ERROR"; break;
-               case SAM_PWD_CHANGE_PASSWORD_TOO_SHORT: val = "SAM_PWD_CHANGE_PASSWORD_TOO_SHORT"; break;
-               case SAM_PWD_CHANGE_PWD_IN_HISTORY: val = "SAM_PWD_CHANGE_PWD_IN_HISTORY"; break;
-               case SAM_PWD_CHANGE_USERNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_USERNAME_IN_PASSWORD"; break;
-               case SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD"; break;
-               case SAM_PWD_CHANGE_NOT_COMPLEX: val = "SAM_PWD_CHANGE_NOT_COMPLEX"; break;
-               case SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT: val = "SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT"; break;
-               case SAM_PWD_CHANGE_FAILED_BY_FILTER: val = "SAM_PWD_CHANGE_FAILED_BY_FILTER"; break;
-               case SAM_PWD_CHANGE_PASSWORD_TOO_LONG: val = "SAM_PWD_CHANGE_PASSWORD_TOO_LONG"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-static enum ndr_err_code ndr_push_userPwdChangeFailureInformation(struct ndr_push *ndr, int ndr_flags, const struct userPwdChangeFailureInformation *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_samPwdChangeReason(ndr, NDR_SCALARS, r->extendedFailureReason));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->filterModuleName));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->filterModuleName) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->filterModuleName, CH_UTF16)));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->filterModuleName, CH_UTF16)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->filterModuleName, ndr_charset_length(r->filterModuleName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_userPwdChangeFailureInformation(struct ndr_pull *ndr, int ndr_flags, struct userPwdChangeFailureInformation *r)
-{
-       uint32_t _ptr_filterModuleName;
-       TALLOC_CTX *_mem_save_filterModuleName_0;
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_samPwdChangeReason(ndr, NDR_SCALARS, &r->extendedFailureReason));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_filterModuleName));
-               if (_ptr_filterModuleName) {
-                       NDR_PULL_ALLOC(ndr, r->filterModuleName);
-               } else {
-                       r->filterModuleName = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->filterModuleName) {
-                       _mem_save_filterModuleName_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->filterModuleName, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->filterModuleName));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->filterModuleName));
-                       if (ndr_get_array_length(ndr, &r->filterModuleName) > ndr_get_array_size(ndr, &r->filterModuleName)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->filterModuleName), ndr_get_array_length(ndr, &r->filterModuleName));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->filterModuleName), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->filterModuleName, ndr_get_array_length(ndr, &r->filterModuleName), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filterModuleName_0, 0);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_userPwdChangeFailureInformation(struct ndr_print *ndr, const char *name, const struct userPwdChangeFailureInformation *r)
-{
-       ndr_print_struct(ndr, name, "userPwdChangeFailureInformation");
-       ndr->depth++;
-       ndr_print_samPwdChangeReason(ndr, "extendedFailureReason", r->extendedFailureReason);
-       ndr_print_ptr(ndr, "filterModuleName", r->filterModuleName);
-       ndr->depth++;
-       if (r->filterModuleName) {
-               ndr_print_string(ndr, "filterModuleName", r->filterModuleName);
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ConnectInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_ConnectInfo1 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 4));
-               NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->client_version));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ConnectInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_ConnectInfo1 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 4));
-               NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->client_version));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r)
-{
-       ndr_print_struct(ndr, name, "samr_ConnectInfo1");
-       ndr->depth++;
-       ndr_print_samr_ConnectVersion(ndr, "client_version", r->client_version);
-       ndr_print_uint32(ndr, "unknown2", r->unknown2);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ConnectInfo(struct ndr_push *ndr, int ndr_flags, const union samr_ConnectInfo *r)
-{
-       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, 4));
-               switch (level) {
-                       case 1: {
-                               NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
-                       break; }
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               switch (level) {
-                       case 1:
-                       break;
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ConnectInfo(struct ndr_pull *ndr, int ndr_flags, union samr_ConnectInfo *r)
-{
-       int level;
-       uint32_t _level;
-       level = ndr_pull_get_switch_value(ndr, r);
-       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 at %s", _level, __location__);
-               }
-               NDR_CHECK(ndr_pull_union_align(ndr, 4));
-               switch (level) {
-                       case 1: {
-                               NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
-                       break; }
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               switch (level) {
-                       case 1:
-                       break;
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r)
-{
-       int level;
-       level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "samr_ConnectInfo");
-       switch (level) {
-               case 1:
-                       ndr_print_samr_ConnectInfo1(ndr, "info1", &r->info1);
-               break;
-
-               default:
-                       ndr_print_bad_level(ndr, name, level);
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_ValidateFieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-       uint32_t v;
-       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-       ndr_print_uint32(ndr, name, r);
-       ndr->depth++;
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, r);
-       ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, r);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePasswordLevel(struct ndr_push *ndr, int ndr_flags, enum samr_ValidatePasswordLevel r)
-{
-       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidatePasswordLevel *r)
-{
-       uint16_t v;
-       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case NetValidateAuthentication: val = "NetValidateAuthentication"; break;
-               case NetValidatePasswordChange: val = "NetValidatePasswordChange"; break;
-               case NetValidatePasswordReset: val = "NetValidatePasswordReset"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-static enum ndr_err_code ndr_push_samr_ValidationStatus(struct ndr_push *ndr, int ndr_flags, enum samr_ValidationStatus r)
-{
-       NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidationStatus(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidationStatus *r)
-{
-       uint16_t v;
-       NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
-       *r = v;
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r)
-{
-       const char *val = NULL;
-
-       switch (r) {
-               case SAMR_VALIDATION_STATUS_SUCCESS: val = "SAMR_VALIDATION_STATUS_SUCCESS"; break;
-               case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE: val = "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
-               case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT: val = "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
-               case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED: val = "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break;
-               case SAMR_VALIDATION_STATUS_BAD_PASSWORD: val = "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
-               case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT: val = "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
-               case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT: val = "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
-               case SAMR_VALIDATION_STATUS_PWD_TOO_LONG: val = "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
-               case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH: val = "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
-               case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT: val = "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
-               case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR: val = "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break;
-       }
-       ndr_print_enum(ndr, name, "ENUM", val, r);
-}
-
-static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidationBlob *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 5));
-               NDR_CHECK(ndr_push_uint32(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_uint3264(ndr, NDR_SCALARS, r->length));
-                       NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r)
-{
-       uint32_t _ptr_data;
-       TALLOC_CTX *_mem_save_data_0;
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 5));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
-               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) {
-                       _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
-                       NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
-                       NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
-               }
-               if (r->data) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r)
-{
-       ndr_print_struct(ndr, name, "samr_ValidationBlob");
-       ndr->depth++;
-       ndr_print_uint32(ndr, "length", r->length);
-       ndr_print_ptr(ndr, "data", r->data);
-       ndr->depth++;
-       if (r->data) {
-               ndr_print_array_uint8(ndr, "data", r->data, r->length);
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordInfo *r)
-{
-       uint32_t cntr_pwd_history_1;
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, r->fields_present));
-               NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_password_change));
-               NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->bad_password_time));
-               NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->lockout_time));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pwd_count));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->pwd_history));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->pwd_history) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pwd_history_len));
-                       for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
-                               NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
-                       }
-                       for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
-                               NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
-                       }
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r)
-{
-       uint32_t _ptr_pwd_history;
-       uint32_t cntr_pwd_history_1;
-       TALLOC_CTX *_mem_save_pwd_history_0;
-       TALLOC_CTX *_mem_save_pwd_history_1;
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
-               NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_password_change));
-               NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->bad_password_time));
-               NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->lockout_time));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pwd_count));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwd_history_len));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwd_history));
-               if (_ptr_pwd_history) {
-                       NDR_PULL_ALLOC(ndr, r->pwd_history);
-               } else {
-                       r->pwd_history = NULL;
-               }
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               if (r->pwd_history) {
-                       _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history));
-                       NDR_PULL_ALLOC_N(ndr, r->pwd_history, ndr_get_array_size(ndr, &r->pwd_history));
-                       _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
-                       for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
-                               NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
-                       }
-                       for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
-                               NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
-                       }
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0);
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_0, 0);
-               }
-               if (r->pwd_history) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pwd_history, r->pwd_history_len));
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r)
-{
-       uint32_t cntr_pwd_history_1;
-       ndr_print_struct(ndr, name, "samr_ValidatePasswordInfo");
-       ndr->depth++;
-       ndr_print_samr_ValidateFieldsPresent(ndr, "fields_present", r->fields_present);
-       ndr_print_NTTIME_hyper(ndr, "last_password_change", r->last_password_change);
-       ndr_print_NTTIME_hyper(ndr, "bad_password_time", r->bad_password_time);
-       ndr_print_NTTIME_hyper(ndr, "lockout_time", r->lockout_time);
-       ndr_print_uint32(ndr, "bad_pwd_count", r->bad_pwd_count);
-       ndr_print_uint32(ndr, "pwd_history_len", r->pwd_history_len);
-       ndr_print_ptr(ndr, "pwd_history", r->pwd_history);
-       ndr->depth++;
-       if (r->pwd_history) {
-               ndr->print(ndr, "%s: ARRAY(%d)", "pwd_history", (int)r->pwd_history_len);
-               ndr->depth++;
-               for (cntr_pwd_history_1=0;cntr_pwd_history_1<r->pwd_history_len;cntr_pwd_history_1++) {
-                       char *idx_1=NULL;
-                       if (asprintf(&idx_1, "[%d]", cntr_pwd_history_1) != -1) {
-                               ndr_print_samr_ValidationBlob(ndr, "pwd_history", &r->pwd_history[cntr_pwd_history_1]);
-                               free(idx_1);
-                       }
-               }
-               ndr->depth--;
-       }
-       ndr->depth--;
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordRepCtr *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_push_samr_ValidationStatus(ndr, NDR_SCALARS, r->status));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordRepCtr *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr, NDR_SCALARS, &r->status));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r)
-{
-       ndr_print_struct(ndr, name, "samr_ValidatePasswordRepCtr");
-       ndr->depth++;
-       ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
-       ndr_print_samr_ValidationStatus(ndr, "status", r->status);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePasswordRep(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordRep *r)
-{
-       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 1: {
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
-                       break; }
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               switch (level) {
-                       case 1:
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
-                       break;
-
-                       case 3:
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
-                       break;
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePasswordRep(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordRep *r)
-{
-       int level;
-       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));
-               if (_level != 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 1: {
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
-                       break; }
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               switch (level) {
-                       case 1:
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
-                       break;
-
-                       case 3:
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
-                       break;
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r)
-{
-       int level;
-       level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "samr_ValidatePasswordRep");
-       switch (level) {
-               case 1:
-                       ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr1", &r->ctr1);
-               break;
-
-               case 2:
-                       ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr2", &r->ctr2);
-               break;
-
-               case 3:
-                       ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr3", &r->ctr3);
-               break;
-
-               default:
-                       ndr_print_bad_level(ndr, name, level);
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePasswordReq3(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq3 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
-               NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pwd_must_change_at_next_logon));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->clear_lockout));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
-               NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
-               NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
-               NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq3 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
-               NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pwd_must_change_at_next_logon));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->clear_lockout));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
-               NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
-               NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
-               NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r)
-{
-       ndr_print_struct(ndr, name, "samr_ValidatePasswordReq3");
-       ndr->depth++;
-       ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
-       ndr_print_lsa_StringLarge(ndr, "password", &r->password);
-       ndr_print_lsa_StringLarge(ndr, "account", &r->account);
-       ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
-       ndr_print_uint8(ndr, "pwd_must_change_at_next_logon", r->pwd_must_change_at_next_logon);
-       ndr_print_uint8(ndr, "clear_lockout", r->clear_lockout);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePasswordReq2(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq2 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
-               NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
-               NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
-               NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
-               NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq2 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
-               NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
-               NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
-               NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
-               NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
-               NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_ValidatePasswordReq2");
-       ndr->depth++;
-       ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
-       ndr_print_lsa_StringLarge(ndr, "password", &r->password);
-       ndr_print_lsa_StringLarge(ndr, "account", &r->account);
-       ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
-       ndr_print_uint8(ndr, "password_matched", r->password_matched);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePasswordReq1(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq1 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_push_align(ndr, 8));
-               NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
-               NDR_CHECK(ndr_push_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq1 *r)
-{
-       if (ndr_flags & NDR_SCALARS) {
-               NDR_CHECK(ndr_pull_align(ndr, 8));
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
-               NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r)
-{
-       ndr_print_struct(ndr, name, "samr_ValidatePasswordReq1");
-       ndr->depth++;
-       ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
-       ndr_print_uint8(ndr, "password_matched", r->password_matched);
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePasswordReq(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordReq *r)
-{
-       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 1: {
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
-                       break; }
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               int level = ndr_push_get_switch_value(ndr, r);
-               switch (level) {
-                       case 1:
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
-                       break;
-
-                       case 3:
-                               NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
-                       break;
-
-                       default:
-                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordReq *r)
-{
-       int level;
-       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));
-               if (_level != 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 1: {
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
-                       break; }
-
-                       case 2: {
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
-                       break; }
-
-                       case 3: {
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
-                       break; }
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       if (ndr_flags & NDR_BUFFERS) {
-               switch (level) {
-                       case 1:
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
-                       break;
-
-                       case 2:
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
-                       break;
-
-                       case 3:
-                               NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
-                       break;
-
-                       default:
-                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
-               }
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r)
-{
-       int level;
-       level = ndr_print_get_switch_value(ndr, r);
-       ndr_print_union(ndr, name, level, "samr_ValidatePasswordReq");
-       switch (level) {
-               case 1:
-                       ndr_print_samr_ValidatePasswordReq1(ndr, "req1", &r->req1);
-               break;
-
-               case 2:
-                       ndr_print_samr_ValidatePasswordReq2(ndr, "req2", &r->req2);
-               break;
-
-               case 3:
-                       ndr_print_samr_ValidatePasswordReq3(ndr, "req3", &r->req3);
-               break;
-
-               default:
-                       ndr_print_bad_level(ndr, name, level);
-       }
-}
-
-static enum ndr_err_code ndr_push_samr_Connect(struct ndr_push *ndr, int flags, const struct samr_Connect *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
-               if (r->in.system_name) {
-                       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
-               }
-               NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.connect_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_Connect(struct ndr_pull *ndr, int flags, struct samr_Connect *r)
-{
-       uint32_t _ptr_system_name;
-       TALLOC_CTX *_mem_save_system_name_0;
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
-               if (_ptr_system_name) {
-                       NDR_PULL_ALLOC(ndr, r->in.system_name);
-               } else {
-                       r->in.system_name = NULL;
-               }
-               if (r->in.system_name) {
-                       _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
-                       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
-               }
-               NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               ZERO_STRUCTP(r->out.connect_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r)
-{
-       ndr_print_struct(ndr, name, "samr_Connect");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_Connect");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "system_name", r->in.system_name);
-               ndr->depth++;
-               if (r->in.system_name) {
-                       ndr_print_uint16(ndr, "system_name", *r->in.system_name);
-               }
-               ndr->depth--;
-               ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_Connect");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *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 (flags & NDR_OUT) {
-               if (r->out.handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r)
-{
-       TALLOC_CTX *_mem_save_handle_0;
-       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);
-               NDR_PULL_ALLOC(ndr, r->out.handle);
-               *r->out.handle = *r->in.handle;
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.handle);
-               }
-               _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r)
-{
-       ndr_print_struct(ndr, name, "samr_Close");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_Close");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "handle", r->in.handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "handle", r->in.handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_Close");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "handle", r->out.handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "handle", r->out.handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SetSecurity(struct ndr_push *ndr, int flags, const struct samr_SetSecurity *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));
-               NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
-               if (r->in.sdbuf == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SetSecurity(struct ndr_pull *ndr, int flags, struct samr_SetSecurity *r)
-{
-       TALLOC_CTX *_mem_save_handle_0;
-       TALLOC_CTX *_mem_save_sdbuf_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);
-               NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.sdbuf);
-               }
-               _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetSecurity");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetSecurity");
-               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_security_secinfo(ndr, "sec_info", r->in.sec_info);
-               ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf);
-               ndr->depth++;
-               ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetSecurity");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QuerySecurity(struct ndr_push *ndr, int flags, const struct samr_QuerySecurity *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));
-               NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.sdbuf == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf));
-               if (*r->out.sdbuf) {
-                       NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QuerySecurity(struct ndr_pull *ndr, int flags, struct samr_QuerySecurity *r)
-{
-       uint32_t _ptr_sdbuf;
-       TALLOC_CTX *_mem_save_handle_0;
-       TALLOC_CTX *_mem_save_sdbuf_0;
-       TALLOC_CTX *_mem_save_sdbuf_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);
-               NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
-               NDR_PULL_ALLOC(ndr, r->out.sdbuf);
-               ZERO_STRUCTP(r->out.sdbuf);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.sdbuf);
-               }
-               _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf));
-               if (_ptr_sdbuf) {
-                       NDR_PULL_ALLOC(ndr, *r->out.sdbuf);
-               } else {
-                       *r->out.sdbuf = NULL;
-               }
-               if (*r->out.sdbuf) {
-                       _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0);
-                       NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r)
-{
-       ndr_print_struct(ndr, name, "samr_QuerySecurity");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QuerySecurity");
-               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_security_secinfo(ndr, "sec_info", r->in.sec_info);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QuerySecurity");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf);
-               ndr->depth++;
-               if (*r->out.sdbuf) {
-                       ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_Shutdown(struct ndr_push *ndr, int flags, const struct samr_Shutdown *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.connect_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.connect_handle));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_Shutdown(struct ndr_pull *ndr, int flags, struct samr_Shutdown *r)
-{
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r)
-{
-       ndr_print_struct(ndr, name, "samr_Shutdown");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_Shutdown");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_Shutdown");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_LookupDomain(struct ndr_push *ndr, int flags, const struct samr_LookupDomain *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.connect_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.connect_handle));
-               if (r->in.domain_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.domain_name));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.sid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
-               if (*r->out.sid) {
-                       NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_LookupDomain(struct ndr_pull *ndr, int flags, struct samr_LookupDomain *r)
-{
-       uint32_t _ptr_sid;
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       TALLOC_CTX *_mem_save_domain_name_0;
-       TALLOC_CTX *_mem_save_sid_0;
-       TALLOC_CTX *_mem_save_sid_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_name);
-               }
-               _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.sid);
-               ZERO_STRUCTP(r->out.sid);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.sid);
-               }
-               _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
-               if (_ptr_sid) {
-                       NDR_PULL_ALLOC(ndr, *r->out.sid);
-               } else {
-                       *r->out.sid = NULL;
-               }
-               if (*r->out.sid) {
-                       _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
-                       NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r)
-{
-       ndr_print_struct(ndr, name, "samr_LookupDomain");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_LookupDomain");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
-               ndr->depth++;
-               ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_LookupDomain");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sid", r->out.sid);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sid", *r->out.sid);
-               ndr->depth++;
-               if (*r->out.sid) {
-                       ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_EnumDomains(struct ndr_push *ndr, int flags, const struct samr_EnumDomains *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.connect_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.connect_handle));
-               if (r->in.resume_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.resume_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
-               if (r->out.sam == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
-               if (*r->out.sam) {
-                       NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
-               }
-               if (r->out.num_entries == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_EnumDomains(struct ndr_pull *ndr, int flags, struct samr_EnumDomains *r)
-{
-       uint32_t _ptr_sam;
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       TALLOC_CTX *_mem_save_resume_handle_0;
-       TALLOC_CTX *_mem_save_sam_0;
-       TALLOC_CTX *_mem_save_sam_1;
-       TALLOC_CTX *_mem_save_num_entries_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.resume_handle);
-               }
-               _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
-               NDR_PULL_ALLOC(ndr, r->out.resume_handle);
-               *r->out.resume_handle = *r->in.resume_handle;
-               NDR_PULL_ALLOC(ndr, r->out.sam);
-               ZERO_STRUCTP(r->out.sam);
-               NDR_PULL_ALLOC(ndr, r->out.num_entries);
-               ZERO_STRUCTP(r->out.num_entries);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.resume_handle);
-               }
-               _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.sam);
-               }
-               _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
-               if (_ptr_sam) {
-                       NDR_PULL_ALLOC(ndr, *r->out.sam);
-               } else {
-                       *r->out.sam = NULL;
-               }
-               if (*r->out.sam) {
-                       _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
-                       NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.num_entries);
-               }
-               _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r)
-{
-       ndr_print_struct(ndr, name, "samr_EnumDomains");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_EnumDomains");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_EnumDomains");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sam", r->out.sam);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sam", *r->out.sam);
-               ndr->depth++;
-               if (*r->out.sam) {
-                       ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.connect_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.connect_handle));
-               NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-               if (r->in.sid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.domain_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r)
-{
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       TALLOC_CTX *_mem_save_sid_0;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.sid);
-               }
-               _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.domain_handle);
-               ZERO_STRUCTP(r->out.domain_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r)
-{
-       ndr_print_struct(ndr, name, "samr_OpenDomain");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_OpenDomain");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth--;
-               ndr_print_samr_DomainAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr_print_ptr(ndr, "sid", r->in.sid);
-               ndr->depth++;
-               ndr_print_dom_sid2(ndr, "sid", r->in.sid);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_OpenDomain");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->out.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->out.domain_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryDomainInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
-               if (*r->out.info) {
-                       NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryDomainInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo *r)
-{
-       uint32_t _ptr_info;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       TALLOC_CTX *_mem_save_info_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
-               if (_ptr_info) {
-                       NDR_PULL_ALLOC(ndr, *r->out.info);
-               } else {
-                       *r->out.info = NULL;
-               }
-               if (*r->out.info) {
-                       _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
-                       NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryDomainInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryDomainInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryDomainInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", *r->out.info);
-               ndr->depth++;
-               if (*r->out.info) {
-                       ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
-                       ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SetDomainInfo(struct ndr_push *ndr, int flags, const struct samr_SetDomainInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
-               if (r->in.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SetDomainInfo(struct ndr_pull *ndr, int flags, struct samr_SetDomainInfo *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetDomainInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetDomainInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
-               ndr_print_ptr(ndr, "info", r->in.info);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
-               ndr_print_samr_DomainInfo(ndr, "info", r->in.info);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetDomainInfo");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_CreateDomainGroup(struct ndr_push *ndr, int flags, const struct samr_CreateDomainGroup *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_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_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.group_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
-               if (r->out.rid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_CreateDomainGroup(struct ndr_pull *ndr, int flags, struct samr_CreateDomainGroup *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_name_0;
-       TALLOC_CTX *_mem_save_group_handle_0;
-       TALLOC_CTX *_mem_save_rid_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_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_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_PULL_ALLOC(ndr, r->out.group_handle);
-               ZERO_STRUCTP(r->out.group_handle);
-               NDR_PULL_ALLOC(ndr, r->out.rid);
-               ZERO_STRUCTP(r->out.rid);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rid);
-               }
-               _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r)
-{
-       ndr_print_struct(ndr, name, "samr_CreateDomainGroup");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_CreateDomainGroup");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_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_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_CreateDomainGroup");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "rid", r->out.rid);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "rid", *r->out.rid);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_EnumDomainGroups(struct ndr_push *ndr, int flags, const struct samr_EnumDomainGroups *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               if (r->in.resume_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.resume_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
-               if (r->out.sam == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
-               if (*r->out.sam) {
-                       NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
-               }
-               if (r->out.num_entries == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_EnumDomainGroups(struct ndr_pull *ndr, int flags, struct samr_EnumDomainGroups *r)
-{
-       uint32_t _ptr_sam;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_resume_handle_0;
-       TALLOC_CTX *_mem_save_sam_0;
-       TALLOC_CTX *_mem_save_sam_1;
-       TALLOC_CTX *_mem_save_num_entries_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.resume_handle);
-               }
-               _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
-               NDR_PULL_ALLOC(ndr, r->out.resume_handle);
-               *r->out.resume_handle = *r->in.resume_handle;
-               NDR_PULL_ALLOC(ndr, r->out.sam);
-               ZERO_STRUCTP(r->out.sam);
-               NDR_PULL_ALLOC(ndr, r->out.num_entries);
-               ZERO_STRUCTP(r->out.num_entries);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.resume_handle);
-               }
-               _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.sam);
-               }
-               _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
-               if (_ptr_sam) {
-                       NDR_PULL_ALLOC(ndr, *r->out.sam);
-               } else {
-                       *r->out.sam = NULL;
-               }
-               if (*r->out.sam) {
-                       _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
-                       NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.num_entries);
-               }
-               _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r)
-{
-       ndr_print_struct(ndr, name, "samr_EnumDomainGroups");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_EnumDomainGroups");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "max_size", r->in.max_size);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_EnumDomainGroups");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sam", r->out.sam);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sam", *r->out.sam);
-               ndr->depth++;
-               if (*r->out.sam) {
-                       ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_CreateUser(struct ndr_push *ndr, int flags, const struct samr_CreateUser *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               if (r->in.account_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.account_name));
-               NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.user_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
-               if (r->out.rid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_CreateUser(struct ndr_pull *ndr, int flags, struct samr_CreateUser *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_account_name_0;
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_rid_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.account_name);
-               }
-               _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_PULL_ALLOC(ndr, r->out.user_handle);
-               ZERO_STRUCTP(r->out.user_handle);
-               NDR_PULL_ALLOC(ndr, r->out.rid);
-               ZERO_STRUCTP(r->out.rid);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rid);
-               }
-               _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r)
-{
-       ndr_print_struct(ndr, name, "samr_CreateUser");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_CreateUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "account_name", r->in.account_name);
-               ndr->depth++;
-               ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
-               ndr->depth--;
-               ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_CreateUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "rid", r->out.rid);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "rid", *r->out.rid);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_EnumDomainUsers(struct ndr_push *ndr, int flags, const struct samr_EnumDomainUsers *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               if (r->in.resume_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
-               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.resume_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
-               if (r->out.sam == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
-               if (*r->out.sam) {
-                       NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
-               }
-               if (r->out.num_entries == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_EnumDomainUsers(struct ndr_pull *ndr, int flags, struct samr_EnumDomainUsers *r)
-{
-       uint32_t _ptr_sam;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_resume_handle_0;
-       TALLOC_CTX *_mem_save_sam_0;
-       TALLOC_CTX *_mem_save_sam_1;
-       TALLOC_CTX *_mem_save_num_entries_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.resume_handle);
-               }
-               _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
-               NDR_PULL_ALLOC(ndr, r->out.resume_handle);
-               *r->out.resume_handle = *r->in.resume_handle;
-               NDR_PULL_ALLOC(ndr, r->out.sam);
-               ZERO_STRUCTP(r->out.sam);
-               NDR_PULL_ALLOC(ndr, r->out.num_entries);
-               ZERO_STRUCTP(r->out.num_entries);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.resume_handle);
-               }
-               _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.sam);
-               }
-               _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
-               if (_ptr_sam) {
-                       NDR_PULL_ALLOC(ndr, *r->out.sam);
-               } else {
-                       *r->out.sam = NULL;
-               }
-               if (*r->out.sam) {
-                       _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
-                       NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.num_entries);
-               }
-               _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r)
-{
-       ndr_print_struct(ndr, name, "samr_EnumDomainUsers");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_EnumDomainUsers");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
-               ndr->depth--;
-               ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
-               ndr_print_uint32(ndr, "max_size", r->in.max_size);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_EnumDomainUsers");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sam", r->out.sam);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sam", *r->out.sam);
-               ndr->depth++;
-               if (*r->out.sam) {
-                       ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_CreateDomAlias(struct ndr_push *ndr, int flags, const struct samr_CreateDomAlias *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               if (r->in.alias_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.alias_name));
-               NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.alias_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
-               if (r->out.rid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_CreateDomAlias(struct ndr_pull *ndr, int flags, struct samr_CreateDomAlias *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_alias_name_0;
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       TALLOC_CTX *_mem_save_rid_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_name);
-               }
-               _mem_save_alias_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_name, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_name_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_PULL_ALLOC(ndr, r->out.alias_handle);
-               ZERO_STRUCTP(r->out.alias_handle);
-               NDR_PULL_ALLOC(ndr, r->out.rid);
-               ZERO_STRUCTP(r->out.rid);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rid);
-               }
-               _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r)
-{
-       ndr_print_struct(ndr, name, "samr_CreateDomAlias");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_CreateDomAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "alias_name", r->in.alias_name);
-               ndr->depth++;
-               ndr_print_lsa_String(ndr, "alias_name", r->in.alias_name);
-               ndr->depth--;
-               ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_CreateDomAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "rid", r->out.rid);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "rid", *r->out.rid);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_EnumDomainAliases(struct ndr_push *ndr, int flags, const struct samr_EnumDomainAliases *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               if (r->in.resume_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.resume_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
-               if (r->out.sam == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
-               if (*r->out.sam) {
-                       NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
-               }
-               if (r->out.num_entries == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_EnumDomainAliases(struct ndr_pull *ndr, int flags, struct samr_EnumDomainAliases *r)
-{
-       uint32_t _ptr_sam;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_resume_handle_0;
-       TALLOC_CTX *_mem_save_sam_0;
-       TALLOC_CTX *_mem_save_sam_1;
-       TALLOC_CTX *_mem_save_num_entries_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.resume_handle);
-               }
-               _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
-               NDR_PULL_ALLOC(ndr, r->out.resume_handle);
-               *r->out.resume_handle = *r->in.resume_handle;
-               NDR_PULL_ALLOC(ndr, r->out.sam);
-               ZERO_STRUCTP(r->out.sam);
-               NDR_PULL_ALLOC(ndr, r->out.num_entries);
-               ZERO_STRUCTP(r->out.num_entries);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.resume_handle);
-               }
-               _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.sam);
-               }
-               _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
-               if (_ptr_sam) {
-                       NDR_PULL_ALLOC(ndr, *r->out.sam);
-               } else {
-                       *r->out.sam = NULL;
-               }
-               if (*r->out.sam) {
-                       _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
-                       NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.num_entries);
-               }
-               _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r)
-{
-       ndr_print_struct(ndr, name, "samr_EnumDomainAliases");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_EnumDomainAliases");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "max_size", r->in.max_size);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_EnumDomainAliases");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sam", r->out.sam);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sam", *r->out.sam);
-               ndr->depth++;
-               if (*r->out.sam) {
-                       ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GetAliasMembership(struct ndr_push *ndr, int flags, const struct samr_GetAliasMembership *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               if (r->in.sids == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.rids == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GetAliasMembership(struct ndr_pull *ndr, int flags, struct samr_GetAliasMembership *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_sids_0;
-       TALLOC_CTX *_mem_save_rids_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.sids);
-               }
-               _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.rids);
-               ZERO_STRUCTP(r->out.rids);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rids);
-               }
-               _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r)
-{
-       ndr_print_struct(ndr, name, "samr_GetAliasMembership");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_GetAliasMembership");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sids", r->in.sids);
-               ndr->depth++;
-               ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_GetAliasMembership");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "rids", r->out.rids);
-               ndr->depth++;
-               ndr_print_samr_Ids(ndr, "rids", r->out.rids);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r)
-{
-       uint32_t cntr_names_0;
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
-               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
-               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-               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]));
-               }
-               for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
-               }
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.rids == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
-               if (r->out.types == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r)
-{
-       uint32_t cntr_names_0;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_names_0;
-       TALLOC_CTX *_mem_save_rids_0;
-       TALLOC_CTX *_mem_save_types_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
-               if (r->in.num_names > 1000) {
-                       return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
-               }
-               NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
-               NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names));
-               if (ndr_get_array_length(ndr, &r->in.names) > ndr_get_array_size(ndr, &r->in.names)) {
-                       return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.names), ndr_get_array_length(ndr, &r->in.names));
-               }
-               NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
-               _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
-               for (cntr_names_0 = 0; cntr_names_0 < ndr_get_array_length(ndr, &r->in.names); cntr_names_0++) {
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
-               }
-               for (cntr_names_0 = 0; cntr_names_0 < ndr_get_array_length(ndr, &r->in.names); cntr_names_0++) {
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
-               NDR_PULL_ALLOC(ndr, r->out.rids);
-               ZERO_STRUCTP(r->out.rids);
-               NDR_PULL_ALLOC(ndr, r->out.types);
-               ZERO_STRUCTP(r->out.types);
-               if (r->in.names) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, 1000));
-               }
-               if (r->in.names) {
-                       NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.names, r->in.num_names));
-               }
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rids);
-               }
-               _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.types);
-               }
-               _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r)
-{
-       uint32_t cntr_names_0;
-       ndr_print_struct(ndr, name, "samr_LookupNames");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_LookupNames");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "num_names", r->in.num_names);
-               ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
-               ndr->depth++;
-               for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
-                       char *idx_0=NULL;
-                       if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
-                               ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
-                               free(idx_0);
-                       }
-               }
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_LookupNames");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "rids", r->out.rids);
-               ndr->depth++;
-               ndr_print_samr_Ids(ndr, "rids", r->out.rids);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "types", r->out.types);
-               ndr->depth++;
-               ndr_print_samr_Ids(ndr, "types", r->out.types);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flags, const struct samr_LookupRids *r)
-{
-       uint32_t cntr_rids_0;
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
-               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
-               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-               NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_rids));
-               for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) {
-                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rids[cntr_rids_0]));
-               }
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.names == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
-               if (r->out.types == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r)
-{
-       uint32_t cntr_rids_0;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_rids_0;
-       TALLOC_CTX *_mem_save_names_0;
-       TALLOC_CTX *_mem_save_types_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_rids));
-               if (r->in.num_rids > 1000) {
-                       return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
-               }
-               NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids));
-               NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids));
-               if (ndr_get_array_length(ndr, &r->in.rids) > ndr_get_array_size(ndr, &r->in.rids)) {
-                       return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rids), ndr_get_array_length(ndr, &r->in.rids));
-               }
-               NDR_PULL_ALLOC_N(ndr, r->in.rids, ndr_get_array_size(ndr, &r->in.rids));
-               _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0);
-               for (cntr_rids_0 = 0; cntr_rids_0 < ndr_get_array_length(ndr, &r->in.rids); cntr_rids_0++) {
-                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0]));
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
-               NDR_PULL_ALLOC(ndr, r->out.names);
-               ZERO_STRUCTP(r->out.names);
-               NDR_PULL_ALLOC(ndr, r->out.types);
-               ZERO_STRUCTP(r->out.types);
-               if (r->in.rids) {
-                       NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.rids, 1000));
-               }
-               if (r->in.rids) {
-                       NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.rids, r->in.num_rids));
-               }
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.names);
-               }
-               _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.types);
-               }
-               _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r)
-{
-       uint32_t cntr_rids_0;
-       ndr_print_struct(ndr, name, "samr_LookupRids");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_LookupRids");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "num_rids", r->in.num_rids);
-               ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->in.num_rids);
-               ndr->depth++;
-               for (cntr_rids_0=0;cntr_rids_0<r->in.num_rids;cntr_rids_0++) {
-                       char *idx_0=NULL;
-                       if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) {
-                               ndr_print_uint32(ndr, "rids", r->in.rids[cntr_rids_0]);
-                               free(idx_0);
-                       }
-               }
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_LookupRids");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "names", r->out.names);
-               ndr->depth++;
-               ndr_print_lsa_Strings(ndr, "names", r->out.names);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "types", r->out.types);
-               ndr->depth++;
-               ndr_print_samr_Ids(ndr, "types", r->out.types);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_OpenGroup(struct ndr_push *ndr, int flags, const struct samr_OpenGroup *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.group_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_OpenGroup(struct ndr_pull *ndr, int flags, struct samr_OpenGroup *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_group_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
-               NDR_PULL_ALLOC(ndr, r->out.group_handle);
-               ZERO_STRUCTP(r->out.group_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r)
-{
-       ndr_print_struct(ndr, name, "samr_OpenGroup");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_OpenGroup");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr_print_uint32(ndr, "rid", r->in.rid);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_OpenGroup");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryGroupInfo(struct ndr_push *ndr, int flags, const struct samr_QueryGroupInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.group_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.group_handle));
-               NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
-               if (*r->out.info) {
-                       NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryGroupInfo(struct ndr_pull *ndr, int flags, struct samr_QueryGroupInfo *r)
-{
-       uint32_t _ptr_info;
-       TALLOC_CTX *_mem_save_group_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       TALLOC_CTX *_mem_save_info_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
-               if (_ptr_info) {
-                       NDR_PULL_ALLOC(ndr, *r->out.info);
-               } else {
-                       *r->out.info = NULL;
-               }
-               if (*r->out.info) {
-                       _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
-                       NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryGroupInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryGroupInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
-               ndr->depth--;
-               ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryGroupInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", *r->out.info);
-               ndr->depth++;
-               if (*r->out.info) {
-                       ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
-                       ndr_print_samr_GroupInfo(ndr, "info", *r->out.info);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SetGroupInfo(struct ndr_push *ndr, int flags, const struct samr_SetGroupInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.group_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.group_handle));
-               NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
-               if (r->in.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SetGroupInfo(struct ndr_pull *ndr, int flags, struct samr_SetGroupInfo *r)
-{
-       TALLOC_CTX *_mem_save_group_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetGroupInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetGroupInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
-               ndr->depth--;
-               ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
-               ndr_print_ptr(ndr, "info", r->in.info);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
-               ndr_print_samr_GroupInfo(ndr, "info", r->in.info);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetGroupInfo");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_AddGroupMember(struct ndr_push *ndr, int flags, const struct samr_AddGroupMember *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.group_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.group_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_AddGroupMember(struct ndr_pull *ndr, int flags, struct samr_AddGroupMember *r)
-{
-       TALLOC_CTX *_mem_save_group_handle_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r)
-{
-       ndr_print_struct(ndr, name, "samr_AddGroupMember");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_AddGroupMember");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "rid", r->in.rid);
-               ndr_print_uint32(ndr, "flags", r->in.flags);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_AddGroupMember");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DeleteDomainGroup(struct ndr_push *ndr, int flags, const struct samr_DeleteDomainGroup *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.group_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.group_handle));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.group_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DeleteDomainGroup(struct ndr_pull *ndr, int flags, struct samr_DeleteDomainGroup *r)
-{
-       TALLOC_CTX *_mem_save_group_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.group_handle);
-               *r->out.group_handle = *r->in.group_handle;
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r)
-{
-       ndr_print_struct(ndr, name, "samr_DeleteDomainGroup");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_DeleteDomainGroup");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_DeleteDomainGroup");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DeleteGroupMember(struct ndr_push *ndr, int flags, const struct samr_DeleteGroupMember *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.group_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.group_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DeleteGroupMember(struct ndr_pull *ndr, int flags, struct samr_DeleteGroupMember *r)
-{
-       TALLOC_CTX *_mem_save_group_handle_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r)
-{
-       ndr_print_struct(ndr, name, "samr_DeleteGroupMember");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_DeleteGroupMember");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "rid", r->in.rid);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_DeleteGroupMember");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryGroupMember(struct ndr_push *ndr, int flags, const struct samr_QueryGroupMember *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.group_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.group_handle));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.rids == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
-               if (*r->out.rids) {
-                       NDR_CHECK(ndr_push_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryGroupMember(struct ndr_pull *ndr, int flags, struct samr_QueryGroupMember *r)
-{
-       uint32_t _ptr_rids;
-       TALLOC_CTX *_mem_save_group_handle_0;
-       TALLOC_CTX *_mem_save_rids_0;
-       TALLOC_CTX *_mem_save_rids_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.rids);
-               ZERO_STRUCTP(r->out.rids);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rids);
-               }
-               _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
-               if (_ptr_rids) {
-                       NDR_PULL_ALLOC(ndr, *r->out.rids);
-               } else {
-                       *r->out.rids = NULL;
-               }
-               if (*r->out.rids) {
-                       _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
-                       NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryGroupMember");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryGroupMember");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryGroupMember");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "rids", r->out.rids);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "rids", *r->out.rids);
-               ndr->depth++;
-               if (*r->out.rids) {
-                       ndr_print_samr_RidTypeArray(ndr, "rids", *r->out.rids);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push *ndr, int flags, const struct samr_SetMemberAttributesOfGroup *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.group_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.group_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull *ndr, int flags, struct samr_SetMemberAttributesOfGroup *r)
-{
-       TALLOC_CTX *_mem_save_group_handle_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.group_handle);
-               }
-               _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_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));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetMemberAttributesOfGroup");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetMemberAttributesOfGroup");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
-               ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetMemberAttributesOfGroup");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_OpenAlias(struct ndr_push *ndr, int flags, const struct samr_OpenAlias *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.alias_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_OpenAlias(struct ndr_pull *ndr, int flags, struct samr_OpenAlias *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
-               NDR_PULL_ALLOC(ndr, r->out.alias_handle);
-               ZERO_STRUCTP(r->out.alias_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r)
-{
-       ndr_print_struct(ndr, name, "samr_OpenAlias");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_OpenAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr_print_uint32(ndr, "rid", r->in.rid);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_OpenAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryAliasInfo(struct ndr_push *ndr, int flags, const struct samr_QueryAliasInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.alias_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.alias_handle));
-               NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
-               if (*r->out.info) {
-                       NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryAliasInfo(struct ndr_pull *ndr, int flags, struct samr_QueryAliasInfo *r)
-{
-       uint32_t _ptr_info;
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       TALLOC_CTX *_mem_save_info_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
-               if (_ptr_info) {
-                       NDR_PULL_ALLOC(ndr, *r->out.info);
-               } else {
-                       *r->out.info = NULL;
-               }
-               if (*r->out.info) {
-                       _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
-                       NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryAliasInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryAliasInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth--;
-               ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryAliasInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", *r->out.info);
-               ndr->depth++;
-               if (*r->out.info) {
-                       ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
-                       ndr_print_samr_AliasInfo(ndr, "info", *r->out.info);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SetAliasInfo(struct ndr_push *ndr, int flags, const struct samr_SetAliasInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.alias_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.alias_handle));
-               NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
-               if (r->in.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SetAliasInfo(struct ndr_pull *ndr, int flags, struct samr_SetAliasInfo *r)
-{
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetAliasInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetAliasInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth--;
-               ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
-               ndr_print_ptr(ndr, "info", r->in.info);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
-               ndr_print_samr_AliasInfo(ndr, "info", r->in.info);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetAliasInfo");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DeleteDomAlias(struct ndr_push *ndr, int flags, const struct samr_DeleteDomAlias *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.alias_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.alias_handle));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.alias_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DeleteDomAlias(struct ndr_pull *ndr, int flags, struct samr_DeleteDomAlias *r)
-{
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.alias_handle);
-               *r->out.alias_handle = *r->in.alias_handle;
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r)
-{
-       ndr_print_struct(ndr, name, "samr_DeleteDomAlias");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_DeleteDomAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_DeleteDomAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_AddAliasMember(struct ndr_push *ndr, int flags, const struct samr_AddAliasMember *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.alias_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.alias_handle));
-               if (r->in.sid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_AddAliasMember(struct ndr_pull *ndr, int flags, struct samr_AddAliasMember *r)
-{
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       TALLOC_CTX *_mem_save_sid_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.sid);
-               }
-               _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r)
-{
-       ndr_print_struct(ndr, name, "samr_AddAliasMember");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_AddAliasMember");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sid", r->in.sid);
-               ndr->depth++;
-               ndr_print_dom_sid2(ndr, "sid", r->in.sid);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_AddAliasMember");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DeleteAliasMember(struct ndr_push *ndr, int flags, const struct samr_DeleteAliasMember *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.alias_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.alias_handle));
-               if (r->in.sid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DeleteAliasMember(struct ndr_pull *ndr, int flags, struct samr_DeleteAliasMember *r)
-{
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       TALLOC_CTX *_mem_save_sid_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.sid);
-               }
-               _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r)
-{
-       ndr_print_struct(ndr, name, "samr_DeleteAliasMember");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_DeleteAliasMember");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sid", r->in.sid);
-               ndr->depth++;
-               ndr_print_dom_sid2(ndr, "sid", r->in.sid);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_DeleteAliasMember");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GetMembersInAlias(struct ndr_push *ndr, int flags, const struct samr_GetMembersInAlias *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.alias_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.alias_handle));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.sids == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GetMembersInAlias(struct ndr_pull *ndr, int flags, struct samr_GetMembersInAlias *r)
-{
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       TALLOC_CTX *_mem_save_sids_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.sids);
-               ZERO_STRUCTP(r->out.sids);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.sids);
-               }
-               _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r)
-{
-       ndr_print_struct(ndr, name, "samr_GetMembersInAlias");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_GetMembersInAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_GetMembersInAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sids", r->out.sids);
-               ndr->depth++;
-               ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.user_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_user_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
-               NDR_PULL_ALLOC(ndr, r->out.user_handle);
-               ZERO_STRUCTP(r->out.user_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r)
-{
-       ndr_print_struct(ndr, name, "samr_OpenUser");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_OpenUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr_print_uint32(ndr, "rid", r->in.rid);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_OpenUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_DeleteUser(struct ndr_push *ndr, int flags, const struct samr_DeleteUser *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.user_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_DeleteUser(struct ndr_pull *ndr, int flags, struct samr_DeleteUser *r)
-{
-       TALLOC_CTX *_mem_save_user_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.user_handle);
-               *r->out.user_handle = *r->in.user_handle;
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r)
-{
-       ndr_print_struct(ndr, name, "samr_DeleteUser");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_DeleteUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_DeleteUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-               NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
-               if (*r->out.info) {
-                       NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r)
-{
-       uint32_t _ptr_info;
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       TALLOC_CTX *_mem_save_info_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
-               if (_ptr_info) {
-                       NDR_PULL_ALLOC(ndr, *r->out.info);
-               } else {
-                       *r->out.info = NULL;
-               }
-               if (*r->out.info) {
-                       _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
-                       NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryUserInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryUserInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryUserInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", *r->out.info);
-               ndr->depth++;
-               if (*r->out.info) {
-                       ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
-                       ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-               NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
-               if (r->in.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r)
-{
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetUserInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetUserInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
-               ndr_print_ptr(ndr, "info", r->in.info);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
-               ndr_print_samr_UserInfo(ndr, "info", r->in.info);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetUserInfo");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ChangePasswordUser(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_present));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_lm_crypted));
-               if (r->in.old_lm_crypted) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_lm_crypted));
-               if (r->in.new_lm_crypted) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
-               }
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.nt_present));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_nt_crypted));
-               if (r->in.old_nt_crypted) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_nt_crypted));
-               if (r->in.new_nt_crypted) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
-               }
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross1_present));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_cross));
-               if (r->in.nt_cross) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
-               }
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross2_present));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_cross));
-               if (r->in.lm_cross) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
-               }
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ChangePasswordUser(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser *r)
-{
-       uint32_t _ptr_old_lm_crypted;
-       uint32_t _ptr_new_lm_crypted;
-       uint32_t _ptr_old_nt_crypted;
-       uint32_t _ptr_new_nt_crypted;
-       uint32_t _ptr_nt_cross;
-       uint32_t _ptr_lm_cross;
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_old_lm_crypted_0;
-       TALLOC_CTX *_mem_save_new_lm_crypted_0;
-       TALLOC_CTX *_mem_save_old_nt_crypted_0;
-       TALLOC_CTX *_mem_save_new_nt_crypted_0;
-       TALLOC_CTX *_mem_save_nt_cross_0;
-       TALLOC_CTX *_mem_save_lm_cross_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_present));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_lm_crypted));
-               if (_ptr_old_lm_crypted) {
-                       NDR_PULL_ALLOC(ndr, r->in.old_lm_crypted);
-               } else {
-                       r->in.old_lm_crypted = NULL;
-               }
-               if (r->in.old_lm_crypted) {
-                       _mem_save_old_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.old_lm_crypted, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_lm_crypted_0, 0);
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_lm_crypted));
-               if (_ptr_new_lm_crypted) {
-                       NDR_PULL_ALLOC(ndr, r->in.new_lm_crypted);
-               } else {
-                       r->in.new_lm_crypted = NULL;
-               }
-               if (r->in.new_lm_crypted) {
-                       _mem_save_new_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.new_lm_crypted, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_lm_crypted_0, 0);
-               }
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.nt_present));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_nt_crypted));
-               if (_ptr_old_nt_crypted) {
-                       NDR_PULL_ALLOC(ndr, r->in.old_nt_crypted);
-               } else {
-                       r->in.old_nt_crypted = NULL;
-               }
-               if (r->in.old_nt_crypted) {
-                       _mem_save_old_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.old_nt_crypted, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_nt_crypted_0, 0);
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_nt_crypted));
-               if (_ptr_new_nt_crypted) {
-                       NDR_PULL_ALLOC(ndr, r->in.new_nt_crypted);
-               } else {
-                       r->in.new_nt_crypted = NULL;
-               }
-               if (r->in.new_nt_crypted) {
-                       _mem_save_new_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.new_nt_crypted, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_nt_crypted_0, 0);
-               }
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross1_present));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_cross));
-               if (_ptr_nt_cross) {
-                       NDR_PULL_ALLOC(ndr, r->in.nt_cross);
-               } else {
-                       r->in.nt_cross = NULL;
-               }
-               if (r->in.nt_cross) {
-                       _mem_save_nt_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_cross, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_cross_0, 0);
-               }
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross2_present));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_cross));
-               if (_ptr_lm_cross) {
-                       NDR_PULL_ALLOC(ndr, r->in.lm_cross);
-               } else {
-                       r->in.lm_cross = NULL;
-               }
-               if (r->in.lm_cross) {
-                       _mem_save_lm_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_cross, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_cross_0, 0);
-               }
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r)
-{
-       ndr_print_struct(ndr, name, "samr_ChangePasswordUser");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_ChangePasswordUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr_print_uint8(ndr, "lm_present", r->in.lm_present);
-               ndr_print_ptr(ndr, "old_lm_crypted", r->in.old_lm_crypted);
-               ndr->depth++;
-               if (r->in.old_lm_crypted) {
-                       ndr_print_samr_Password(ndr, "old_lm_crypted", r->in.old_lm_crypted);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "new_lm_crypted", r->in.new_lm_crypted);
-               ndr->depth++;
-               if (r->in.new_lm_crypted) {
-                       ndr_print_samr_Password(ndr, "new_lm_crypted", r->in.new_lm_crypted);
-               }
-               ndr->depth--;
-               ndr_print_uint8(ndr, "nt_present", r->in.nt_present);
-               ndr_print_ptr(ndr, "old_nt_crypted", r->in.old_nt_crypted);
-               ndr->depth++;
-               if (r->in.old_nt_crypted) {
-                       ndr_print_samr_Password(ndr, "old_nt_crypted", r->in.old_nt_crypted);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "new_nt_crypted", r->in.new_nt_crypted);
-               ndr->depth++;
-               if (r->in.new_nt_crypted) {
-                       ndr_print_samr_Password(ndr, "new_nt_crypted", r->in.new_nt_crypted);
-               }
-               ndr->depth--;
-               ndr_print_uint8(ndr, "cross1_present", r->in.cross1_present);
-               ndr_print_ptr(ndr, "nt_cross", r->in.nt_cross);
-               ndr->depth++;
-               if (r->in.nt_cross) {
-                       ndr_print_samr_Password(ndr, "nt_cross", r->in.nt_cross);
-               }
-               ndr->depth--;
-               ndr_print_uint8(ndr, "cross2_present", r->in.cross2_present);
-               ndr_print_ptr(ndr, "lm_cross", r->in.lm_cross);
-               ndr->depth++;
-               if (r->in.lm_cross) {
-                       ndr_print_samr_Password(ndr, "lm_cross", r->in.lm_cross);
-               }
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_ChangePasswordUser");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GetGroupsForUser(struct ndr_push *ndr, int flags, const struct samr_GetGroupsForUser *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.rids == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
-               if (*r->out.rids) {
-                       NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GetGroupsForUser(struct ndr_pull *ndr, int flags, struct samr_GetGroupsForUser *r)
-{
-       uint32_t _ptr_rids;
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_rids_0;
-       TALLOC_CTX *_mem_save_rids_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.rids);
-               ZERO_STRUCTP(r->out.rids);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rids);
-               }
-               _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
-               if (_ptr_rids) {
-                       NDR_PULL_ALLOC(ndr, *r->out.rids);
-               } else {
-                       *r->out.rids = NULL;
-               }
-               if (*r->out.rids) {
-                       _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
-                       NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r)
-{
-       ndr_print_struct(ndr, name, "samr_GetGroupsForUser");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_GetGroupsForUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_GetGroupsForUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "rids", r->out.rids);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "rids", *r->out.rids);
-               ndr->depth++;
-               if (*r->out.rids) {
-                       ndr_print_samr_RidWithAttributeArray(ndr, "rids", *r->out.rids);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryDisplayInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.total_size == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
-               if (r->out.returned_size == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_total_size_0;
-       TALLOC_CTX *_mem_save_returned_size_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
-               NDR_PULL_ALLOC(ndr, r->out.total_size);
-               ZERO_STRUCTP(r->out.total_size);
-               NDR_PULL_ALLOC(ndr, r->out.returned_size);
-               ZERO_STRUCTP(r->out.returned_size);
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.total_size);
-               }
-               _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.returned_size);
-               }
-               _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryDisplayInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_uint16(ndr, "level", r->in.level);
-               ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
-               ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
-               ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "total_size", r->out.total_size);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "total_size", *r->out.total_size);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
-               ndr_print_samr_DispInfo(ndr, "info", r->out.info);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
-               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 (flags & NDR_OUT) {
-               if (r->out.idx == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_name_0;
-       TALLOC_CTX *_mem_save_idx_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
-               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_PULL_ALLOC(ndr, r->out.idx);
-               ZERO_STRUCTP(r->out.idx);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.idx);
-               }
-               _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r)
-{
-       ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_uint16(ndr, "level", r->in.level);
-               ndr_print_ptr(ndr, "name", r->in.name);
-               ndr->depth++;
-               ndr_print_lsa_String(ndr, "name", r->in.name);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "idx", r->out.idx);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "idx", *r->out.idx);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsDomain *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsDomain *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r)
-{
-       ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsDomain");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsDomain");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsDomain");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsUser *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsUser *r)
-{
-       TALLOC_CTX *_mem_save_user_handle_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r)
-{
-       ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsUser");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsUser");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsUser");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r)
-{
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_GetUserPwInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_GetUserPwInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_GetUserPwInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_samr_PwInfo(ndr, "info", r->out.info);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push *ndr, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               if (r->in.sid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull *ndr, int flags, struct samr_RemoveMemberFromForeignDomain *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_sid_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.sid);
-               }
-               _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
-{
-       ndr_print_struct(ndr, name, "samr_RemoveMemberFromForeignDomain");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_RemoveMemberFromForeignDomain");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sid", r->in.sid);
-               ndr->depth++;
-               ndr_print_dom_sid2(ndr, "sid", r->in.sid);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_RemoveMemberFromForeignDomain");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryDomainInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo2 *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
-               if (*r->out.info) {
-                       NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryDomainInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo2 *r)
-{
-       uint32_t _ptr_info;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       TALLOC_CTX *_mem_save_info_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
-               if (_ptr_info) {
-                       NDR_PULL_ALLOC(ndr, *r->out.info);
-               } else {
-                       *r->out.info = NULL;
-               }
-               if (*r->out.info) {
-                       _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
-                       NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryDomainInfo2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryDomainInfo2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryDomainInfo2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", *r->out.info);
-               ndr->depth++;
-               if (*r->out.info) {
-                       ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
-                       ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryUserInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo2 *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-               NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
-               if (*r->out.info) {
-                       NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryUserInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo2 *r)
-{
-       uint32_t _ptr_info;
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       TALLOC_CTX *_mem_save_info_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
-               if (_ptr_info) {
-                       NDR_PULL_ALLOC(ndr, *r->out.info);
-               } else {
-                       *r->out.info = NULL;
-               }
-               if (*r->out.info) {
-                       _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
-                       NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
-                       NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryUserInfo2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryUserInfo2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryUserInfo2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", *r->out.info);
-               ndr->depth++;
-               if (*r->out.info) {
-                       ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
-                       ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryDisplayInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo2 *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.total_size == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
-               if (r->out.returned_size == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo2 *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_total_size_0;
-       TALLOC_CTX *_mem_save_returned_size_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
-               NDR_PULL_ALLOC(ndr, r->out.total_size);
-               ZERO_STRUCTP(r->out.total_size);
-               NDR_PULL_ALLOC(ndr, r->out.returned_size);
-               ZERO_STRUCTP(r->out.returned_size);
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.total_size);
-               }
-               _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.returned_size);
-               }
-               _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryDisplayInfo2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_uint16(ndr, "level", r->in.level);
-               ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
-               ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
-               ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "total_size", r->out.total_size);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "total_size", *r->out.total_size);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
-               ndr_print_samr_DispInfo(ndr, "info", r->out.info);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
-               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 (flags & NDR_OUT) {
-               if (r->out.idx == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex2 *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_name_0;
-       TALLOC_CTX *_mem_save_idx_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
-               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_PULL_ALLOC(ndr, r->out.idx);
-               ZERO_STRUCTP(r->out.idx);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.idx);
-               }
-               _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_uint16(ndr, "level", r->in.level);
-               ndr_print_ptr(ndr, "name", r->in.name);
-               ndr->depth++;
-               ndr_print_lsa_String(ndr, "name", r->in.name);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "idx", r->out.idx);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "idx", *r->out.idx);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_CreateUser2(struct ndr_push *ndr, int flags, const struct samr_CreateUser2 *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               if (r->in.account_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.account_name));
-               NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
-               NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.user_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
-               if (r->out.access_granted == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.access_granted));
-               if (r->out.rid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_CreateUser2(struct ndr_pull *ndr, int flags, struct samr_CreateUser2 *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_account_name_0;
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_access_granted_0;
-       TALLOC_CTX *_mem_save_rid_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.account_name);
-               }
-               _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
-               NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_PULL_ALLOC(ndr, r->out.user_handle);
-               ZERO_STRUCTP(r->out.user_handle);
-               NDR_PULL_ALLOC(ndr, r->out.access_granted);
-               ZERO_STRUCTP(r->out.access_granted);
-               NDR_PULL_ALLOC(ndr, r->out.rid);
-               ZERO_STRUCTP(r->out.rid);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.access_granted);
-               }
-               _mem_save_access_granted_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.access_granted, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.access_granted));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_granted_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rid);
-               }
-               _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_CreateUser2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_CreateUser2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "account_name", r->in.account_name);
-               ndr->depth++;
-               ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
-               ndr->depth--;
-               ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
-               ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_CreateUser2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "access_granted", r->out.access_granted);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "access_granted", *r->out.access_granted);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "rid", r->out.rid);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "rid", *r->out.rid);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_QueryDisplayInfo3(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo3 *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.total_size == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
-               if (r->out.returned_size == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo3 *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_total_size_0;
-       TALLOC_CTX *_mem_save_returned_size_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
-               NDR_PULL_ALLOC(ndr, r->out.total_size);
-               ZERO_STRUCTP(r->out.total_size);
-               NDR_PULL_ALLOC(ndr, r->out.returned_size);
-               ZERO_STRUCTP(r->out.returned_size);
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.total_size);
-               }
-               _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.returned_size);
-               }
-               _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r)
-{
-       ndr_print_struct(ndr, name, "samr_QueryDisplayInfo3");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo3");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_uint16(ndr, "level", r->in.level);
-               ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
-               ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
-               ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo3");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "total_size", r->out.total_size);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "total_size", *r->out.total_size);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
-               ndr_print_samr_DispInfo(ndr, "info", r->out.info);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push *ndr, int flags, const struct samr_AddMultipleMembersToAlias *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.alias_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.alias_handle));
-               if (r->in.sids == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull *ndr, int flags, struct samr_AddMultipleMembersToAlias *r)
-{
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       TALLOC_CTX *_mem_save_sids_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.sids);
-               }
-               _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r)
-{
-       ndr_print_struct(ndr, name, "samr_AddMultipleMembersToAlias");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_AddMultipleMembersToAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sids", r->in.sids);
-               ndr->depth++;
-               ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_AddMultipleMembersToAlias");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push *ndr, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.alias_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.alias_handle));
-               if (r->in.sids == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull *ndr, int flags, struct samr_RemoveMultipleMembersFromAlias *r)
-{
-       TALLOC_CTX *_mem_save_alias_handle_0;
-       TALLOC_CTX *_mem_save_sids_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.alias_handle);
-               }
-               _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.sids);
-               }
-               _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
-{
-       ndr_print_struct(ndr, name, "samr_RemoveMultipleMembersFromAlias");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_RemoveMultipleMembersFromAlias");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "sids", r->in.sids);
-               ndr->depth++;
-               ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_RemoveMultipleMembersFromAlias");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_OemChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_OemChangePasswordUser2 *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
-               if (r->in.server) {
-                       NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
-               }
-               if (r->in.account == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
-               if (r->in.password) {
-                       NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
-               if (r->in.hash) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
-               }
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_OemChangePasswordUser2 *r)
-{
-       uint32_t _ptr_server;
-       uint32_t _ptr_password;
-       uint32_t _ptr_hash;
-       TALLOC_CTX *_mem_save_server_0;
-       TALLOC_CTX *_mem_save_account_0;
-       TALLOC_CTX *_mem_save_password_0;
-       TALLOC_CTX *_mem_save_hash_0;
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
-               if (_ptr_server) {
-                       NDR_PULL_ALLOC(ndr, r->in.server);
-               } else {
-                       r->in.server = NULL;
-               }
-               if (r->in.server) {
-                       _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
-                       NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
-               }
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.account);
-               }
-               _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
-               if (_ptr_password) {
-                       NDR_PULL_ALLOC(ndr, r->in.password);
-               } else {
-                       r->in.password = NULL;
-               }
-               if (r->in.password) {
-                       _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
-                       NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
-               if (_ptr_hash) {
-                       NDR_PULL_ALLOC(ndr, r->in.hash);
-               } else {
-                       r->in.hash = NULL;
-               }
-               if (r->in.hash) {
-                       _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
-               }
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_OemChangePasswordUser2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_OemChangePasswordUser2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "server", r->in.server);
-               ndr->depth++;
-               if (r->in.server) {
-                       ndr_print_lsa_AsciiString(ndr, "server", r->in.server);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "account", r->in.account);
-               ndr->depth++;
-               ndr_print_lsa_AsciiString(ndr, "account", r->in.account);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "password", r->in.password);
-               ndr->depth++;
-               if (r->in.password) {
-                       ndr_print_samr_CryptPassword(ndr, "password", r->in.password);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "hash", r->in.hash);
-               ndr->depth++;
-               if (r->in.hash) {
-                       ndr_print_samr_Password(ndr, "hash", r->in.hash);
-               }
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_OemChangePasswordUser2");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser2 *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
-               if (r->in.server) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
-               }
-               if (r->in.account == 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.account));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
-               if (r->in.nt_password) {
-                       NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
-               if (r->in.nt_verifier) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
-               }
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
-               if (r->in.lm_password) {
-                       NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
-               if (r->in.lm_verifier) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
-               }
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser2 *r)
-{
-       uint32_t _ptr_server;
-       uint32_t _ptr_nt_password;
-       uint32_t _ptr_nt_verifier;
-       uint32_t _ptr_lm_password;
-       uint32_t _ptr_lm_verifier;
-       TALLOC_CTX *_mem_save_server_0;
-       TALLOC_CTX *_mem_save_account_0;
-       TALLOC_CTX *_mem_save_nt_password_0;
-       TALLOC_CTX *_mem_save_nt_verifier_0;
-       TALLOC_CTX *_mem_save_lm_password_0;
-       TALLOC_CTX *_mem_save_lm_verifier_0;
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
-               if (_ptr_server) {
-                       NDR_PULL_ALLOC(ndr, r->in.server);
-               } else {
-                       r->in.server = NULL;
-               }
-               if (r->in.server) {
-                       _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
-               }
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.account);
-               }
-               _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
-               if (_ptr_nt_password) {
-                       NDR_PULL_ALLOC(ndr, r->in.nt_password);
-               } else {
-                       r->in.nt_password = NULL;
-               }
-               if (r->in.nt_password) {
-                       _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
-                       NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
-               if (_ptr_nt_verifier) {
-                       NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
-               } else {
-                       r->in.nt_verifier = NULL;
-               }
-               if (r->in.nt_verifier) {
-                       _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
-               }
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
-               if (_ptr_lm_password) {
-                       NDR_PULL_ALLOC(ndr, r->in.lm_password);
-               } else {
-                       r->in.lm_password = NULL;
-               }
-               if (r->in.lm_password) {
-                       _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
-                       NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
-               if (_ptr_lm_verifier) {
-                       NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
-               } else {
-                       r->in.lm_verifier = NULL;
-               }
-               if (r->in.lm_verifier) {
-                       _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
-               }
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_ChangePasswordUser2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_ChangePasswordUser2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "server", r->in.server);
-               ndr->depth++;
-               if (r->in.server) {
-                       ndr_print_lsa_String(ndr, "server", r->in.server);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "account", r->in.account);
-               ndr->depth++;
-               ndr_print_lsa_String(ndr, "account", r->in.account);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
-               ndr->depth++;
-               if (r->in.nt_password) {
-                       ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
-               ndr->depth++;
-               if (r->in.nt_verifier) {
-                       ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
-               }
-               ndr->depth--;
-               ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
-               ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
-               ndr->depth++;
-               if (r->in.lm_password) {
-                       ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
-               ndr->depth++;
-               if (r->in.lm_verifier) {
-                       ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
-               }
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_ChangePasswordUser2");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GetDomPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetDomPwInfo *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
-               if (r->in.domain_name) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
-               }
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GetDomPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetDomPwInfo *r)
-{
-       uint32_t _ptr_domain_name;
-       TALLOC_CTX *_mem_save_domain_name_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
-               if (_ptr_domain_name) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_name);
-               } else {
-                       r->in.domain_name = NULL;
-               }
-               if (r->in.domain_name) {
-                       _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
-               }
-               NDR_PULL_ALLOC(ndr, r->out.info);
-               ZERO_STRUCTP(r->out.info);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r)
-{
-       ndr_print_struct(ndr, name, "samr_GetDomPwInfo");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_GetDomPwInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
-               ndr->depth++;
-               if (r->in.domain_name) {
-                       ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
-               }
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_GetDomPwInfo");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "info", r->out.info);
-               ndr->depth++;
-               ndr_print_samr_PwInfo(ndr, "info", r->out.info);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags, const struct samr_Connect2 *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
-               if (r->in.system_name) {
-                       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));
-               }
-               NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.connect_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r)
-{
-       uint32_t _ptr_system_name;
-       TALLOC_CTX *_mem_save_system_name_0;
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
-               if (_ptr_system_name) {
-                       NDR_PULL_ALLOC(ndr, r->in.system_name);
-               } else {
-                       r->in.system_name = NULL;
-               }
-               if (r->in.system_name) {
-                       _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
-                       if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
-               }
-               NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               ZERO_STRUCTP(r->out.connect_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_Connect2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_Connect2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "system_name", r->in.system_name);
-               ndr->depth++;
-               if (r->in.system_name) {
-                       ndr_print_string(ndr, "system_name", r->in.system_name);
-               }
-               ndr->depth--;
-               ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_Connect2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.user_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.user_handle));
-               NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
-               if (r->in.info == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r)
-{
-       TALLOC_CTX *_mem_save_user_handle_0;
-       TALLOC_CTX *_mem_save_info_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.user_handle);
-               }
-               _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.info);
-               }
-               _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetUserInfo2");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetUserInfo2");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
-               ndr->depth--;
-               ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
-               ndr_print_ptr(ndr, "info", r->in.info);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
-               ndr_print_samr_UserInfo(ndr, "info", r->in.info);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetUserInfo2");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_SetBootKeyInformation *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.connect_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.connect_handle));
-               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_uint32(ndr, NDR_SCALARS, r->in.unknown3));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_SetBootKeyInformation *r)
-{
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       if (flags & NDR_IN) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_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_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetBootKeyInformation");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetBootKeyInformation");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
-               ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
-               ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetBootKeyInformation");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_GetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_GetBootKeyInformation *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.unknown == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_GetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_GetBootKeyInformation *r)
-{
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_unknown_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.unknown);
-               ZERO_STRUCTP(r->out.unknown);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.unknown);
-               }
-               _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r)
-{
-       ndr_print_struct(ndr, name, "samr_GetBootKeyInformation");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_GetBootKeyInformation");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_GetBootKeyInformation");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "unknown", r->out.unknown);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "unknown", *r->out.unknown);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags, const struct samr_Connect3 *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
-               if (r->in.system_name) {
-                       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));
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
-               NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.connect_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r)
-{
-       uint32_t _ptr_system_name;
-       TALLOC_CTX *_mem_save_system_name_0;
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
-               if (_ptr_system_name) {
-                       NDR_PULL_ALLOC(ndr, r->in.system_name);
-               } else {
-                       r->in.system_name = NULL;
-               }
-               if (r->in.system_name) {
-                       _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
-                       if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
-               }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
-               NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               ZERO_STRUCTP(r->out.connect_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r)
-{
-       ndr_print_struct(ndr, name, "samr_Connect3");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_Connect3");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "system_name", r->in.system_name);
-               ndr->depth++;
-               if (r->in.system_name) {
-                       ndr_print_string(ndr, "system_name", r->in.system_name);
-               }
-               ndr->depth--;
-               ndr_print_uint32(ndr, "unknown", r->in.unknown);
-               ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_Connect3");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags, const struct samr_Connect4 *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
-               if (r->in.system_name) {
-                       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));
-               }
-               NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->in.client_version));
-               NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.connect_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r)
-{
-       uint32_t _ptr_system_name;
-       TALLOC_CTX *_mem_save_system_name_0;
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
-               if (_ptr_system_name) {
-                       NDR_PULL_ALLOC(ndr, r->in.system_name);
-               } else {
-                       r->in.system_name = NULL;
-               }
-               if (r->in.system_name) {
-                       _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
-                       if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
-               }
-               NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version));
-               NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               ZERO_STRUCTP(r->out.connect_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r)
-{
-       ndr_print_struct(ndr, name, "samr_Connect4");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_Connect4");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "system_name", r->in.system_name);
-               ndr->depth++;
-               if (r->in.system_name) {
-                       ndr_print_string(ndr, "system_name", r->in.system_name);
-               }
-               ndr->depth--;
-               ndr_print_samr_ConnectVersion(ndr, "client_version", r->in.client_version);
-               ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_Connect4");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ChangePasswordUser3(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser3 *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
-               if (r->in.server) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
-               }
-               if (r->in.account == 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.account));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
-               if (r->in.nt_password) {
-                       NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
-               if (r->in.nt_verifier) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
-               }
-               NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
-               if (r->in.lm_password) {
-                       NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
-               if (r->in.lm_verifier) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password3));
-               if (r->in.password3) {
-                       NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
-               }
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.dominfo == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
-               if (*r->out.dominfo) {
-                       NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
-               }
-               if (r->out.reject == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.reject));
-               if (*r->out.reject) {
-                       NDR_CHECK(ndr_push_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ChangePasswordUser3(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser3 *r)
-{
-       uint32_t _ptr_server;
-       uint32_t _ptr_nt_password;
-       uint32_t _ptr_nt_verifier;
-       uint32_t _ptr_lm_password;
-       uint32_t _ptr_lm_verifier;
-       uint32_t _ptr_password3;
-       uint32_t _ptr_dominfo;
-       uint32_t _ptr_reject;
-       TALLOC_CTX *_mem_save_server_0;
-       TALLOC_CTX *_mem_save_account_0;
-       TALLOC_CTX *_mem_save_nt_password_0;
-       TALLOC_CTX *_mem_save_nt_verifier_0;
-       TALLOC_CTX *_mem_save_lm_password_0;
-       TALLOC_CTX *_mem_save_lm_verifier_0;
-       TALLOC_CTX *_mem_save_password3_0;
-       TALLOC_CTX *_mem_save_dominfo_0;
-       TALLOC_CTX *_mem_save_dominfo_1;
-       TALLOC_CTX *_mem_save_reject_0;
-       TALLOC_CTX *_mem_save_reject_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
-               if (_ptr_server) {
-                       NDR_PULL_ALLOC(ndr, r->in.server);
-               } else {
-                       r->in.server = NULL;
-               }
-               if (r->in.server) {
-                       _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
-               }
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.account);
-               }
-               _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
-               if (_ptr_nt_password) {
-                       NDR_PULL_ALLOC(ndr, r->in.nt_password);
-               } else {
-                       r->in.nt_password = NULL;
-               }
-               if (r->in.nt_password) {
-                       _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
-                       NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
-               if (_ptr_nt_verifier) {
-                       NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
-               } else {
-                       r->in.nt_verifier = NULL;
-               }
-               if (r->in.nt_verifier) {
-                       _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
-               }
-               NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
-               if (_ptr_lm_password) {
-                       NDR_PULL_ALLOC(ndr, r->in.lm_password);
-               } else {
-                       r->in.lm_password = NULL;
-               }
-               if (r->in.lm_password) {
-                       _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
-                       NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
-               if (_ptr_lm_verifier) {
-                       NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
-               } else {
-                       r->in.lm_verifier = NULL;
-               }
-               if (r->in.lm_verifier) {
-                       _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
-               }
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password3));
-               if (_ptr_password3) {
-                       NDR_PULL_ALLOC(ndr, r->in.password3);
-               } else {
-                       r->in.password3 = NULL;
-               }
-               if (r->in.password3) {
-                       _mem_save_password3_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.password3, 0);
-                       NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password3_0, 0);
-               }
-               NDR_PULL_ALLOC(ndr, r->out.dominfo);
-               ZERO_STRUCTP(r->out.dominfo);
-               NDR_PULL_ALLOC(ndr, r->out.reject);
-               ZERO_STRUCTP(r->out.reject);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.dominfo);
-               }
-               _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
-               if (_ptr_dominfo) {
-                       NDR_PULL_ALLOC(ndr, *r->out.dominfo);
-               } else {
-                       *r->out.dominfo = NULL;
-               }
-               if (*r->out.dominfo) {
-                       _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
-                       NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.reject);
-               }
-               _mem_save_reject_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.reject, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_reject));
-               if (_ptr_reject) {
-                       NDR_PULL_ALLOC(ndr, *r->out.reject);
-               } else {
-                       *r->out.reject = NULL;
-               }
-               if (*r->out.reject) {
-                       _mem_save_reject_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.reject, 0);
-                       NDR_CHECK(ndr_pull_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r)
-{
-       ndr_print_struct(ndr, name, "samr_ChangePasswordUser3");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_ChangePasswordUser3");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "server", r->in.server);
-               ndr->depth++;
-               if (r->in.server) {
-                       ndr_print_lsa_String(ndr, "server", r->in.server);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "account", r->in.account);
-               ndr->depth++;
-               ndr_print_lsa_String(ndr, "account", r->in.account);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
-               ndr->depth++;
-               if (r->in.nt_password) {
-                       ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
-               ndr->depth++;
-               if (r->in.nt_verifier) {
-                       ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
-               }
-               ndr->depth--;
-               ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
-               ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
-               ndr->depth++;
-               if (r->in.lm_password) {
-                       ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
-               ndr->depth++;
-               if (r->in.lm_verifier) {
-                       ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
-               }
-               ndr->depth--;
-               ndr_print_ptr(ndr, "password3", r->in.password3);
-               ndr->depth++;
-               if (r->in.password3) {
-                       ndr_print_samr_CryptPassword(ndr, "password3", r->in.password3);
-               }
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_ChangePasswordUser3");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
-               ndr->depth++;
-               if (*r->out.dominfo) {
-                       ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_ptr(ndr, "reject", r->out.reject);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "reject", *r->out.reject);
-               ndr->depth++;
-               if (*r->out.reject) {
-                       ndr_print_userPwdChangeFailureInformation(ndr, "reject", *r->out.reject);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
-               if (r->in.system_name) {
-                       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));
-               }
-               NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level_in));
-               if (r->in.info_in == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info_in, r->in.level_in));
-               NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.level_out == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
-               if (r->out.info_out == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
-               NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
-               if (r->out.connect_handle == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r)
-{
-       uint32_t _ptr_system_name;
-       TALLOC_CTX *_mem_save_system_name_0;
-       TALLOC_CTX *_mem_save_info_in_0;
-       TALLOC_CTX *_mem_save_level_out_0;
-       TALLOC_CTX *_mem_save_info_out_0;
-       TALLOC_CTX *_mem_save_connect_handle_0;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
-               if (_ptr_system_name) {
-                       NDR_PULL_ALLOC(ndr, r->in.system_name);
-               } else {
-                       r->in.system_name = NULL;
-               }
-               if (r->in.system_name) {
-                       _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
-                       if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
-               }
-               NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level_in));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.info_in);
-               }
-               _mem_save_info_in_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.info_in, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info_in, r->in.level_in));
-               NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_in_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.level_out);
-               ZERO_STRUCTP(r->out.level_out);
-               NDR_PULL_ALLOC(ndr, r->out.info_out);
-               ZERO_STRUCTP(r->out.info_out);
-               NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               ZERO_STRUCTP(r->out.connect_handle);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.level_out);
-               }
-               _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.info_out);
-               }
-               _mem_save_info_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.info_out, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
-               NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_out_0, LIBNDR_FLAG_REF_ALLOC);
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.connect_handle);
-               }
-               _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r)
-{
-       ndr_print_struct(ndr, name, "samr_Connect5");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_Connect5");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "system_name", r->in.system_name);
-               ndr->depth++;
-               if (r->in.system_name) {
-                       ndr_print_string(ndr, "system_name", r->in.system_name);
-               }
-               ndr->depth--;
-               ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
-               ndr_print_uint32(ndr, "level_in", r->in.level_in);
-               ndr_print_ptr(ndr, "info_in", r->in.info_in);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->in.info_in, r->in.level_in);
-               ndr_print_samr_ConnectInfo(ndr, "info_in", r->in.info_in);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_Connect5");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "level_out", r->out.level_out);
-               ndr->depth++;
-               ndr_print_uint32(ndr, "level_out", *r->out.level_out);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "info_out", r->out.info_out);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->out.info_out, *r->out.level_out);
-               ndr_print_samr_ConnectInfo(ndr, "info_out", r->out.info_out);
-               ndr->depth--;
-               ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags, const struct samr_RidToSid *r)
-{
-       if (flags & NDR_IN) {
-               if (r->in.domain_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.domain_handle));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.sid == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
-               if (*r->out.sid) {
-                       NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r)
-{
-       uint32_t _ptr_sid;
-       TALLOC_CTX *_mem_save_domain_handle_0;
-       TALLOC_CTX *_mem_save_sid_0;
-       TALLOC_CTX *_mem_save_sid_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.domain_handle);
-               }
-               _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
-               NDR_PULL_ALLOC(ndr, r->out.sid);
-               ZERO_STRUCTP(r->out.sid);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.sid);
-               }
-               _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
-               if (_ptr_sid) {
-                       NDR_PULL_ALLOC(ndr, *r->out.sid);
-               } else {
-                       *r->out.sid = NULL;
-               }
-               if (*r->out.sid) {
-                       _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
-                       NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r)
-{
-       ndr_print_struct(ndr, name, "samr_RidToSid");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_RidToSid");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth++;
-               ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
-               ndr->depth--;
-               ndr_print_uint32(ndr, "rid", r->in.rid);
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_RidToSid");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sid", r->out.sid);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "sid", *r->out.sid);
-               ndr->depth++;
-               if (*r->out.sid) {
-                       ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_SetDsrmPassword(struct ndr_push *ndr, int flags, const struct samr_SetDsrmPassword *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name));
-               if (r->in.name) {
-                       NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
-               }
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
-               if (r->in.hash) {
-                       NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
-               }
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_SetDsrmPassword(struct ndr_pull *ndr, int flags, struct samr_SetDsrmPassword *r)
-{
-       uint32_t _ptr_name;
-       uint32_t _ptr_hash;
-       TALLOC_CTX *_mem_save_name_0;
-       TALLOC_CTX *_mem_save_hash_0;
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
-               if (_ptr_name) {
-                       NDR_PULL_ALLOC(ndr, r->in.name);
-               } else {
-                       r->in.name = NULL;
-               }
-               if (r->in.name) {
-                       _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0);
-                       NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
-               }
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
-               if (_ptr_hash) {
-                       NDR_PULL_ALLOC(ndr, r->in.hash);
-               } else {
-                       r->in.hash = NULL;
-               }
-               if (r->in.hash) {
-                       _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
-                       NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
-               }
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r)
-{
-       ndr_print_struct(ndr, name, "samr_SetDsrmPassword");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_SetDsrmPassword");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "name", r->in.name);
-               ndr->depth++;
-               if (r->in.name) {
-                       ndr_print_lsa_String(ndr, "name", r->in.name);
-               }
-               ndr->depth--;
-               ndr_print_uint32(ndr, "unknown", r->in.unknown);
-               ndr_print_ptr(ndr, "hash", r->in.hash);
-               ndr->depth++;
-               if (r->in.hash) {
-                       ndr_print_samr_Password(ndr, "hash", r->in.hash);
-               }
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_SetDsrmPassword");
-               ndr->depth++;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_samr_ValidatePassword(struct ndr_push *ndr, int flags, const struct samr_ValidatePassword *r)
-{
-       if (flags & NDR_IN) {
-               NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, r->in.level));
-               if (r->in.req == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
-               NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
-       }
-       if (flags & NDR_OUT) {
-               if (r->out.rep == NULL) {
-                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
-               }
-               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rep));
-               if (*r->out.rep) {
-                       NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.rep, r->in.level));
-                       NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
-               }
-               NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_samr_ValidatePassword(struct ndr_pull *ndr, int flags, struct samr_ValidatePassword *r)
-{
-       uint32_t _ptr_rep;
-       TALLOC_CTX *_mem_save_req_0;
-       TALLOC_CTX *_mem_save_rep_0;
-       TALLOC_CTX *_mem_save_rep_1;
-       if (flags & NDR_IN) {
-               ZERO_STRUCT(r->out);
-
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, &r->in.level));
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->in.req);
-               }
-               _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
-               NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_PULL_ALLOC(ndr, r->out.rep);
-               ZERO_STRUCTP(r->out.rep);
-       }
-       if (flags & NDR_OUT) {
-               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-                       NDR_PULL_ALLOC(ndr, r->out.rep);
-               }
-               _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
-               NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rep));
-               if (_ptr_rep) {
-                       NDR_PULL_ALLOC(ndr, *r->out.rep);
-               } else {
-                       *r->out.rep = NULL;
-               }
-               if (*r->out.rep) {
-                       _mem_save_rep_1 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.rep, 0);
-                       NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.rep, r->in.level));
-                       NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_1, 0);
-               }
-               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r)
-{
-       ndr_print_struct(ndr, name, "samr_ValidatePassword");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "samr_ValidatePassword");
-               ndr->depth++;
-               ndr_print_samr_ValidatePasswordLevel(ndr, "level", r->in.level);
-               ndr_print_ptr(ndr, "req", r->in.req);
-               ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
-               ndr_print_samr_ValidatePasswordReq(ndr, "req", r->in.req);
-               ndr->depth--;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "samr_ValidatePassword");
-               ndr->depth++;
-               ndr_print_ptr(ndr, "rep", r->out.rep);
-               ndr->depth++;
-               ndr_print_ptr(ndr, "rep", *r->out.rep);
-               ndr->depth++;
-               if (*r->out.rep) {
-                       ndr_print_set_switch_value(ndr, *r->out.rep, r->in.level);
-                       ndr_print_samr_ValidatePasswordRep(ndr, "rep", *r->out.rep);
-               }
-               ndr->depth--;
-               ndr->depth--;
-               ndr_print_NTSTATUS(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static const struct ndr_interface_call samr_calls[] = {
-       {
-               "samr_Connect",
-               sizeof(struct samr_Connect),
-               (ndr_push_flags_fn_t) ndr_push_samr_Connect,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_Connect,
-               (ndr_print_function_t) ndr_print_samr_Connect,
-               false,
-       },
-       {
-               "samr_Close",
-               sizeof(struct samr_Close),
-               (ndr_push_flags_fn_t) ndr_push_samr_Close,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_Close,
-               (ndr_print_function_t) ndr_print_samr_Close,
-               false,
-       },
-       {
-               "samr_SetSecurity",
-               sizeof(struct samr_SetSecurity),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetSecurity,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetSecurity,
-               (ndr_print_function_t) ndr_print_samr_SetSecurity,
-               false,
-       },
-       {
-               "samr_QuerySecurity",
-               sizeof(struct samr_QuerySecurity),
-               (ndr_push_flags_fn_t) ndr_push_samr_QuerySecurity,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QuerySecurity,
-               (ndr_print_function_t) ndr_print_samr_QuerySecurity,
-               false,
-       },
-       {
-               "samr_Shutdown",
-               sizeof(struct samr_Shutdown),
-               (ndr_push_flags_fn_t) ndr_push_samr_Shutdown,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_Shutdown,
-               (ndr_print_function_t) ndr_print_samr_Shutdown,
-               false,
-       },
-       {
-               "samr_LookupDomain",
-               sizeof(struct samr_LookupDomain),
-               (ndr_push_flags_fn_t) ndr_push_samr_LookupDomain,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_LookupDomain,
-               (ndr_print_function_t) ndr_print_samr_LookupDomain,
-               false,
-       },
-       {
-               "samr_EnumDomains",
-               sizeof(struct samr_EnumDomains),
-               (ndr_push_flags_fn_t) ndr_push_samr_EnumDomains,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomains,
-               (ndr_print_function_t) ndr_print_samr_EnumDomains,
-               false,
-       },
-       {
-               "samr_OpenDomain",
-               sizeof(struct samr_OpenDomain),
-               (ndr_push_flags_fn_t) ndr_push_samr_OpenDomain,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_OpenDomain,
-               (ndr_print_function_t) ndr_print_samr_OpenDomain,
-               false,
-       },
-       {
-               "samr_QueryDomainInfo",
-               sizeof(struct samr_QueryDomainInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo,
-               (ndr_print_function_t) ndr_print_samr_QueryDomainInfo,
-               false,
-       },
-       {
-               "samr_SetDomainInfo",
-               sizeof(struct samr_SetDomainInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetDomainInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetDomainInfo,
-               (ndr_print_function_t) ndr_print_samr_SetDomainInfo,
-               false,
-       },
-       {
-               "samr_CreateDomainGroup",
-               sizeof(struct samr_CreateDomainGroup),
-               (ndr_push_flags_fn_t) ndr_push_samr_CreateDomainGroup,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomainGroup,
-               (ndr_print_function_t) ndr_print_samr_CreateDomainGroup,
-               false,
-       },
-       {
-               "samr_EnumDomainGroups",
-               sizeof(struct samr_EnumDomainGroups),
-               (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainGroups,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainGroups,
-               (ndr_print_function_t) ndr_print_samr_EnumDomainGroups,
-               false,
-       },
-       {
-               "samr_CreateUser",
-               sizeof(struct samr_CreateUser),
-               (ndr_push_flags_fn_t) ndr_push_samr_CreateUser,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser,
-               (ndr_print_function_t) ndr_print_samr_CreateUser,
-               false,
-       },
-       {
-               "samr_EnumDomainUsers",
-               sizeof(struct samr_EnumDomainUsers),
-               (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainUsers,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainUsers,
-               (ndr_print_function_t) ndr_print_samr_EnumDomainUsers,
-               false,
-       },
-       {
-               "samr_CreateDomAlias",
-               sizeof(struct samr_CreateDomAlias),
-               (ndr_push_flags_fn_t) ndr_push_samr_CreateDomAlias,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomAlias,
-               (ndr_print_function_t) ndr_print_samr_CreateDomAlias,
-               false,
-       },
-       {
-               "samr_EnumDomainAliases",
-               sizeof(struct samr_EnumDomainAliases),
-               (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainAliases,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainAliases,
-               (ndr_print_function_t) ndr_print_samr_EnumDomainAliases,
-               false,
-       },
-       {
-               "samr_GetAliasMembership",
-               sizeof(struct samr_GetAliasMembership),
-               (ndr_push_flags_fn_t) ndr_push_samr_GetAliasMembership,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_GetAliasMembership,
-               (ndr_print_function_t) ndr_print_samr_GetAliasMembership,
-               false,
-       },
-       {
-               "samr_LookupNames",
-               sizeof(struct samr_LookupNames),
-               (ndr_push_flags_fn_t) ndr_push_samr_LookupNames,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_LookupNames,
-               (ndr_print_function_t) ndr_print_samr_LookupNames,
-               false,
-       },
-       {
-               "samr_LookupRids",
-               sizeof(struct samr_LookupRids),
-               (ndr_push_flags_fn_t) ndr_push_samr_LookupRids,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_LookupRids,
-               (ndr_print_function_t) ndr_print_samr_LookupRids,
-               false,
-       },
-       {
-               "samr_OpenGroup",
-               sizeof(struct samr_OpenGroup),
-               (ndr_push_flags_fn_t) ndr_push_samr_OpenGroup,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_OpenGroup,
-               (ndr_print_function_t) ndr_print_samr_OpenGroup,
-               false,
-       },
-       {
-               "samr_QueryGroupInfo",
-               sizeof(struct samr_QueryGroupInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupInfo,
-               (ndr_print_function_t) ndr_print_samr_QueryGroupInfo,
-               false,
-       },
-       {
-               "samr_SetGroupInfo",
-               sizeof(struct samr_SetGroupInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetGroupInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetGroupInfo,
-               (ndr_print_function_t) ndr_print_samr_SetGroupInfo,
-               false,
-       },
-       {
-               "samr_AddGroupMember",
-               sizeof(struct samr_AddGroupMember),
-               (ndr_push_flags_fn_t) ndr_push_samr_AddGroupMember,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_AddGroupMember,
-               (ndr_print_function_t) ndr_print_samr_AddGroupMember,
-               false,
-       },
-       {
-               "samr_DeleteDomainGroup",
-               sizeof(struct samr_DeleteDomainGroup),
-               (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomainGroup,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomainGroup,
-               (ndr_print_function_t) ndr_print_samr_DeleteDomainGroup,
-               false,
-       },
-       {
-               "samr_DeleteGroupMember",
-               sizeof(struct samr_DeleteGroupMember),
-               (ndr_push_flags_fn_t) ndr_push_samr_DeleteGroupMember,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteGroupMember,
-               (ndr_print_function_t) ndr_print_samr_DeleteGroupMember,
-               false,
-       },
-       {
-               "samr_QueryGroupMember",
-               sizeof(struct samr_QueryGroupMember),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupMember,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupMember,
-               (ndr_print_function_t) ndr_print_samr_QueryGroupMember,
-               false,
-       },
-       {
-               "samr_SetMemberAttributesOfGroup",
-               sizeof(struct samr_SetMemberAttributesOfGroup),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetMemberAttributesOfGroup,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetMemberAttributesOfGroup,
-               (ndr_print_function_t) ndr_print_samr_SetMemberAttributesOfGroup,
-               false,
-       },
-       {
-               "samr_OpenAlias",
-               sizeof(struct samr_OpenAlias),
-               (ndr_push_flags_fn_t) ndr_push_samr_OpenAlias,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_OpenAlias,
-               (ndr_print_function_t) ndr_print_samr_OpenAlias,
-               false,
-       },
-       {
-               "samr_QueryAliasInfo",
-               sizeof(struct samr_QueryAliasInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryAliasInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryAliasInfo,
-               (ndr_print_function_t) ndr_print_samr_QueryAliasInfo,
-               false,
-       },
-       {
-               "samr_SetAliasInfo",
-               sizeof(struct samr_SetAliasInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetAliasInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetAliasInfo,
-               (ndr_print_function_t) ndr_print_samr_SetAliasInfo,
-               false,
-       },
-       {
-               "samr_DeleteDomAlias",
-               sizeof(struct samr_DeleteDomAlias),
-               (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomAlias,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomAlias,
-               (ndr_print_function_t) ndr_print_samr_DeleteDomAlias,
-               false,
-       },
-       {
-               "samr_AddAliasMember",
-               sizeof(struct samr_AddAliasMember),
-               (ndr_push_flags_fn_t) ndr_push_samr_AddAliasMember,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_AddAliasMember,
-               (ndr_print_function_t) ndr_print_samr_AddAliasMember,
-               false,
-       },
-       {
-               "samr_DeleteAliasMember",
-               sizeof(struct samr_DeleteAliasMember),
-               (ndr_push_flags_fn_t) ndr_push_samr_DeleteAliasMember,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteAliasMember,
-               (ndr_print_function_t) ndr_print_samr_DeleteAliasMember,
-               false,
-       },
-       {
-               "samr_GetMembersInAlias",
-               sizeof(struct samr_GetMembersInAlias),
-               (ndr_push_flags_fn_t) ndr_push_samr_GetMembersInAlias,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_GetMembersInAlias,
-               (ndr_print_function_t) ndr_print_samr_GetMembersInAlias,
-               false,
-       },
-       {
-               "samr_OpenUser",
-               sizeof(struct samr_OpenUser),
-               (ndr_push_flags_fn_t) ndr_push_samr_OpenUser,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_OpenUser,
-               (ndr_print_function_t) ndr_print_samr_OpenUser,
-               false,
-       },
-       {
-               "samr_DeleteUser",
-               sizeof(struct samr_DeleteUser),
-               (ndr_push_flags_fn_t) ndr_push_samr_DeleteUser,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteUser,
-               (ndr_print_function_t) ndr_print_samr_DeleteUser,
-               false,
-       },
-       {
-               "samr_QueryUserInfo",
-               sizeof(struct samr_QueryUserInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo,
-               (ndr_print_function_t) ndr_print_samr_QueryUserInfo,
-               false,
-       },
-       {
-               "samr_SetUserInfo",
-               sizeof(struct samr_SetUserInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo,
-               (ndr_print_function_t) ndr_print_samr_SetUserInfo,
-               false,
-       },
-       {
-               "samr_ChangePasswordUser",
-               sizeof(struct samr_ChangePasswordUser),
-               (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser,
-               (ndr_print_function_t) ndr_print_samr_ChangePasswordUser,
-               false,
-       },
-       {
-               "samr_GetGroupsForUser",
-               sizeof(struct samr_GetGroupsForUser),
-               (ndr_push_flags_fn_t) ndr_push_samr_GetGroupsForUser,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_GetGroupsForUser,
-               (ndr_print_function_t) ndr_print_samr_GetGroupsForUser,
-               false,
-       },
-       {
-               "samr_QueryDisplayInfo",
-               sizeof(struct samr_QueryDisplayInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo,
-               (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo,
-               false,
-       },
-       {
-               "samr_GetDisplayEnumerationIndex",
-               sizeof(struct samr_GetDisplayEnumerationIndex),
-               (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex,
-               (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex,
-               false,
-       },
-       {
-               "samr_TestPrivateFunctionsDomain",
-               sizeof(struct samr_TestPrivateFunctionsDomain),
-               (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsDomain,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsDomain,
-               (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsDomain,
-               false,
-       },
-       {
-               "samr_TestPrivateFunctionsUser",
-               sizeof(struct samr_TestPrivateFunctionsUser),
-               (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsUser,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsUser,
-               (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsUser,
-               false,
-       },
-       {
-               "samr_GetUserPwInfo",
-               sizeof(struct samr_GetUserPwInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_GetUserPwInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_GetUserPwInfo,
-               (ndr_print_function_t) ndr_print_samr_GetUserPwInfo,
-               false,
-       },
-       {
-               "samr_RemoveMemberFromForeignDomain",
-               sizeof(struct samr_RemoveMemberFromForeignDomain),
-               (ndr_push_flags_fn_t) ndr_push_samr_RemoveMemberFromForeignDomain,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMemberFromForeignDomain,
-               (ndr_print_function_t) ndr_print_samr_RemoveMemberFromForeignDomain,
-               false,
-       },
-       {
-               "samr_QueryDomainInfo2",
-               sizeof(struct samr_QueryDomainInfo2),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo2,
-               (ndr_print_function_t) ndr_print_samr_QueryDomainInfo2,
-               false,
-       },
-       {
-               "samr_QueryUserInfo2",
-               sizeof(struct samr_QueryUserInfo2),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo2,
-               (ndr_print_function_t) ndr_print_samr_QueryUserInfo2,
-               false,
-       },
-       {
-               "samr_QueryDisplayInfo2",
-               sizeof(struct samr_QueryDisplayInfo2),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo2,
-               (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo2,
-               false,
-       },
-       {
-               "samr_GetDisplayEnumerationIndex2",
-               sizeof(struct samr_GetDisplayEnumerationIndex2),
-               (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex2,
-               (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex2,
-               false,
-       },
-       {
-               "samr_CreateUser2",
-               sizeof(struct samr_CreateUser2),
-               (ndr_push_flags_fn_t) ndr_push_samr_CreateUser2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser2,
-               (ndr_print_function_t) ndr_print_samr_CreateUser2,
-               false,
-       },
-       {
-               "samr_QueryDisplayInfo3",
-               sizeof(struct samr_QueryDisplayInfo3),
-               (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo3,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo3,
-               (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo3,
-               false,
-       },
-       {
-               "samr_AddMultipleMembersToAlias",
-               sizeof(struct samr_AddMultipleMembersToAlias),
-               (ndr_push_flags_fn_t) ndr_push_samr_AddMultipleMembersToAlias,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_AddMultipleMembersToAlias,
-               (ndr_print_function_t) ndr_print_samr_AddMultipleMembersToAlias,
-               false,
-       },
-       {
-               "samr_RemoveMultipleMembersFromAlias",
-               sizeof(struct samr_RemoveMultipleMembersFromAlias),
-               (ndr_push_flags_fn_t) ndr_push_samr_RemoveMultipleMembersFromAlias,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMultipleMembersFromAlias,
-               (ndr_print_function_t) ndr_print_samr_RemoveMultipleMembersFromAlias,
-               false,
-       },
-       {
-               "samr_OemChangePasswordUser2",
-               sizeof(struct samr_OemChangePasswordUser2),
-               (ndr_push_flags_fn_t) ndr_push_samr_OemChangePasswordUser2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_OemChangePasswordUser2,
-               (ndr_print_function_t) ndr_print_samr_OemChangePasswordUser2,
-               false,
-       },
-       {
-               "samr_ChangePasswordUser2",
-               sizeof(struct samr_ChangePasswordUser2),
-               (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser2,
-               (ndr_print_function_t) ndr_print_samr_ChangePasswordUser2,
-               false,
-       },
-       {
-               "samr_GetDomPwInfo",
-               sizeof(struct samr_GetDomPwInfo),
-               (ndr_push_flags_fn_t) ndr_push_samr_GetDomPwInfo,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_GetDomPwInfo,
-               (ndr_print_function_t) ndr_print_samr_GetDomPwInfo,
-               false,
-       },
-       {
-               "samr_Connect2",
-               sizeof(struct samr_Connect2),
-               (ndr_push_flags_fn_t) ndr_push_samr_Connect2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_Connect2,
-               (ndr_print_function_t) ndr_print_samr_Connect2,
-               false,
-       },
-       {
-               "samr_SetUserInfo2",
-               sizeof(struct samr_SetUserInfo2),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo2,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo2,
-               (ndr_print_function_t) ndr_print_samr_SetUserInfo2,
-               false,
-       },
-       {
-               "samr_SetBootKeyInformation",
-               sizeof(struct samr_SetBootKeyInformation),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetBootKeyInformation,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetBootKeyInformation,
-               (ndr_print_function_t) ndr_print_samr_SetBootKeyInformation,
-               false,
-       },
-       {
-               "samr_GetBootKeyInformation",
-               sizeof(struct samr_GetBootKeyInformation),
-               (ndr_push_flags_fn_t) ndr_push_samr_GetBootKeyInformation,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_GetBootKeyInformation,
-               (ndr_print_function_t) ndr_print_samr_GetBootKeyInformation,
-               false,
-       },
-       {
-               "samr_Connect3",
-               sizeof(struct samr_Connect3),
-               (ndr_push_flags_fn_t) ndr_push_samr_Connect3,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_Connect3,
-               (ndr_print_function_t) ndr_print_samr_Connect3,
-               false,
-       },
-       {
-               "samr_Connect4",
-               sizeof(struct samr_Connect4),
-               (ndr_push_flags_fn_t) ndr_push_samr_Connect4,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_Connect4,
-               (ndr_print_function_t) ndr_print_samr_Connect4,
-               false,
-       },
-       {
-               "samr_ChangePasswordUser3",
-               sizeof(struct samr_ChangePasswordUser3),
-               (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser3,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser3,
-               (ndr_print_function_t) ndr_print_samr_ChangePasswordUser3,
-               false,
-       },
-       {
-               "samr_Connect5",
-               sizeof(struct samr_Connect5),
-               (ndr_push_flags_fn_t) ndr_push_samr_Connect5,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_Connect5,
-               (ndr_print_function_t) ndr_print_samr_Connect5,
-               false,
-       },
-       {
-               "samr_RidToSid",
-               sizeof(struct samr_RidToSid),
-               (ndr_push_flags_fn_t) ndr_push_samr_RidToSid,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_RidToSid,
-               (ndr_print_function_t) ndr_print_samr_RidToSid,
-               false,
-       },
-       {
-               "samr_SetDsrmPassword",
-               sizeof(struct samr_SetDsrmPassword),
-               (ndr_push_flags_fn_t) ndr_push_samr_SetDsrmPassword,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_SetDsrmPassword,
-               (ndr_print_function_t) ndr_print_samr_SetDsrmPassword,
-               false,
-       },
-       {
-               "samr_ValidatePassword",
-               sizeof(struct samr_ValidatePassword),
-               (ndr_push_flags_fn_t) ndr_push_samr_ValidatePassword,
-               (ndr_pull_flags_fn_t) ndr_pull_samr_ValidatePassword,
-               (ndr_print_function_t) ndr_print_samr_ValidatePassword,
-               false,
-       },
-       { NULL, 0, NULL, NULL, NULL, false }
-};
-
-static const char * const samr_endpoint_strings[] = {
-       "ncacn_np:[\\pipe\\samr]", 
-       "ncacn_ip_tcp:", 
-       "ncalrpc:", 
-};
-
-static const struct ndr_interface_string_array samr_endpoints = {
-       .count  = 3,
-       .names  = samr_endpoint_strings
-};
-
-static const char * const samr_authservice_strings[] = {
-       "host", 
-};
-
-static const struct ndr_interface_string_array samr_authservices = {
-       .count  = 1,
-       .names  = samr_authservice_strings
-};
-
-
-const struct ndr_interface_table ndr_table_samr = {
-       .name           = "samr",
-       .syntax_id      = {
-               {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
-               NDR_SAMR_VERSION
-       },
-       .helpstring     = NDR_SAMR_HELPSTRING,
-       .num_calls      = 68,
-       .calls          = samr_calls,
-       .endpoints      = &samr_endpoints,
-       .authservices   = &samr_authservices
-};
-