LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_samr.c (source / functions) Hit Total Coverage
Test: coverage report for abartlet/fix-coverage dd10fb34 Lines: 6925 9551 72.5 %
Date: 2021-09-23 10:06:22 Functions: 375 485 77.3 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_samr.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_misc.h"
       7             : #include "librpc/gen_ndr/ndr_lsa.h"
       8             : #include "librpc/gen_ndr/ndr_security.h"
       9       99083 : _PUBLIC_ enum ndr_err_code ndr_push_samr_AcctFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
      10             : {
      11       99083 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
      12       99083 :         return NDR_ERR_SUCCESS;
      13             : }
      14             : 
      15      136358 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_AcctFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
      16             : {
      17             :         uint32_t v;
      18      136358 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
      19      136358 :         *r = v;
      20      136358 :         return NDR_ERR_SUCCESS;
      21             : }
      22             : 
      23        3905 : _PUBLIC_ void ndr_print_samr_AcctFlags(struct ndr_print *ndr, const char *name, uint32_t r)
      24             : {
      25        3905 :         ndr_print_uint32(ndr, name, r);
      26        3905 :         ndr->depth++;
      27        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED, r);
      28        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ, r);
      29        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ, r);
      30        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP, r);
      31        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL, r);
      32        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_MNS", ACB_MNS, r);
      33        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST, r);
      34        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST, r);
      35        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST, r);
      36        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP, r);
      37        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK, r);
      38        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED, r);
      39        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED, r);
      40        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION, r);
      41        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED, r);
      42        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY, r);
      43        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH, r);
      44        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED, r);
      45        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION", ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION, r);
      46        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD, r);
      47        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PARTIAL_SECRETS_ACCOUNT", ACB_PARTIAL_SECRETS_ACCOUNT, r);
      48        3905 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_AES_KEYS", ACB_USE_AES_KEYS, r);
      49        3905 :         ndr->depth--;
      50        3905 : }
      51             : 
      52        3052 : static enum ndr_err_code ndr_push_samr_ConnectAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
      53             : {
      54        3270 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
      55        3052 :         return NDR_ERR_SUCCESS;
      56             : }
      57             : 
      58        2947 : static enum ndr_err_code ndr_pull_samr_ConnectAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
      59             : {
      60             :         uint32_t v;
      61        3169 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
      62        3169 :         *r = v;
      63        2947 :         return NDR_ERR_SUCCESS;
      64             : }
      65             : 
      66           2 : _PUBLIC_ void ndr_print_samr_ConnectAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
      67             : {
      68           2 :         ndr_print_uint32(ndr, name, r);
      69           2 :         ndr->depth++;
      70           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER, r);
      71           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER, r);
      72           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER, r);
      73           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN, r);
      74           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS, r);
      75           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN, r);
      76           2 :         ndr->depth--;
      77           2 : }
      78             : 
      79        5572 : static enum ndr_err_code ndr_push_samr_UserAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
      80             : {
      81        5663 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
      82        5572 :         return NDR_ERR_SUCCESS;
      83             : }
      84             : 
      85        5558 : static enum ndr_err_code ndr_pull_samr_UserAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
      86             : {
      87             :         uint32_t v;
      88        5654 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
      89        5654 :         *r = v;
      90        5558 :         return NDR_ERR_SUCCESS;
      91             : }
      92             : 
      93           5 : _PUBLIC_ void ndr_print_samr_UserAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
      94             : {
      95           5 :         ndr_print_uint32(ndr, name, r);
      96           5 :         ndr->depth++;
      97           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC, r);
      98           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE, r);
      99           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM, r);
     100           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO, r);
     101           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES, r);
     102           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES, r);
     103           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD, r);
     104           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD, r);
     105           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS, r);
     106           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP, r);
     107           5 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP, r);
     108           5 :         ndr->depth--;
     109           5 : }
     110             : 
     111        2302 : static enum ndr_err_code ndr_push_samr_DomainAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     112             : {
     113        2512 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     114        2302 :         return NDR_ERR_SUCCESS;
     115             : }
     116             : 
     117        2264 : static enum ndr_err_code ndr_pull_samr_DomainAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     118             : {
     119             :         uint32_t v;
     120        2478 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     121        2478 :         *r = v;
     122        2264 :         return NDR_ERR_SUCCESS;
     123             : }
     124             : 
     125           2 : _PUBLIC_ void ndr_print_samr_DomainAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
     126             : {
     127           2 :         ndr_print_uint32(ndr, name, r);
     128           2 :         ndr->depth++;
     129           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1, r);
     130           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1, r);
     131           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2, r);
     132           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2, r);
     133           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER, r);
     134           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP, r);
     135           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS, r);
     136           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS, r);
     137           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS, r);
     138           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT, r);
     139           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3, r);
     140           2 :         ndr->depth--;
     141           2 : }
     142             : 
     143        3128 : static enum ndr_err_code ndr_push_samr_GroupAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     144             : {
     145        3128 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     146        3128 :         return NDR_ERR_SUCCESS;
     147             : }
     148             : 
     149        2672 : static enum ndr_err_code ndr_pull_samr_GroupAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     150             : {
     151             :         uint32_t v;
     152        2672 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     153        2672 :         *r = v;
     154        2672 :         return NDR_ERR_SUCCESS;
     155             : }
     156             : 
     157           0 : _PUBLIC_ void ndr_print_samr_GroupAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
     158             : {
     159           0 :         ndr_print_uint32(ndr, name, r);
     160           0 :         ndr->depth++;
     161           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO, r);
     162           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO, r);
     163           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER, r);
     164           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER, r);
     165           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS, r);
     166           0 :         ndr->depth--;
     167           0 : }
     168             : 
     169        3479 : static enum ndr_err_code ndr_push_samr_AliasAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     170             : {
     171        3479 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     172        3479 :         return NDR_ERR_SUCCESS;
     173             : }
     174             : 
     175        2253 : static enum ndr_err_code ndr_pull_samr_AliasAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     176             : {
     177             :         uint32_t v;
     178        2253 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     179        2253 :         *r = v;
     180        2253 :         return NDR_ERR_SUCCESS;
     181             : }
     182             : 
     183           0 : _PUBLIC_ void ndr_print_samr_AliasAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
     184             : {
     185           0 :         ndr_print_uint32(ndr, name, r);
     186           0 :         ndr->depth++;
     187           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER, r);
     188           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER, r);
     189           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS, r);
     190           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO, r);
     191           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO, r);
     192           0 :         ndr->depth--;
     193           0 : }
     194             : 
     195       24942 : static enum ndr_err_code ndr_push_samr_SamEntry(struct ndr_push *ndr, int ndr_flags, const struct samr_SamEntry *r)
     196             : {
     197       24942 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     198       24942 :         if (ndr_flags & NDR_SCALARS) {
     199       12471 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     200       12471 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
     201       12471 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
     202       12471 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     203             :         }
     204       24942 :         if (ndr_flags & NDR_BUFFERS) {
     205       12471 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
     206             :         }
     207       24942 :         return NDR_ERR_SUCCESS;
     208             : }
     209             : 
     210       14250 : static enum ndr_err_code ndr_pull_samr_SamEntry(struct ndr_pull *ndr, int ndr_flags, struct samr_SamEntry *r)
     211             : {
     212       14250 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     213       14250 :         if (ndr_flags & NDR_SCALARS) {
     214        7125 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     215        7125 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
     216        7125 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
     217        7125 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     218             :         }
     219       14250 :         if (ndr_flags & NDR_BUFFERS) {
     220        7125 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
     221             :         }
     222       14250 :         return NDR_ERR_SUCCESS;
     223             : }
     224             : 
     225          34 : _PUBLIC_ void ndr_print_samr_SamEntry(struct ndr_print *ndr, const char *name, const struct samr_SamEntry *r)
     226             : {
     227          34 :         ndr_print_struct(ndr, name, "samr_SamEntry");
     228          34 :         if (r == NULL) { ndr_print_null(ndr); return; }
     229          34 :         ndr->depth++;
     230          34 :         ndr_print_uint32(ndr, "idx", r->idx);
     231          34 :         ndr_print_lsa_String(ndr, "name", &r->name);
     232          34 :         ndr->depth--;
     233             : }
     234             : 
     235         592 : static enum ndr_err_code ndr_push_samr_SamArray(struct ndr_push *ndr, int ndr_flags, const struct samr_SamArray *r)
     236             : {
     237             :         uint32_t cntr_entries_1;
     238         592 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     239         592 :         if (ndr_flags & NDR_SCALARS) {
     240         592 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     241         592 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
     242         592 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
     243         592 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     244             :         }
     245         592 :         if (ndr_flags & NDR_BUFFERS) {
     246         592 :                 if (r->entries) {
     247         560 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
     248       13031 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
     249       12471 :                                 NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
     250             :                         }
     251       13031 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
     252       12471 :                                 NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
     253             :                         }
     254             :                 }
     255             :         }
     256         592 :         return NDR_ERR_SUCCESS;
     257             : }
     258             : 
     259         565 : static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_flags, struct samr_SamArray *r)
     260             : {
     261             :         uint32_t _ptr_entries;
     262         565 :         uint32_t size_entries_1 = 0;
     263             :         uint32_t cntr_entries_1;
     264         565 :         TALLOC_CTX *_mem_save_entries_0 = NULL;
     265         565 :         TALLOC_CTX *_mem_save_entries_1 = NULL;
     266         565 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     267         565 :         if (ndr_flags & NDR_SCALARS) {
     268         565 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     269         565 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
     270         565 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
     271         565 :                 if (_ptr_entries) {
     272         512 :                         NDR_PULL_ALLOC(ndr, r->entries);
     273             :                 } else {
     274          53 :                         r->entries = NULL;
     275             :                 }
     276         565 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     277             :         }
     278         565 :         if (ndr_flags & NDR_BUFFERS) {
     279         565 :                 if (r->entries) {
     280         512 :                         _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
     281         512 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
     282         512 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
     283         512 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
     284         512 :                         NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
     285         512 :                         _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
     286         512 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
     287        7637 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
     288        7125 :                                 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
     289             :                         }
     290        7637 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
     291        7125 :                                 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
     292             :                         }
     293         512 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
     294         512 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
     295             :                 }
     296         565 :                 if (r->entries) {
     297         512 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
     298             :                 }
     299        1635 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
     300             :                 }
     301             :         }
     302         565 :         return NDR_ERR_SUCCESS;
     303             : }
     304             : 
     305           4 : _PUBLIC_ void ndr_print_samr_SamArray(struct ndr_print *ndr, const char *name, const struct samr_SamArray *r)
     306             : {
     307             :         uint32_t cntr_entries_1;
     308           4 :         ndr_print_struct(ndr, name, "samr_SamArray");
     309           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     310           4 :         ndr->depth++;
     311           4 :         ndr_print_uint32(ndr, "count", r->count);
     312           4 :         ndr_print_ptr(ndr, "entries", r->entries);
     313           4 :         ndr->depth++;
     314           4 :         if (r->entries) {
     315           4 :                 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
     316           4 :                 ndr->depth++;
     317          38 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
     318          34 :                         ndr_print_samr_SamEntry(ndr, "entries", &r->entries[cntr_entries_1]);
     319             :                 }
     320           4 :                 ndr->depth--;
     321             :         }
     322           4 :         ndr->depth--;
     323           4 :         ndr->depth--;
     324             : }
     325             : 
     326        1052 : static enum ndr_err_code ndr_push_samr_DomainInfoClass(struct ndr_push *ndr, int ndr_flags, enum samr_DomainInfoClass r)
     327             : {
     328        1052 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
     329        1052 :         return NDR_ERR_SUCCESS;
     330             : }
     331             : 
     332         947 : static enum ndr_err_code ndr_pull_samr_DomainInfoClass(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainInfoClass *r)
     333             : {
     334             :         uint16_t v;
     335         947 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
     336         947 :         *r = v;
     337         947 :         return NDR_ERR_SUCCESS;
     338             : }
     339             : 
     340           0 : _PUBLIC_ void ndr_print_samr_DomainInfoClass(struct ndr_print *ndr, const char *name, enum samr_DomainInfoClass r)
     341             : {
     342           0 :         const char *val = NULL;
     343             : 
     344           0 :         switch (r) {
     345           0 :                 case DomainPasswordInformation: val = "DomainPasswordInformation"; break;
     346           0 :                 case DomainGeneralInformation: val = "DomainGeneralInformation"; break;
     347           0 :                 case DomainLogoffInformation: val = "DomainLogoffInformation"; break;
     348           0 :                 case DomainOemInformation: val = "DomainOemInformation"; break;
     349           0 :                 case DomainNameInformation: val = "DomainNameInformation"; break;
     350           0 :                 case DomainReplicationInformation: val = "DomainReplicationInformation"; break;
     351           0 :                 case DomainServerRoleInformation: val = "DomainServerRoleInformation"; break;
     352           0 :                 case DomainModifiedInformation: val = "DomainModifiedInformation"; break;
     353           0 :                 case DomainStateInformation: val = "DomainStateInformation"; break;
     354           0 :                 case DomainUasInformation: val = "DomainUasInformation"; break;
     355           0 :                 case DomainGeneralInformation2: val = "DomainGeneralInformation2"; break;
     356           0 :                 case DomainLockoutInformation: val = "DomainLockoutInformation"; break;
     357           0 :                 case DomainModifiedInformation2: val = "DomainModifiedInformation2"; break;
     358             :         }
     359           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     360           0 : }
     361             : 
     362         274 : static enum ndr_err_code ndr_push_samr_Role(struct ndr_push *ndr, int ndr_flags, enum samr_Role r)
     363             : {
     364         274 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
     365         274 :         return NDR_ERR_SUCCESS;
     366             : }
     367             : 
     368         290 : static enum ndr_err_code ndr_pull_samr_Role(struct ndr_pull *ndr, int ndr_flags, enum samr_Role *r)
     369             : {
     370             :         uint32_t v;
     371         290 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
     372         290 :         *r = v;
     373         290 :         return NDR_ERR_SUCCESS;
     374             : }
     375             : 
     376           2 : _PUBLIC_ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r)
     377             : {
     378           2 :         const char *val = NULL;
     379             : 
     380           2 :         switch (r) {
     381           0 :                 case SAMR_ROLE_STANDALONE: val = "SAMR_ROLE_STANDALONE"; break;
     382           0 :                 case SAMR_ROLE_DOMAIN_MEMBER: val = "SAMR_ROLE_DOMAIN_MEMBER"; break;
     383           0 :                 case SAMR_ROLE_DOMAIN_BDC: val = "SAMR_ROLE_DOMAIN_BDC"; break;
     384           2 :                 case SAMR_ROLE_DOMAIN_PDC: val = "SAMR_ROLE_DOMAIN_PDC"; break;
     385             :         }
     386           2 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     387           2 : }
     388             : 
     389        6807 : _PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     390             : {
     391        6807 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     392        6807 :         return NDR_ERR_SUCCESS;
     393             : }
     394             : 
     395        6129 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     396             : {
     397             :         uint32_t v;
     398        6129 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     399        6129 :         *r = v;
     400        6129 :         return NDR_ERR_SUCCESS;
     401             : }
     402             : 
     403        1694 : _PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r)
     404             : {
     405        1694 :         ndr_print_uint32(ndr, name, r);
     406        1694 :         ndr->depth++;
     407        1694 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX, r);
     408        1694 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE, r);
     409        1694 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE, r);
     410        1694 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS, r);
     411        1694 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT, r);
     412        1694 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE, r);
     413        1694 :         ndr->depth--;
     414        1694 : }
     415             : 
     416         273 : static enum ndr_err_code ndr_push_samr_DomainServerState(struct ndr_push *ndr, int ndr_flags, enum samr_DomainServerState r)
     417             : {
     418         273 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
     419         273 :         return NDR_ERR_SUCCESS;
     420             : }
     421             : 
     422         289 : static enum ndr_err_code ndr_pull_samr_DomainServerState(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainServerState *r)
     423             : {
     424             :         uint32_t v;
     425         289 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
     426         289 :         *r = v;
     427         289 :         return NDR_ERR_SUCCESS;
     428             : }
     429             : 
     430           2 : _PUBLIC_ void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r)
     431             : {
     432           2 :         const char *val = NULL;
     433             : 
     434           2 :         switch (r) {
     435           0 :                 case DOMAIN_SERVER_ENABLED: val = "DOMAIN_SERVER_ENABLED"; break;
     436           0 :                 case DOMAIN_SERVER_DISABLED: val = "DOMAIN_SERVER_DISABLED"; break;
     437             :         }
     438           2 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     439           2 : }
     440             : 
     441         225 : static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r)
     442             : {
     443         225 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     444         225 :         if (ndr_flags & NDR_SCALARS) {
     445         225 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     446         225 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
     447         225 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
     448         225 :                 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
     449         225 :                 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
     450         225 :                 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
     451         225 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     452             :         }
     453         225 :         if (ndr_flags & NDR_BUFFERS) {
     454             :         }
     455         225 :         return NDR_ERR_SUCCESS;
     456             : }
     457             : 
     458         232 : static enum ndr_err_code ndr_pull_samr_DomInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo1 *r)
     459             : {
     460         232 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     461         232 :         if (ndr_flags & NDR_SCALARS) {
     462         232 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     463         232 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
     464         232 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
     465         232 :                 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
     466         232 :                 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
     467         232 :                 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
     468         232 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     469             :         }
     470         230 :         if (ndr_flags & NDR_BUFFERS) {
     471             :         }
     472         232 :         return NDR_ERR_SUCCESS;
     473             : }
     474             : 
     475           4 : _PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r)
     476             : {
     477           4 :         ndr_print_struct(ndr, name, "samr_DomInfo1");
     478           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
     479           4 :         ndr->depth++;
     480           4 :         ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
     481           4 :         ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
     482           4 :         ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
     483           4 :         ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
     484           4 :         ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
     485           4 :         ndr->depth--;
     486             : }
     487             : 
     488         446 : static enum ndr_err_code ndr_push_samr_DomGeneralInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation *r)
     489             : {
     490         446 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     491         446 :         if (ndr_flags & NDR_SCALARS) {
     492         223 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     493         223 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
     494         223 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
     495         223 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
     496         223 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
     497         223 :                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
     498         223 :                 NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
     499         223 :                 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
     500         223 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
     501         223 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users));
     502         223 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_groups));
     503         223 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aliases));
     504         223 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     505             :         }
     506         446 :         if (ndr_flags & NDR_BUFFERS) {
     507         223 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
     508         223 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
     509         223 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
     510             :         }
     511         446 :         return NDR_ERR_SUCCESS;
     512             : }
     513             : 
     514         470 : static enum ndr_err_code ndr_pull_samr_DomGeneralInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation *r)
     515             : {
     516         470 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     517         470 :         if (ndr_flags & NDR_SCALARS) {
     518         235 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     519         235 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
     520         235 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
     521         235 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
     522         235 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
     523         235 :                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
     524         235 :                 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
     525         235 :                 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
     526         235 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
     527         235 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users));
     528         235 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_groups));
     529         235 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aliases));
     530         235 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     531             :         }
     532         470 :         if (ndr_flags & NDR_BUFFERS) {
     533         235 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
     534         235 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
     535         235 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
     536             :         }
     537         470 :         return NDR_ERR_SUCCESS;
     538             : }
     539             : 
     540           2 : _PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r)
     541             : {
     542           2 :         ndr_print_struct(ndr, name, "samr_DomGeneralInformation");
     543           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     544           2 :         ndr->depth++;
     545           2 :         ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
     546           2 :         ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
     547           2 :         ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
     548           2 :         ndr_print_lsa_String(ndr, "primary", &r->primary);
     549           2 :         ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
     550           2 :         ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
     551           2 :         ndr_print_samr_Role(ndr, "role", r->role);
     552           2 :         ndr_print_uint32(ndr, "unknown3", r->unknown3);
     553           2 :         ndr_print_uint32(ndr, "num_users", r->num_users);
     554           2 :         ndr_print_uint32(ndr, "num_groups", r->num_groups);
     555           2 :         ndr_print_uint32(ndr, "num_aliases", r->num_aliases);
     556           2 :         ndr->depth--;
     557             : }
     558             : 
     559          55 : static enum ndr_err_code ndr_push_samr_DomInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo3 *r)
     560             : {
     561          55 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     562          55 :         if (ndr_flags & NDR_SCALARS) {
     563          55 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     564          55 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
     565          55 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     566             :         }
     567          55 :         if (ndr_flags & NDR_BUFFERS) {
     568             :         }
     569          55 :         return NDR_ERR_SUCCESS;
     570             : }
     571             : 
     572          59 : static enum ndr_err_code ndr_pull_samr_DomInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo3 *r)
     573             : {
     574          59 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     575          59 :         if (ndr_flags & NDR_SCALARS) {
     576          59 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     577          59 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
     578          59 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     579             :         }
     580          59 :         if (ndr_flags & NDR_BUFFERS) {
     581             :         }
     582          59 :         return NDR_ERR_SUCCESS;
     583             : }
     584             : 
     585           0 : _PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r)
     586             : {
     587           0 :         ndr_print_struct(ndr, name, "samr_DomInfo3");
     588           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     589           0 :         ndr->depth++;
     590           0 :         ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
     591           0 :         ndr->depth--;
     592             : }
     593             : 
     594         128 : static enum ndr_err_code ndr_push_samr_DomOEMInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomOEMInformation *r)
     595             : {
     596         128 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     597         128 :         if (ndr_flags & NDR_SCALARS) {
     598          64 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     599          64 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
     600          64 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     601             :         }
     602         128 :         if (ndr_flags & NDR_BUFFERS) {
     603          64 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
     604             :         }
     605         128 :         return NDR_ERR_SUCCESS;
     606             : }
     607             : 
     608         132 : static enum ndr_err_code ndr_pull_samr_DomOEMInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomOEMInformation *r)
     609             : {
     610         132 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     611         132 :         if (ndr_flags & NDR_SCALARS) {
     612          66 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     613          66 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
     614          66 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     615             :         }
     616         132 :         if (ndr_flags & NDR_BUFFERS) {
     617          66 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
     618             :         }
     619         132 :         return NDR_ERR_SUCCESS;
     620             : }
     621             : 
     622           0 : _PUBLIC_ void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r)
     623             : {
     624           0 :         ndr_print_struct(ndr, name, "samr_DomOEMInformation");
     625           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     626           0 :         ndr->depth++;
     627           0 :         ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
     628           0 :         ndr->depth--;
     629             : }
     630             : 
     631         102 : static enum ndr_err_code ndr_push_samr_DomInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo5 *r)
     632             : {
     633         102 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     634         102 :         if (ndr_flags & NDR_SCALARS) {
     635          51 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     636          51 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
     637          51 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     638             :         }
     639         102 :         if (ndr_flags & NDR_BUFFERS) {
     640          51 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
     641             :         }
     642         102 :         return NDR_ERR_SUCCESS;
     643             : }
     644             : 
     645         110 : static enum ndr_err_code ndr_pull_samr_DomInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo5 *r)
     646             : {
     647         110 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     648         110 :         if (ndr_flags & NDR_SCALARS) {
     649          55 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     650          55 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
     651          55 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     652             :         }
     653         110 :         if (ndr_flags & NDR_BUFFERS) {
     654          55 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
     655             :         }
     656         110 :         return NDR_ERR_SUCCESS;
     657             : }
     658             : 
     659           0 : _PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r)
     660             : {
     661           0 :         ndr_print_struct(ndr, name, "samr_DomInfo5");
     662           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     663           0 :         ndr->depth++;
     664           0 :         ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
     665           0 :         ndr->depth--;
     666             : }
     667             : 
     668         102 : static enum ndr_err_code ndr_push_samr_DomInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo6 *r)
     669             : {
     670         102 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     671         102 :         if (ndr_flags & NDR_SCALARS) {
     672          51 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     673          51 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
     674          51 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     675             :         }
     676         102 :         if (ndr_flags & NDR_BUFFERS) {
     677          51 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
     678             :         }
     679         102 :         return NDR_ERR_SUCCESS;
     680             : }
     681             : 
     682         110 : static enum ndr_err_code ndr_pull_samr_DomInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo6 *r)
     683             : {
     684         110 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     685         110 :         if (ndr_flags & NDR_SCALARS) {
     686          55 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     687          55 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
     688          55 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     689             :         }
     690         110 :         if (ndr_flags & NDR_BUFFERS) {
     691          55 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
     692             :         }
     693         110 :         return NDR_ERR_SUCCESS;
     694             : }
     695             : 
     696           0 : _PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r)
     697             : {
     698           0 :         ndr_print_struct(ndr, name, "samr_DomInfo6");
     699           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     700           0 :         ndr->depth++;
     701           0 :         ndr_print_lsa_String(ndr, "primary", &r->primary);
     702           0 :         ndr->depth--;
     703             : }
     704             : 
     705          51 : static enum ndr_err_code ndr_push_samr_DomInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo7 *r)
     706             : {
     707          51 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     708          51 :         if (ndr_flags & NDR_SCALARS) {
     709          51 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     710          51 :                 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
     711          51 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     712             :         }
     713          51 :         if (ndr_flags & NDR_BUFFERS) {
     714             :         }
     715          51 :         return NDR_ERR_SUCCESS;
     716             : }
     717             : 
     718          55 : static enum ndr_err_code ndr_pull_samr_DomInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo7 *r)
     719             : {
     720          55 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     721          55 :         if (ndr_flags & NDR_SCALARS) {
     722          55 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     723          55 :                 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
     724          55 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     725             :         }
     726          55 :         if (ndr_flags & NDR_BUFFERS) {
     727             :         }
     728          55 :         return NDR_ERR_SUCCESS;
     729             : }
     730             : 
     731           0 : _PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r)
     732             : {
     733           0 :         ndr_print_struct(ndr, name, "samr_DomInfo7");
     734           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     735           0 :         ndr->depth++;
     736           0 :         ndr_print_samr_Role(ndr, "role", r->role);
     737           0 :         ndr->depth--;
     738             : }
     739             : 
     740          57 : static enum ndr_err_code ndr_push_samr_DomInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo8 *r)
     741             : {
     742          57 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     743          57 :         if (ndr_flags & NDR_SCALARS) {
     744          57 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     745          57 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
     746          57 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
     747          57 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     748             :         }
     749          57 :         if (ndr_flags & NDR_BUFFERS) {
     750             :         }
     751          57 :         return NDR_ERR_SUCCESS;
     752             : }
     753             : 
     754          62 : static enum ndr_err_code ndr_pull_samr_DomInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo8 *r)
     755             : {
     756          62 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     757          62 :         if (ndr_flags & NDR_SCALARS) {
     758          62 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     759          62 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
     760          62 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
     761          62 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     762             :         }
     763          62 :         if (ndr_flags & NDR_BUFFERS) {
     764             :         }
     765          62 :         return NDR_ERR_SUCCESS;
     766             : }
     767             : 
     768           2 : _PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r)
     769             : {
     770           2 :         ndr_print_struct(ndr, name, "samr_DomInfo8");
     771           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     772           2 :         ndr->depth++;
     773           2 :         ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
     774           2 :         ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
     775           2 :         ndr->depth--;
     776             : }
     777             : 
     778          50 : static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo9 *r)
     779             : {
     780          50 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     781          50 :         if (ndr_flags & NDR_SCALARS) {
     782          50 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     783          50 :                 NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
     784          50 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     785             :         }
     786          50 :         if (ndr_flags & NDR_BUFFERS) {
     787             :         }
     788          50 :         return NDR_ERR_SUCCESS;
     789             : }
     790             : 
     791          54 : static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo9 *r)
     792             : {
     793          54 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     794          54 :         if (ndr_flags & NDR_SCALARS) {
     795          54 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     796          54 :                 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
     797          54 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     798             :         }
     799          54 :         if (ndr_flags & NDR_BUFFERS) {
     800             :         }
     801          54 :         return NDR_ERR_SUCCESS;
     802             : }
     803             : 
     804           0 : _PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r)
     805             : {
     806           0 :         ndr_print_struct(ndr, name, "samr_DomInfo9");
     807           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     808           0 :         ndr->depth++;
     809           0 :         ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
     810           0 :         ndr->depth--;
     811             : }
     812             : 
     813         100 : static enum ndr_err_code ndr_push_samr_DomGeneralInformation2(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation2 *r)
     814             : {
     815         100 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     816         100 :         if (ndr_flags & NDR_SCALARS) {
     817          50 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     818          50 :                 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
     819          50 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
     820          50 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
     821          50 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
     822          50 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     823             :         }
     824         100 :         if (ndr_flags & NDR_BUFFERS) {
     825          50 :                 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
     826             :         }
     827         100 :         return NDR_ERR_SUCCESS;
     828             : }
     829             : 
     830         108 : static enum ndr_err_code ndr_pull_samr_DomGeneralInformation2(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation2 *r)
     831             : {
     832         108 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     833         108 :         if (ndr_flags & NDR_SCALARS) {
     834          54 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     835          54 :                 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
     836          54 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
     837          54 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
     838          54 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
     839          54 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     840             :         }
     841         108 :         if (ndr_flags & NDR_BUFFERS) {
     842          54 :                 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
     843             :         }
     844         108 :         return NDR_ERR_SUCCESS;
     845             : }
     846             : 
     847           0 : _PUBLIC_ void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r)
     848             : {
     849           0 :         ndr_print_struct(ndr, name, "samr_DomGeneralInformation2");
     850           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     851           0 :         ndr->depth++;
     852           0 :         ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
     853           0 :         ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
     854           0 :         ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
     855           0 :         ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
     856           0 :         ndr->depth--;
     857             : }
     858             : 
     859         169 : static enum ndr_err_code ndr_push_samr_DomInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo12 *r)
     860             : {
     861         169 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     862         169 :         if (ndr_flags & NDR_SCALARS) {
     863         169 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     864         169 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
     865         169 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
     866         169 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
     867         169 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     868             :         }
     869         169 :         if (ndr_flags & NDR_BUFFERS) {
     870             :         }
     871         169 :         return NDR_ERR_SUCCESS;
     872             : }
     873             : 
     874         170 : static enum ndr_err_code ndr_pull_samr_DomInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo12 *r)
     875             : {
     876         170 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     877         170 :         if (ndr_flags & NDR_SCALARS) {
     878         170 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     879         170 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
     880         170 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
     881         170 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
     882         170 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     883             :         }
     884         170 :         if (ndr_flags & NDR_BUFFERS) {
     885             :         }
     886         170 :         return NDR_ERR_SUCCESS;
     887             : }
     888             : 
     889           2 : _PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r)
     890             : {
     891           2 :         ndr_print_struct(ndr, name, "samr_DomInfo12");
     892           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     893           2 :         ndr->depth++;
     894           2 :         ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
     895           2 :         ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
     896           2 :         ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
     897           2 :         ndr->depth--;
     898             : }
     899             : 
     900          50 : static enum ndr_err_code ndr_push_samr_DomInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo13 *r)
     901             : {
     902          50 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     903          50 :         if (ndr_flags & NDR_SCALARS) {
     904          50 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     905          50 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
     906          50 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
     907          50 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_count_at_last_promotion));
     908          50 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     909             :         }
     910          50 :         if (ndr_flags & NDR_BUFFERS) {
     911             :         }
     912          50 :         return NDR_ERR_SUCCESS;
     913             : }
     914             : 
     915          54 : static enum ndr_err_code ndr_pull_samr_DomInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo13 *r)
     916             : {
     917          54 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     918          54 :         if (ndr_flags & NDR_SCALARS) {
     919          54 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     920          54 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
     921          54 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
     922          54 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_count_at_last_promotion));
     923          54 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     924             :         }
     925          54 :         if (ndr_flags & NDR_BUFFERS) {
     926             :         }
     927          54 :         return NDR_ERR_SUCCESS;
     928             : }
     929             : 
     930           0 : _PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r)
     931             : {
     932           0 :         ndr_print_struct(ndr, name, "samr_DomInfo13");
     933           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     934           0 :         ndr->depth++;
     935           0 :         ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
     936           0 :         ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
     937           0 :         ndr_print_hyper(ndr, "modified_count_at_last_promotion", r->modified_count_at_last_promotion);
     938           0 :         ndr->depth--;
     939             : }
     940             : 
     941         977 : static enum ndr_err_code ndr_push_samr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DomainInfo *r)
     942             : {
     943             :         uint32_t level;
     944         977 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     945         977 :         if (ndr_flags & NDR_SCALARS) {
     946             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     947         977 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     948         977 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
     949         977 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
     950         977 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
     951         977 :                 switch (level) {
     952         156 :                         case 1: {
     953         156 :                                 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
     954         156 :                         break; }
     955             : 
     956         173 :                         case 2: {
     957         173 :                                 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
     958         173 :                         break; }
     959             : 
     960          55 :                         case 3: {
     961          55 :                                 NDR_CHECK(ndr_push_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
     962          55 :                         break; }
     963             : 
     964          64 :                         case 4: {
     965          64 :                                 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
     966          64 :                         break; }
     967             : 
     968          51 :                         case 5: {
     969          51 :                                 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
     970          51 :                         break; }
     971             : 
     972          51 :                         case 6: {
     973          51 :                                 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
     974          51 :                         break; }
     975             : 
     976          51 :                         case 7: {
     977          51 :                                 NDR_CHECK(ndr_push_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
     978          51 :                         break; }
     979             : 
     980          57 :                         case 8: {
     981          57 :                                 NDR_CHECK(ndr_push_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
     982          57 :                         break; }
     983             : 
     984          50 :                         case 9: {
     985          50 :                                 NDR_CHECK(ndr_push_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
     986          50 :                         break; }
     987             : 
     988          50 :                         case 11: {
     989          50 :                                 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
     990          50 :                         break; }
     991             : 
     992         169 :                         case 12: {
     993         169 :                                 NDR_CHECK(ndr_push_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
     994         169 :                         break; }
     995             : 
     996          50 :                         case 13: {
     997          50 :                                 NDR_CHECK(ndr_push_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
     998          50 :                         break; }
     999             : 
    1000           0 :                         default:
    1001           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    1002             :                 }
    1003           0 :         }
    1004         977 :         if (ndr_flags & NDR_BUFFERS) {
    1005         977 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1006             :                         /* We didn't get it above, and the token is not needed after this. */
    1007           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1008             :                 }
    1009         977 :                 switch (level) {
    1010         156 :                         case 1:
    1011         156 :                         break;
    1012             : 
    1013         173 :                         case 2:
    1014         173 :                                 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
    1015         173 :                         break;
    1016             : 
    1017          55 :                         case 3:
    1018          55 :                         break;
    1019             : 
    1020          64 :                         case 4:
    1021          64 :                                 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
    1022          64 :                         break;
    1023             : 
    1024          51 :                         case 5:
    1025          51 :                                 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
    1026          51 :                         break;
    1027             : 
    1028          51 :                         case 6:
    1029          51 :                                 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
    1030          51 :                         break;
    1031             : 
    1032          51 :                         case 7:
    1033          51 :                         break;
    1034             : 
    1035          57 :                         case 8:
    1036          57 :                         break;
    1037             : 
    1038          50 :                         case 9:
    1039          50 :                         break;
    1040             : 
    1041          50 :                         case 11:
    1042          50 :                                 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
    1043          50 :                         break;
    1044             : 
    1045         169 :                         case 12:
    1046         169 :                         break;
    1047             : 
    1048          50 :                         case 13:
    1049          50 :                         break;
    1050             : 
    1051           0 :                         default:
    1052           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    1053             :                 }
    1054           0 :         }
    1055         977 :         return NDR_ERR_SUCCESS;
    1056             : }
    1057             : 
    1058        1026 : static enum ndr_err_code ndr_pull_samr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DomainInfo *r)
    1059             : {
    1060             :         uint32_t level;
    1061             :         uint16_t _level;
    1062        1026 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1063        1026 :         if (ndr_flags & NDR_SCALARS) {
    1064             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1065        1026 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1066        1026 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    1067        1026 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
    1068        1026 :                 if (_level != level) {
    1069           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    1070             :                 }
    1071        1026 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    1072        1026 :                 switch (level) {
    1073         161 :                         case 1: {
    1074         161 :                                 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
    1075         161 :                         break; }
    1076             : 
    1077         181 :                         case 2: {
    1078         181 :                                 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
    1079         181 :                         break; }
    1080             : 
    1081          59 :                         case 3: {
    1082          59 :                                 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
    1083          59 :                         break; }
    1084             : 
    1085          66 :                         case 4: {
    1086          66 :                                 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
    1087          66 :                         break; }
    1088             : 
    1089          55 :                         case 5: {
    1090          55 :                                 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
    1091          55 :                         break; }
    1092             : 
    1093          55 :                         case 6: {
    1094          55 :                                 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
    1095          55 :                         break; }
    1096             : 
    1097          55 :                         case 7: {
    1098          55 :                                 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
    1099          55 :                         break; }
    1100             : 
    1101          62 :                         case 8: {
    1102          62 :                                 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
    1103          62 :                         break; }
    1104             : 
    1105          54 :                         case 9: {
    1106          54 :                                 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
    1107          54 :                         break; }
    1108             : 
    1109          54 :                         case 11: {
    1110          54 :                                 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
    1111          54 :                         break; }
    1112             : 
    1113         170 :                         case 12: {
    1114         170 :                                 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
    1115         170 :                         break; }
    1116             : 
    1117          54 :                         case 13: {
    1118          54 :                                 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
    1119          54 :                         break; }
    1120             : 
    1121           0 :                         default:
    1122           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    1123             :                 }
    1124           0 :         }
    1125        1026 :         if (ndr_flags & NDR_BUFFERS) {
    1126        1026 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1127             :                         /* We didn't get it above, and the token is not needed after this. */
    1128           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1129             :                 }
    1130        1026 :                 switch (level) {
    1131         161 :                         case 1:
    1132         161 :                         break;
    1133             : 
    1134         181 :                         case 2:
    1135         181 :                                 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
    1136         181 :                         break;
    1137             : 
    1138          59 :                         case 3:
    1139          59 :                         break;
    1140             : 
    1141          66 :                         case 4:
    1142          66 :                                 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
    1143          66 :                         break;
    1144             : 
    1145          55 :                         case 5:
    1146          55 :                                 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
    1147          55 :                         break;
    1148             : 
    1149          55 :                         case 6:
    1150          55 :                                 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
    1151          55 :                         break;
    1152             : 
    1153          55 :                         case 7:
    1154          55 :                         break;
    1155             : 
    1156          62 :                         case 8:
    1157          62 :                         break;
    1158             : 
    1159          54 :                         case 9:
    1160          54 :                         break;
    1161             : 
    1162          54 :                         case 11:
    1163          54 :                                 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
    1164          54 :                         break;
    1165             : 
    1166         170 :                         case 12:
    1167         170 :                         break;
    1168             : 
    1169          54 :                         case 13:
    1170          54 :                         break;
    1171             : 
    1172           0 :                         default:
    1173           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    1174             :                 }
    1175           0 :         }
    1176        1026 :         return NDR_ERR_SUCCESS;
    1177             : }
    1178             : 
    1179           8 : _PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r)
    1180             : {
    1181             :         uint32_t level;
    1182           8 :         level = ndr_print_steal_switch_value(ndr, r);
    1183           8 :         ndr_print_union(ndr, name, level, "samr_DomainInfo");
    1184           8 :         switch (level) {
    1185           2 :                 case 1:
    1186           2 :                         ndr_print_samr_DomInfo1(ndr, "info1", &r->info1);
    1187           2 :                 break;
    1188             : 
    1189           2 :                 case 2:
    1190           2 :                         ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
    1191           2 :                 break;
    1192             : 
    1193           0 :                 case 3:
    1194           0 :                         ndr_print_samr_DomInfo3(ndr, "info3", &r->info3);
    1195           0 :                 break;
    1196             : 
    1197           0 :                 case 4:
    1198           0 :                         ndr_print_samr_DomOEMInformation(ndr, "oem", &r->oem);
    1199           0 :                 break;
    1200             : 
    1201           0 :                 case 5:
    1202           0 :                         ndr_print_samr_DomInfo5(ndr, "info5", &r->info5);
    1203           0 :                 break;
    1204             : 
    1205           0 :                 case 6:
    1206           0 :                         ndr_print_samr_DomInfo6(ndr, "info6", &r->info6);
    1207           0 :                 break;
    1208             : 
    1209           0 :                 case 7:
    1210           0 :                         ndr_print_samr_DomInfo7(ndr, "info7", &r->info7);
    1211           0 :                 break;
    1212             : 
    1213           2 :                 case 8:
    1214           2 :                         ndr_print_samr_DomInfo8(ndr, "info8", &r->info8);
    1215           2 :                 break;
    1216             : 
    1217           0 :                 case 9:
    1218           0 :                         ndr_print_samr_DomInfo9(ndr, "info9", &r->info9);
    1219           0 :                 break;
    1220             : 
    1221           0 :                 case 11:
    1222           0 :                         ndr_print_samr_DomGeneralInformation2(ndr, "general2", &r->general2);
    1223           0 :                 break;
    1224             : 
    1225           2 :                 case 12:
    1226           2 :                         ndr_print_samr_DomInfo12(ndr, "info12", &r->info12);
    1227           2 :                 break;
    1228             : 
    1229           0 :                 case 13:
    1230           0 :                         ndr_print_samr_DomInfo13(ndr, "info13", &r->info13);
    1231           0 :                 break;
    1232             : 
    1233           0 :                 default:
    1234           0 :                         ndr_print_bad_level(ndr, name, level);
    1235             :         }
    1236           8 : }
    1237             : 
    1238       15258 : static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags, const struct samr_Ids *r)
    1239             : {
    1240             :         uint32_t cntr_ids_1;
    1241       15258 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1242       15258 :         if (ndr_flags & NDR_SCALARS) {
    1243       15258 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1244       15258 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    1245       15258 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ids));
    1246       15258 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1247             :         }
    1248       15258 :         if (ndr_flags & NDR_BUFFERS) {
    1249       15258 :                 if (r->ids) {
    1250       14634 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    1251       30586 :                         for (cntr_ids_1 = 0; cntr_ids_1 < (r->count); cntr_ids_1++) {
    1252       15986 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ids[cntr_ids_1]));
    1253             :                         }
    1254             :                 }
    1255             :         }
    1256       15224 :         return NDR_ERR_SUCCESS;
    1257             : }
    1258             : 
    1259        7745 : static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r)
    1260             : {
    1261             :         uint32_t _ptr_ids;
    1262        7745 :         uint32_t size_ids_1 = 0;
    1263             :         uint32_t cntr_ids_1;
    1264        7745 :         TALLOC_CTX *_mem_save_ids_0 = NULL;
    1265        7745 :         TALLOC_CTX *_mem_save_ids_1 = NULL;
    1266        7745 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1267        7745 :         if (ndr_flags & NDR_SCALARS) {
    1268        7745 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1269        7745 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    1270        7745 :                 if (r->count > 1024) {
    1271           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    1272             :                 }
    1273        7745 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ids));
    1274        7745 :                 if (_ptr_ids) {
    1275        7119 :                         NDR_PULL_ALLOC(ndr, r->ids);
    1276             :                 } else {
    1277         626 :                         r->ids = NULL;
    1278             :                 }
    1279        7745 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1280             :         }
    1281        7745 :         if (ndr_flags & NDR_BUFFERS) {
    1282        7745 :                 if (r->ids) {
    1283        7119 :                         _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1284        7119 :                         NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
    1285        7119 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
    1286        7119 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->ids, &size_ids_1));
    1287        7119 :                         NDR_PULL_ALLOC_N(ndr, r->ids, size_ids_1);
    1288        7119 :                         _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    1289        7119 :                         NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
    1290       14881 :                         for (cntr_ids_1 = 0; cntr_ids_1 < (size_ids_1); cntr_ids_1++) {
    1291        7762 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1]));
    1292             :                         }
    1293        7119 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0);
    1294        7119 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
    1295             :                 }
    1296        7745 :                 if (r->ids) {
    1297        7119 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->ids, r->count));
    1298             :                 }
    1299             :         }
    1300        7741 :         return NDR_ERR_SUCCESS;
    1301             : }
    1302             : 
    1303         464 : _PUBLIC_ void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r)
    1304             : {
    1305             :         uint32_t cntr_ids_1;
    1306         464 :         ndr_print_struct(ndr, name, "samr_Ids");
    1307         464 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1308         464 :         ndr->depth++;
    1309         464 :         ndr_print_uint32(ndr, "count", r->count);
    1310         464 :         ndr_print_ptr(ndr, "ids", r->ids);
    1311         464 :         ndr->depth++;
    1312         464 :         if (r->ids) {
    1313         464 :                 ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->count);
    1314         464 :                 ndr->depth++;
    1315         918 :                 for (cntr_ids_1 = 0; cntr_ids_1 < (r->count); cntr_ids_1++) {
    1316         454 :                         ndr_print_uint32(ndr, "ids", r->ids[cntr_ids_1]);
    1317             :                 }
    1318         464 :                 ndr->depth--;
    1319             :         }
    1320         464 :         ndr->depth--;
    1321         464 :         ndr->depth--;
    1322             : }
    1323             : 
    1324         338 : static enum ndr_err_code ndr_push_samr_GroupInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAll *r)
    1325             : {
    1326         338 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1327         338 :         if (ndr_flags & NDR_SCALARS) {
    1328         169 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1329         169 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
    1330         169 :                 NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
    1331         169 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
    1332         169 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    1333         169 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1334             :         }
    1335         338 :         if (ndr_flags & NDR_BUFFERS) {
    1336         169 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
    1337         169 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1338             :         }
    1339         338 :         return NDR_ERR_SUCCESS;
    1340             : }
    1341             : 
    1342         332 : static enum ndr_err_code ndr_pull_samr_GroupInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAll *r)
    1343             : {
    1344         332 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1345         332 :         if (ndr_flags & NDR_SCALARS) {
    1346         166 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1347         166 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
    1348         166 :                 NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
    1349         166 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
    1350         166 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    1351         166 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1352             :         }
    1353         332 :         if (ndr_flags & NDR_BUFFERS) {
    1354         166 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
    1355         166 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1356             :         }
    1357         332 :         return NDR_ERR_SUCCESS;
    1358             : }
    1359             : 
    1360           6 : _PUBLIC_ void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r)
    1361             : {
    1362           6 :         ndr_print_struct(ndr, name, "samr_GroupInfoAll");
    1363           6 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1364           6 :         ndr->depth++;
    1365           6 :         ndr_print_lsa_String(ndr, "name", &r->name);
    1366           6 :         ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes);
    1367           6 :         ndr_print_uint32(ndr, "num_members", r->num_members);
    1368           6 :         ndr_print_lsa_String(ndr, "description", &r->description);
    1369           6 :         ndr->depth--;
    1370             : }
    1371             : 
    1372          85 : static enum ndr_err_code ndr_push_samr_GroupInfoAttributes(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAttributes *r)
    1373             : {
    1374          85 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1375          85 :         if (ndr_flags & NDR_SCALARS) {
    1376          85 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    1377          85 :                 NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
    1378          85 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    1379             :         }
    1380          85 :         if (ndr_flags & NDR_BUFFERS) {
    1381             :         }
    1382          85 :         return NDR_ERR_SUCCESS;
    1383             : }
    1384             : 
    1385          85 : static enum ndr_err_code ndr_pull_samr_GroupInfoAttributes(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAttributes *r)
    1386             : {
    1387          85 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1388          85 :         if (ndr_flags & NDR_SCALARS) {
    1389          85 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    1390          85 :                 NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
    1391          85 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    1392             :         }
    1393          85 :         if (ndr_flags & NDR_BUFFERS) {
    1394             :         }
    1395          85 :         return NDR_ERR_SUCCESS;
    1396             : }
    1397             : 
    1398           0 : _PUBLIC_ void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r)
    1399             : {
    1400           0 :         ndr_print_struct(ndr, name, "samr_GroupInfoAttributes");
    1401           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1402           0 :         ndr->depth++;
    1403           0 :         ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes);
    1404           0 :         ndr->depth--;
    1405             : }
    1406             : 
    1407         839 : static enum ndr_err_code ndr_push_samr_GroupInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_GroupInfoEnum r)
    1408             : {
    1409         839 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
    1410         839 :         return NDR_ERR_SUCCESS;
    1411             : }
    1412             : 
    1413         418 : static enum ndr_err_code ndr_pull_samr_GroupInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_GroupInfoEnum *r)
    1414             : {
    1415             :         uint16_t v;
    1416         418 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
    1417         418 :         *r = v;
    1418         418 :         return NDR_ERR_SUCCESS;
    1419             : }
    1420             : 
    1421           0 : _PUBLIC_ void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r)
    1422             : {
    1423           0 :         const char *val = NULL;
    1424             : 
    1425           0 :         switch (r) {
    1426           0 :                 case GROUPINFOALL: val = "GROUPINFOALL"; break;
    1427           0 :                 case GROUPINFONAME: val = "GROUPINFONAME"; break;
    1428           0 :                 case GROUPINFOATTRIBUTES: val = "GROUPINFOATTRIBUTES"; break;
    1429           0 :                 case GROUPINFODESCRIPTION: val = "GROUPINFODESCRIPTION"; break;
    1430           0 :                 case GROUPINFOALL2: val = "GROUPINFOALL2"; break;
    1431             :         }
    1432           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    1433           0 : }
    1434             : 
    1435         421 : static enum ndr_err_code ndr_push_samr_GroupInfo(struct ndr_push *ndr, int ndr_flags, const union samr_GroupInfo *r)
    1436             : {
    1437             :         uint32_t level;
    1438         421 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1439         421 :         if (ndr_flags & NDR_SCALARS) {
    1440             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1441         421 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1442         421 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1443         421 :                 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, level));
    1444         421 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1445         421 :                 switch (level) {
    1446          86 :                         case GROUPINFOALL: {
    1447          86 :                                 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
    1448          86 :                         break; }
    1449             : 
    1450          84 :                         case GROUPINFONAME: {
    1451          84 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
    1452          84 :                         break; }
    1453             : 
    1454          85 :                         case GROUPINFOATTRIBUTES: {
    1455          85 :                                 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
    1456          85 :                         break; }
    1457             : 
    1458          83 :                         case GROUPINFODESCRIPTION: {
    1459          83 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    1460          83 :                         break; }
    1461             : 
    1462          83 :                         case GROUPINFOALL2: {
    1463          83 :                                 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
    1464          83 :                         break; }
    1465             : 
    1466           0 :                         default:
    1467           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    1468             :                 }
    1469           0 :         }
    1470         421 :         if (ndr_flags & NDR_BUFFERS) {
    1471         421 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1472             :                         /* We didn't get it above, and the token is not needed after this. */
    1473           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1474             :                 }
    1475         421 :                 switch (level) {
    1476          86 :                         case GROUPINFOALL:
    1477          86 :                                 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
    1478          86 :                         break;
    1479             : 
    1480          84 :                         case GROUPINFONAME:
    1481          84 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
    1482          84 :                         break;
    1483             : 
    1484          85 :                         case GROUPINFOATTRIBUTES:
    1485          85 :                         break;
    1486             : 
    1487          83 :                         case GROUPINFODESCRIPTION:
    1488          83 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1489          83 :                         break;
    1490             : 
    1491          83 :                         case GROUPINFOALL2:
    1492          83 :                                 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
    1493          83 :                         break;
    1494             : 
    1495           0 :                         default:
    1496           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    1497             :                 }
    1498           0 :         }
    1499         421 :         return NDR_ERR_SUCCESS;
    1500             : }
    1501             : 
    1502         418 : static enum ndr_err_code ndr_pull_samr_GroupInfo(struct ndr_pull *ndr, int ndr_flags, union samr_GroupInfo *r)
    1503             : {
    1504             :         uint32_t level;
    1505             :         uint16_t _level;
    1506         418 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1507         418 :         if (ndr_flags & NDR_SCALARS) {
    1508             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1509         418 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1510         418 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1511         418 :                 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
    1512         418 :                 if (_level != level) {
    1513           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    1514             :                 }
    1515         418 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1516         418 :                 switch (level) {
    1517          85 :                         case GROUPINFOALL: {
    1518          85 :                                 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
    1519          85 :                         break; }
    1520             : 
    1521          84 :                         case GROUPINFONAME: {
    1522          84 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
    1523          84 :                         break; }
    1524             : 
    1525          85 :                         case GROUPINFOATTRIBUTES: {
    1526          85 :                                 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
    1527          85 :                         break; }
    1528             : 
    1529          83 :                         case GROUPINFODESCRIPTION: {
    1530          83 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    1531          83 :                         break; }
    1532             : 
    1533          81 :                         case GROUPINFOALL2: {
    1534          81 :                                 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
    1535          81 :                         break; }
    1536             : 
    1537           0 :                         default:
    1538           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    1539             :                 }
    1540           0 :         }
    1541         418 :         if (ndr_flags & NDR_BUFFERS) {
    1542         418 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1543             :                         /* We didn't get it above, and the token is not needed after this. */
    1544           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1545             :                 }
    1546         418 :                 switch (level) {
    1547          85 :                         case GROUPINFOALL:
    1548          85 :                                 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
    1549          85 :                         break;
    1550             : 
    1551          84 :                         case GROUPINFONAME:
    1552          84 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
    1553          84 :                         break;
    1554             : 
    1555          85 :                         case GROUPINFOATTRIBUTES:
    1556          85 :                         break;
    1557             : 
    1558          83 :                         case GROUPINFODESCRIPTION:
    1559          83 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1560          83 :                         break;
    1561             : 
    1562          81 :                         case GROUPINFOALL2:
    1563          81 :                                 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
    1564          81 :                         break;
    1565             : 
    1566           0 :                         default:
    1567           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    1568             :                 }
    1569           0 :         }
    1570         418 :         return NDR_ERR_SUCCESS;
    1571             : }
    1572             : 
    1573           6 : _PUBLIC_ void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r)
    1574             : {
    1575             :         uint32_t level;
    1576           6 :         level = ndr_print_steal_switch_value(ndr, r);
    1577           6 :         ndr_print_union(ndr, name, level, "samr_GroupInfo");
    1578           6 :         switch (level) {
    1579           2 :                 case GROUPINFOALL:
    1580           2 :                         ndr_print_samr_GroupInfoAll(ndr, "all", &r->all);
    1581           2 :                 break;
    1582             : 
    1583           0 :                 case GROUPINFONAME:
    1584           0 :                         ndr_print_lsa_String(ndr, "name", &r->name);
    1585           0 :                 break;
    1586             : 
    1587           0 :                 case GROUPINFOATTRIBUTES:
    1588           0 :                         ndr_print_samr_GroupInfoAttributes(ndr, "attributes", &r->attributes);
    1589           0 :                 break;
    1590             : 
    1591           0 :                 case GROUPINFODESCRIPTION:
    1592           0 :                         ndr_print_lsa_String(ndr, "description", &r->description);
    1593           0 :                 break;
    1594             : 
    1595           4 :                 case GROUPINFOALL2:
    1596           4 :                         ndr_print_samr_GroupInfoAll(ndr, "all2", &r->all2);
    1597           4 :                 break;
    1598             : 
    1599           0 :                 default:
    1600           0 :                         ndr_print_bad_level(ndr, name, level);
    1601             :         }
    1602           6 : }
    1603             : 
    1604         536 : static enum ndr_err_code ndr_push_samr_RidAttrArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidAttrArray *r)
    1605             : {
    1606             :         uint32_t cntr_rids_1;
    1607             :         uint32_t cntr_attributes_1;
    1608         536 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1609         536 :         if (ndr_flags & NDR_SCALARS) {
    1610         536 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1611         536 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    1612         536 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
    1613         536 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
    1614         536 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1615             :         }
    1616         536 :         if (ndr_flags & NDR_BUFFERS) {
    1617         536 :                 if (r->rids) {
    1618         139 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    1619         284 :                         for (cntr_rids_1 = 0; cntr_rids_1 < (r->count); cntr_rids_1++) {
    1620         145 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
    1621             :                         }
    1622             :                 }
    1623         536 :                 if (r->attributes) {
    1624         139 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    1625         284 :                         for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->count); cntr_attributes_1++) {
    1626         145 :                                 NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes[cntr_attributes_1]));
    1627             :                         }
    1628             :                 }
    1629             :         }
    1630         536 :         return NDR_ERR_SUCCESS;
    1631             : }
    1632             : 
    1633         828 : static enum ndr_err_code ndr_pull_samr_RidAttrArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidAttrArray *r)
    1634             : {
    1635             :         uint32_t _ptr_rids;
    1636         828 :         uint32_t size_rids_1 = 0;
    1637             :         uint32_t cntr_rids_1;
    1638         828 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    1639         828 :         TALLOC_CTX *_mem_save_rids_1 = NULL;
    1640             :         uint32_t _ptr_attributes;
    1641         828 :         uint32_t size_attributes_1 = 0;
    1642             :         uint32_t cntr_attributes_1;
    1643         828 :         TALLOC_CTX *_mem_save_attributes_0 = NULL;
    1644         828 :         TALLOC_CTX *_mem_save_attributes_1 = NULL;
    1645         828 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1646         828 :         if (ndr_flags & NDR_SCALARS) {
    1647         828 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1648         828 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    1649         828 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
    1650         828 :                 if (_ptr_rids) {
    1651         136 :                         NDR_PULL_ALLOC(ndr, r->rids);
    1652             :                 } else {
    1653         692 :                         r->rids = NULL;
    1654             :                 }
    1655         828 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
    1656         828 :                 if (_ptr_attributes) {
    1657         136 :                         NDR_PULL_ALLOC(ndr, r->attributes);
    1658             :                 } else {
    1659         692 :                         r->attributes = NULL;
    1660             :                 }
    1661         828 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1662             :         }
    1663         828 :         if (ndr_flags & NDR_BUFFERS) {
    1664         828 :                 if (r->rids) {
    1665         136 :                         _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1666         136 :                         NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
    1667         136 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
    1668         136 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_1));
    1669         136 :                         NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
    1670         136 :                         _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    1671         136 :                         NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
    1672         284 :                         for (cntr_rids_1 = 0; cntr_rids_1 < (size_rids_1); cntr_rids_1++) {
    1673         148 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
    1674             :                         }
    1675         136 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
    1676         136 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
    1677             :                 }
    1678         828 :                 if (r->attributes) {
    1679         136 :                         _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1680         136 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
    1681         136 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
    1682         136 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->attributes, &size_attributes_1));
    1683         136 :                         NDR_PULL_ALLOC_N(ndr, r->attributes, size_attributes_1);
    1684         136 :                         _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
    1685         136 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
    1686         284 :                         for (cntr_attributes_1 = 0; cntr_attributes_1 < (size_attributes_1); cntr_attributes_1++) {
    1687         148 :                                 NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
    1688             :                         }
    1689         136 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
    1690         136 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
    1691             :                 }
    1692         828 :                 if (r->rids) {
    1693         136 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->count));
    1694             :                 }
    1695         828 :                 if (r->attributes) {
    1696         136 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->attributes, r->count));
    1697             :                 }
    1698             :         }
    1699         828 :         return NDR_ERR_SUCCESS;
    1700             : }
    1701             : 
    1702          24 : _PUBLIC_ void ndr_print_samr_RidAttrArray(struct ndr_print *ndr, const char *name, const struct samr_RidAttrArray *r)
    1703             : {
    1704             :         uint32_t cntr_rids_1;
    1705             :         uint32_t cntr_attributes_1;
    1706          24 :         ndr_print_struct(ndr, name, "samr_RidAttrArray");
    1707          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1708          24 :         ndr->depth++;
    1709          24 :         ndr_print_uint32(ndr, "count", r->count);
    1710          24 :         ndr_print_ptr(ndr, "rids", r->rids);
    1711          24 :         ndr->depth++;
    1712          24 :         if (r->rids) {
    1713          10 :                 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
    1714          10 :                 ndr->depth++;
    1715          20 :                 for (cntr_rids_1 = 0; cntr_rids_1 < (r->count); cntr_rids_1++) {
    1716          10 :                         ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
    1717             :                 }
    1718          10 :                 ndr->depth--;
    1719             :         }
    1720          24 :         ndr->depth--;
    1721          24 :         ndr_print_ptr(ndr, "attributes", r->attributes);
    1722          24 :         ndr->depth++;
    1723          24 :         if (r->attributes) {
    1724          10 :                 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->count);
    1725          10 :                 ndr->depth++;
    1726          20 :                 for (cntr_attributes_1 = 0; cntr_attributes_1 < (r->count); cntr_attributes_1++) {
    1727          10 :                         ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes[cntr_attributes_1]);
    1728             :                 }
    1729          10 :                 ndr->depth--;
    1730             :         }
    1731          24 :         ndr->depth--;
    1732          24 :         ndr->depth--;
    1733             : }
    1734             : 
    1735         284 : static enum ndr_err_code ndr_push_samr_AliasInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_AliasInfoAll *r)
    1736             : {
    1737         284 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1738         284 :         if (ndr_flags & NDR_SCALARS) {
    1739         142 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1740         142 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
    1741         142 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
    1742         142 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    1743         142 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1744             :         }
    1745         284 :         if (ndr_flags & NDR_BUFFERS) {
    1746         142 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
    1747         142 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1748             :         }
    1749         284 :         return NDR_ERR_SUCCESS;
    1750             : }
    1751             : 
    1752         296 : static enum ndr_err_code ndr_pull_samr_AliasInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_AliasInfoAll *r)
    1753             : {
    1754         296 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1755         296 :         if (ndr_flags & NDR_SCALARS) {
    1756         148 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1757         148 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
    1758         148 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
    1759         148 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    1760         148 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1761             :         }
    1762         296 :         if (ndr_flags & NDR_BUFFERS) {
    1763         148 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
    1764         148 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1765             :         }
    1766         296 :         return NDR_ERR_SUCCESS;
    1767             : }
    1768             : 
    1769           0 : _PUBLIC_ void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r)
    1770             : {
    1771           0 :         ndr_print_struct(ndr, name, "samr_AliasInfoAll");
    1772           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1773           0 :         ndr->depth++;
    1774           0 :         ndr_print_lsa_String(ndr, "name", &r->name);
    1775           0 :         ndr_print_uint32(ndr, "num_members", r->num_members);
    1776           0 :         ndr_print_lsa_String(ndr, "description", &r->description);
    1777           0 :         ndr->depth--;
    1778             : }
    1779             : 
    1780         926 : static enum ndr_err_code ndr_push_samr_AliasInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_AliasInfoEnum r)
    1781             : {
    1782         926 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
    1783         926 :         return NDR_ERR_SUCCESS;
    1784             : }
    1785             : 
    1786         454 : static enum ndr_err_code ndr_pull_samr_AliasInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_AliasInfoEnum *r)
    1787             : {
    1788             :         uint16_t v;
    1789         454 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
    1790         454 :         *r = v;
    1791         454 :         return NDR_ERR_SUCCESS;
    1792             : }
    1793             : 
    1794           0 : _PUBLIC_ void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r)
    1795             : {
    1796           0 :         const char *val = NULL;
    1797             : 
    1798           0 :         switch (r) {
    1799           0 :                 case ALIASINFOALL: val = "ALIASINFOALL"; break;
    1800           0 :                 case ALIASINFONAME: val = "ALIASINFONAME"; break;
    1801           0 :                 case ALIASINFODESCRIPTION: val = "ALIASINFODESCRIPTION"; break;
    1802             :         }
    1803           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    1804           0 : }
    1805             : 
    1806         454 : static enum ndr_err_code ndr_push_samr_AliasInfo(struct ndr_push *ndr, int ndr_flags, const union samr_AliasInfo *r)
    1807             : {
    1808             :         uint32_t level;
    1809         454 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1810         454 :         if (ndr_flags & NDR_SCALARS) {
    1811             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1812         454 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1813         454 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1814         454 :                 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, level));
    1815         454 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1816         454 :                 switch (level) {
    1817         142 :                         case ALIASINFOALL: {
    1818         142 :                                 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
    1819         142 :                         break; }
    1820             : 
    1821         156 :                         case ALIASINFONAME: {
    1822         156 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
    1823         156 :                         break; }
    1824             : 
    1825         156 :                         case ALIASINFODESCRIPTION: {
    1826         156 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    1827         156 :                         break; }
    1828             : 
    1829           0 :                         default:
    1830           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    1831             :                 }
    1832           0 :         }
    1833         454 :         if (ndr_flags & NDR_BUFFERS) {
    1834         454 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1835             :                         /* We didn't get it above, and the token is not needed after this. */
    1836           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1837             :                 }
    1838         454 :                 switch (level) {
    1839         142 :                         case ALIASINFOALL:
    1840         142 :                                 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
    1841         142 :                         break;
    1842             : 
    1843         156 :                         case ALIASINFONAME:
    1844         156 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
    1845         156 :                         break;
    1846             : 
    1847         156 :                         case ALIASINFODESCRIPTION:
    1848         156 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1849         156 :                         break;
    1850             : 
    1851           0 :                         default:
    1852           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    1853             :                 }
    1854           0 :         }
    1855         454 :         return NDR_ERR_SUCCESS;
    1856             : }
    1857             : 
    1858         472 : static enum ndr_err_code ndr_pull_samr_AliasInfo(struct ndr_pull *ndr, int ndr_flags, union samr_AliasInfo *r)
    1859             : {
    1860             :         uint32_t level;
    1861             :         uint16_t _level;
    1862         472 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1863         472 :         if (ndr_flags & NDR_SCALARS) {
    1864             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1865         472 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1866         472 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1867         472 :                 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
    1868         472 :                 if (_level != level) {
    1869           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    1870             :                 }
    1871         472 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1872         472 :                 switch (level) {
    1873         148 :                         case ALIASINFOALL: {
    1874         148 :                                 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
    1875         148 :                         break; }
    1876             : 
    1877         162 :                         case ALIASINFONAME: {
    1878         162 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
    1879         162 :                         break; }
    1880             : 
    1881         162 :                         case ALIASINFODESCRIPTION: {
    1882         162 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    1883         162 :                         break; }
    1884             : 
    1885           0 :                         default:
    1886           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    1887             :                 }
    1888           0 :         }
    1889         472 :         if (ndr_flags & NDR_BUFFERS) {
    1890         472 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1891             :                         /* We didn't get it above, and the token is not needed after this. */
    1892           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1893             :                 }
    1894         472 :                 switch (level) {
    1895         148 :                         case ALIASINFOALL:
    1896         148 :                                 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
    1897         148 :                         break;
    1898             : 
    1899         162 :                         case ALIASINFONAME:
    1900         162 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
    1901         162 :                         break;
    1902             : 
    1903         162 :                         case ALIASINFODESCRIPTION:
    1904         162 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1905         162 :                         break;
    1906             : 
    1907           0 :                         default:
    1908           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    1909             :                 }
    1910           0 :         }
    1911         472 :         return NDR_ERR_SUCCESS;
    1912             : }
    1913             : 
    1914           0 : _PUBLIC_ void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r)
    1915             : {
    1916             :         uint32_t level;
    1917           0 :         level = ndr_print_steal_switch_value(ndr, r);
    1918           0 :         ndr_print_union(ndr, name, level, "samr_AliasInfo");
    1919           0 :         switch (level) {
    1920           0 :                 case ALIASINFOALL:
    1921           0 :                         ndr_print_samr_AliasInfoAll(ndr, "all", &r->all);
    1922           0 :                 break;
    1923             : 
    1924           0 :                 case ALIASINFONAME:
    1925           0 :                         ndr_print_lsa_String(ndr, "name", &r->name);
    1926           0 :                 break;
    1927             : 
    1928           0 :                 case ALIASINFODESCRIPTION:
    1929           0 :                         ndr_print_lsa_String(ndr, "description", &r->description);
    1930           0 :                 break;
    1931             : 
    1932           0 :                 default:
    1933           0 :                         ndr_print_bad_level(ndr, name, level);
    1934             :         }
    1935           0 : }
    1936             : 
    1937       18197 : static enum ndr_err_code ndr_push_samr_UserInfoLevel(struct ndr_push *ndr, int ndr_flags, enum samr_UserInfoLevel r)
    1938             : {
    1939       18467 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
    1940       18197 :         return NDR_ERR_SUCCESS;
    1941             : }
    1942             : 
    1943       17518 : static enum ndr_err_code ndr_pull_samr_UserInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_UserInfoLevel *r)
    1944             : {
    1945             :         uint16_t v;
    1946       17796 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
    1947       17796 :         *r = v;
    1948       17518 :         return NDR_ERR_SUCCESS;
    1949             : }
    1950             : 
    1951           8 : _PUBLIC_ void ndr_print_samr_UserInfoLevel(struct ndr_print *ndr, const char *name, enum samr_UserInfoLevel r)
    1952             : {
    1953           8 :         const char *val = NULL;
    1954             : 
    1955           8 :         switch (r) {
    1956           0 :                 case UserGeneralInformation: val = "UserGeneralInformation"; break;
    1957           0 :                 case UserPreferencesInformation: val = "UserPreferencesInformation"; break;
    1958           0 :                 case UserLogonInformation: val = "UserLogonInformation"; break;
    1959           0 :                 case UserLogonHoursInformation: val = "UserLogonHoursInformation"; break;
    1960           0 :                 case UserAccountInformation: val = "UserAccountInformation"; break;
    1961           0 :                 case UserNameInformation: val = "UserNameInformation"; break;
    1962           0 :                 case UserAccountNameInformation: val = "UserAccountNameInformation"; break;
    1963           0 :                 case UserFullNameInformation: val = "UserFullNameInformation"; break;
    1964           0 :                 case UserPrimaryGroupInformation: val = "UserPrimaryGroupInformation"; break;
    1965           0 :                 case UserHomeInformation: val = "UserHomeInformation"; break;
    1966           0 :                 case UserScriptInformation: val = "UserScriptInformation"; break;
    1967           0 :                 case UserProfileInformation: val = "UserProfileInformation"; break;
    1968           0 :                 case UserAdminCommentInformation: val = "UserAdminCommentInformation"; break;
    1969           0 :                 case UserWorkStationsInformation: val = "UserWorkStationsInformation"; break;
    1970           6 :                 case UserControlInformation: val = "UserControlInformation"; break;
    1971           0 :                 case UserExpiresInformation: val = "UserExpiresInformation"; break;
    1972           0 :                 case UserInternal1Information: val = "UserInternal1Information"; break;
    1973           0 :                 case UserParametersInformation: val = "UserParametersInformation"; break;
    1974           0 :                 case UserAllInformation: val = "UserAllInformation"; break;
    1975           0 :                 case UserInternal4Information: val = "UserInternal4Information"; break;
    1976           0 :                 case UserInternal5Information: val = "UserInternal5Information"; break;
    1977           0 :                 case UserInternal4InformationNew: val = "UserInternal4InformationNew"; break;
    1978           2 :                 case UserInternal5InformationNew: val = "UserInternal5InformationNew"; break;
    1979             :         }
    1980           8 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    1981           8 : }
    1982             : 
    1983         556 : static enum ndr_err_code ndr_push_samr_UserInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo1 *r)
    1984             : {
    1985         556 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1986         556 :         if (ndr_flags & NDR_SCALARS) {
    1987         278 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1988         278 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    1989         278 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    1990         278 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
    1991         278 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    1992         278 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
    1993         278 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1994             :         }
    1995         556 :         if (ndr_flags & NDR_BUFFERS) {
    1996         278 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    1997         278 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    1998         278 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    1999         278 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
    2000             :         }
    2001         556 :         return NDR_ERR_SUCCESS;
    2002             : }
    2003             : 
    2004         558 : static enum ndr_err_code ndr_pull_samr_UserInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo1 *r)
    2005             : {
    2006         558 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2007         558 :         if (ndr_flags & NDR_SCALARS) {
    2008         279 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2009         279 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2010         279 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2011         279 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
    2012         279 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    2013         279 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
    2014         279 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2015             :         }
    2016         558 :         if (ndr_flags & NDR_BUFFERS) {
    2017         279 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2018         279 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2019         279 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    2020         279 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
    2021             :         }
    2022         558 :         return NDR_ERR_SUCCESS;
    2023             : }
    2024             : 
    2025          40 : _PUBLIC_ void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r)
    2026             : {
    2027          40 :         ndr_print_struct(ndr, name, "samr_UserInfo1");
    2028          40 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2029          40 :         ndr->depth++;
    2030          40 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    2031          40 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    2032          40 :         ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
    2033          40 :         ndr_print_lsa_String(ndr, "description", &r->description);
    2034          40 :         ndr_print_lsa_String(ndr, "comment", &r->comment);
    2035          40 :         ndr->depth--;
    2036             : }
    2037             : 
    2038         718 : static enum ndr_err_code ndr_push_samr_UserInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo2 *r)
    2039             : {
    2040         718 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2041         718 :         if (ndr_flags & NDR_SCALARS) {
    2042         359 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2043         359 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
    2044         359 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->reserved));
    2045         359 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
    2046         359 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
    2047         359 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2048             :         }
    2049         718 :         if (ndr_flags & NDR_BUFFERS) {
    2050         359 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
    2051         359 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->reserved));
    2052             :         }
    2053         718 :         return NDR_ERR_SUCCESS;
    2054             : }
    2055             : 
    2056         712 : static enum ndr_err_code ndr_pull_samr_UserInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo2 *r)
    2057             : {
    2058         712 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2059         712 :         if (ndr_flags & NDR_SCALARS) {
    2060         356 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2061         356 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
    2062         356 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->reserved));
    2063         356 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
    2064         356 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
    2065         356 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2066             :         }
    2067         712 :         if (ndr_flags & NDR_BUFFERS) {
    2068         356 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
    2069         356 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->reserved));
    2070             :         }
    2071         712 :         return NDR_ERR_SUCCESS;
    2072             : }
    2073             : 
    2074           6 : _PUBLIC_ void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r)
    2075             : {
    2076           6 :         ndr_print_struct(ndr, name, "samr_UserInfo2");
    2077           6 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2078           6 :         ndr->depth++;
    2079           6 :         ndr_print_lsa_String(ndr, "comment", &r->comment);
    2080           6 :         ndr_print_lsa_String(ndr, "reserved", &r->reserved);
    2081           6 :         ndr_print_uint16(ndr, "country_code", r->country_code);
    2082           6 :         ndr_print_uint16(ndr, "code_page", r->code_page);
    2083           6 :         ndr->depth--;
    2084             : }
    2085             : 
    2086       20846 : _PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r)
    2087             : {
    2088             :         {
    2089       20846 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2090       20846 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2091       20846 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2092       20846 :                 if (ndr_flags & NDR_SCALARS) {
    2093       10423 :                         NDR_CHECK(ndr_push_align(ndr, 5));
    2094       10423 :                         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->units_per_week));
    2095       10423 :                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->bits));
    2096       10423 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2097             :                 }
    2098       20846 :                 if (ndr_flags & NDR_BUFFERS) {
    2099       10423 :                         if (r->bits) {
    2100        7546 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1260));
    2101        7546 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2102        7546 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->units_per_week / 8));
    2103        7546 :                                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->bits, r->units_per_week / 8));
    2104             :                         }
    2105             :                 }
    2106       20846 :                 ndr->flags = _flags_save_STRUCT;
    2107             :         }
    2108       20846 :         return NDR_ERR_SUCCESS;
    2109             : }
    2110             : 
    2111       21406 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r)
    2112             : {
    2113             :         uint32_t _ptr_bits;
    2114       21406 :         uint32_t size_bits_1 = 0;
    2115       21406 :         uint32_t length_bits_1 = 0;
    2116       21406 :         TALLOC_CTX *_mem_save_bits_0 = NULL;
    2117             :         {
    2118       21406 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2119       21406 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2120       21406 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2121       21406 :                 if (ndr_flags & NDR_SCALARS) {
    2122       10703 :                         NDR_CHECK(ndr_pull_align(ndr, 5));
    2123       10703 :                         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->units_per_week));
    2124       10703 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bits));
    2125       10703 :                         if (_ptr_bits) {
    2126        7827 :                                 NDR_PULL_ALLOC(ndr, r->bits);
    2127             :                         } else {
    2128        2876 :                                 r->bits = NULL;
    2129             :                         }
    2130       10703 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2131             :                 }
    2132       21406 :                 if (ndr_flags & NDR_BUFFERS) {
    2133       10703 :                         if (r->bits) {
    2134        7827 :                                 _mem_save_bits_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2135        7827 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0);
    2136        7827 :                                 NDR_CHECK(ndr_pull_array_size(ndr, &r->bits));
    2137        7827 :                                 NDR_CHECK(ndr_pull_array_length(ndr, &r->bits));
    2138        7827 :                                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->bits, &size_bits_1));
    2139        7827 :                                 NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->bits, &length_bits_1));
    2140        7827 :                                 if (length_bits_1 > size_bits_1) {
    2141           0 :                                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_bits_1, length_bits_1);
    2142             :                                 }
    2143        7827 :                                 NDR_PULL_ALLOC_N(ndr, r->bits, size_bits_1);
    2144        7827 :                                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, length_bits_1));
    2145        7827 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0);
    2146             :                         }
    2147       10703 :                         if (r->bits) {
    2148        7827 :                                 NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->bits, 1260));
    2149             :                         }
    2150       10703 :                         if (r->bits) {
    2151        7827 :                                 NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->bits, r->units_per_week / 8));
    2152             :                         }
    2153             :                 }
    2154       21406 :                 ndr->flags = _flags_save_STRUCT;
    2155             :         }
    2156       21406 :         return NDR_ERR_SUCCESS;
    2157             : }
    2158             : 
    2159           0 : static void ndr_print_flags_samr_LogonHours(struct ndr_print *ndr, const char *name, int unused, const struct samr_LogonHours *r)
    2160             : {
    2161           0 :         ndr_print_samr_LogonHours(ndr, name, r);
    2162           0 : }
    2163             : 
    2164          90 : _PUBLIC_ void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r)
    2165             : {
    2166          90 :         ndr_print_struct(ndr, name, "samr_LogonHours");
    2167          90 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2168             :         {
    2169          90 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2170          90 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2171          90 :                 ndr->depth++;
    2172          90 :                 ndr_print_uint16(ndr, "units_per_week", r->units_per_week);
    2173          90 :                 ndr_print_ptr(ndr, "bits", r->bits);
    2174          90 :                 ndr->depth++;
    2175          90 :                 if (r->bits) {
    2176          90 :                         ndr_print_array_uint8(ndr, "bits", r->bits, r->units_per_week / 8);
    2177             :                 }
    2178          90 :                 ndr->depth--;
    2179          90 :                 ndr->depth--;
    2180          90 :                 ndr->flags = _flags_save_STRUCT;
    2181             :         }
    2182             : }
    2183             : 
    2184        3296 : static enum ndr_err_code ndr_push_samr_UserInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo3 *r)
    2185             : {
    2186        3296 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2187        3296 :         if (ndr_flags & NDR_SCALARS) {
    2188        1648 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2189        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2190        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2191        1648 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    2192        1648 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
    2193        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    2194        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    2195        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    2196        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    2197        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    2198        1648 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
    2199        1648 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
    2200        1648 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
    2201        1648 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
    2202        1648 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
    2203        1648 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    2204        1648 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
    2205        1648 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
    2206        1648 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
    2207        1648 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2208             :         }
    2209        3296 :         if (ndr_flags & NDR_BUFFERS) {
    2210        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2211        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2212        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    2213        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    2214        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    2215        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    2216        1648 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    2217        1648 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    2218             :         }
    2219        3296 :         return NDR_ERR_SUCCESS;
    2220             : }
    2221             : 
    2222        3296 : static enum ndr_err_code ndr_pull_samr_UserInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo3 *r)
    2223             : {
    2224        3296 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2225        3296 :         if (ndr_flags & NDR_SCALARS) {
    2226        1648 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2227        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2228        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2229        1648 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    2230        1648 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
    2231        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    2232        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    2233        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    2234        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    2235        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    2236        1648 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
    2237        1648 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
    2238        1648 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
    2239        1648 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
    2240        1648 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
    2241        1648 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    2242        1648 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
    2243        1648 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
    2244        1648 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
    2245        1648 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2246             :         }
    2247        3296 :         if (ndr_flags & NDR_BUFFERS) {
    2248        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2249        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2250        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    2251        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    2252        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    2253        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    2254        1648 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    2255        1648 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    2256             :         }
    2257        3296 :         return NDR_ERR_SUCCESS;
    2258             : }
    2259             : 
    2260           0 : _PUBLIC_ void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r)
    2261             : {
    2262           0 :         ndr_print_struct(ndr, name, "samr_UserInfo3");
    2263           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2264           0 :         ndr->depth++;
    2265           0 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    2266           0 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    2267           0 :         ndr_print_uint32(ndr, "rid", r->rid);
    2268           0 :         ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
    2269           0 :         ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
    2270           0 :         ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
    2271           0 :         ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
    2272           0 :         ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
    2273           0 :         ndr_print_lsa_String(ndr, "workstations", &r->workstations);
    2274           0 :         ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
    2275           0 :         ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
    2276           0 :         ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
    2277           0 :         ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
    2278           0 :         ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
    2279           0 :         ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
    2280           0 :         ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
    2281           0 :         ndr_print_uint16(ndr, "logon_count", r->logon_count);
    2282           0 :         ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
    2283           0 :         ndr->depth--;
    2284             : }
    2285             : 
    2286         456 : static enum ndr_err_code ndr_push_samr_UserInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo4 *r)
    2287             : {
    2288         456 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2289         456 :         if (ndr_flags & NDR_SCALARS) {
    2290         228 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2291         228 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    2292         228 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2293             :         }
    2294         456 :         if (ndr_flags & NDR_BUFFERS) {
    2295         228 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    2296             :         }
    2297         456 :         return NDR_ERR_SUCCESS;
    2298             : }
    2299             : 
    2300         456 : static enum ndr_err_code ndr_pull_samr_UserInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo4 *r)
    2301             : {
    2302         456 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2303         456 :         if (ndr_flags & NDR_SCALARS) {
    2304         228 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2305         228 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    2306         228 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2307             :         }
    2308         456 :         if (ndr_flags & NDR_BUFFERS) {
    2309         228 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    2310             :         }
    2311         456 :         return NDR_ERR_SUCCESS;
    2312             : }
    2313             : 
    2314           0 : _PUBLIC_ void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r)
    2315             : {
    2316           0 :         ndr_print_struct(ndr, name, "samr_UserInfo4");
    2317           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2318           0 :         ndr->depth++;
    2319           0 :         ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
    2320           0 :         ndr->depth--;
    2321             : }
    2322             : 
    2323        3648 : static enum ndr_err_code ndr_push_samr_UserInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo5 *r)
    2324             : {
    2325        3648 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2326        3648 :         if (ndr_flags & NDR_SCALARS) {
    2327        1824 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2328        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2329        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2330        1824 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    2331        1824 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
    2332        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    2333        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    2334        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    2335        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    2336        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    2337        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    2338        1824 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
    2339        1824 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
    2340        1824 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    2341        1824 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
    2342        1824 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
    2343        1824 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
    2344        1824 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
    2345        1824 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
    2346        1824 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2347             :         }
    2348        3648 :         if (ndr_flags & NDR_BUFFERS) {
    2349        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2350        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2351        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    2352        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    2353        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    2354        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    2355        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    2356        1824 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    2357        1824 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    2358             :         }
    2359        3648 :         return NDR_ERR_SUCCESS;
    2360             : }
    2361             : 
    2362        3644 : static enum ndr_err_code ndr_pull_samr_UserInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo5 *r)
    2363             : {
    2364        3644 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2365        3644 :         if (ndr_flags & NDR_SCALARS) {
    2366        1822 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2367        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2368        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2369        1822 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    2370        1822 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
    2371        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    2372        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    2373        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    2374        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    2375        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    2376        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    2377        1822 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
    2378        1822 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
    2379        1822 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    2380        1822 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
    2381        1822 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
    2382        1822 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
    2383        1822 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
    2384        1822 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
    2385        1822 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2386             :         }
    2387        3644 :         if (ndr_flags & NDR_BUFFERS) {
    2388        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2389        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2390        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    2391        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    2392        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    2393        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    2394        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    2395        1822 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    2396        1822 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    2397             :         }
    2398        3644 :         return NDR_ERR_SUCCESS;
    2399             : }
    2400             : 
    2401           4 : _PUBLIC_ void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r)
    2402             : {
    2403           4 :         ndr_print_struct(ndr, name, "samr_UserInfo5");
    2404           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2405           4 :         ndr->depth++;
    2406           4 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    2407           4 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    2408           4 :         ndr_print_uint32(ndr, "rid", r->rid);
    2409           4 :         ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
    2410           4 :         ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
    2411           4 :         ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
    2412           4 :         ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
    2413           4 :         ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
    2414           4 :         ndr_print_lsa_String(ndr, "description", &r->description);
    2415           4 :         ndr_print_lsa_String(ndr, "workstations", &r->workstations);
    2416           4 :         ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
    2417           4 :         ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
    2418           4 :         ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
    2419           4 :         ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
    2420           4 :         ndr_print_uint16(ndr, "logon_count", r->logon_count);
    2421           4 :         ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
    2422           4 :         ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
    2423           4 :         ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
    2424           4 :         ndr->depth--;
    2425             : }
    2426             : 
    2427        1700 : static enum ndr_err_code ndr_push_samr_UserInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo6 *r)
    2428             : {
    2429        1700 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2430        1700 :         if (ndr_flags & NDR_SCALARS) {
    2431         850 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2432         850 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2433         850 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2434         850 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2435             :         }
    2436        1700 :         if (ndr_flags & NDR_BUFFERS) {
    2437         850 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2438         850 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2439             :         }
    2440        1700 :         return NDR_ERR_SUCCESS;
    2441             : }
    2442             : 
    2443        1700 : static enum ndr_err_code ndr_pull_samr_UserInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo6 *r)
    2444             : {
    2445        1700 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2446        1700 :         if (ndr_flags & NDR_SCALARS) {
    2447         850 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2448         850 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2449         850 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2450         850 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2451             :         }
    2452        1700 :         if (ndr_flags & NDR_BUFFERS) {
    2453         850 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2454         850 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2455             :         }
    2456        1700 :         return NDR_ERR_SUCCESS;
    2457             : }
    2458             : 
    2459           0 : _PUBLIC_ void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r)
    2460             : {
    2461           0 :         ndr_print_struct(ndr, name, "samr_UserInfo6");
    2462           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2463           0 :         ndr->depth++;
    2464           0 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    2465           0 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    2466           0 :         ndr->depth--;
    2467             : }
    2468             : 
    2469         836 : static enum ndr_err_code ndr_push_samr_UserInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo7 *r)
    2470             : {
    2471         836 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2472         836 :         if (ndr_flags & NDR_SCALARS) {
    2473         418 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2474         418 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2475         418 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2476             :         }
    2477         836 :         if (ndr_flags & NDR_BUFFERS) {
    2478         418 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2479             :         }
    2480         836 :         return NDR_ERR_SUCCESS;
    2481             : }
    2482             : 
    2483         836 : static enum ndr_err_code ndr_pull_samr_UserInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo7 *r)
    2484             : {
    2485         836 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2486         836 :         if (ndr_flags & NDR_SCALARS) {
    2487         418 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2488         418 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2489         418 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2490             :         }
    2491         836 :         if (ndr_flags & NDR_BUFFERS) {
    2492         418 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2493             :         }
    2494         836 :         return NDR_ERR_SUCCESS;
    2495             : }
    2496             : 
    2497           0 : _PUBLIC_ void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r)
    2498             : {
    2499           0 :         ndr_print_struct(ndr, name, "samr_UserInfo7");
    2500           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2501           0 :         ndr->depth++;
    2502           0 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    2503           0 :         ndr->depth--;
    2504             : }
    2505             : 
    2506         416 : static enum ndr_err_code ndr_push_samr_UserInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo8 *r)
    2507             : {
    2508         416 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2509         416 :         if (ndr_flags & NDR_SCALARS) {
    2510         208 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2511         208 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2512         208 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2513             :         }
    2514         416 :         if (ndr_flags & NDR_BUFFERS) {
    2515         208 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2516             :         }
    2517         416 :         return NDR_ERR_SUCCESS;
    2518             : }
    2519             : 
    2520         416 : static enum ndr_err_code ndr_pull_samr_UserInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo8 *r)
    2521             : {
    2522         416 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2523         416 :         if (ndr_flags & NDR_SCALARS) {
    2524         208 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2525         208 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2526         208 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2527             :         }
    2528         416 :         if (ndr_flags & NDR_BUFFERS) {
    2529         208 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2530             :         }
    2531         416 :         return NDR_ERR_SUCCESS;
    2532             : }
    2533             : 
    2534           0 : _PUBLIC_ void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r)
    2535             : {
    2536           0 :         ndr_print_struct(ndr, name, "samr_UserInfo8");
    2537           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2538           0 :         ndr->depth++;
    2539           0 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    2540           0 :         ndr->depth--;
    2541             : }
    2542             : 
    2543          36 : static enum ndr_err_code ndr_push_samr_UserInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo9 *r)
    2544             : {
    2545          36 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2546          36 :         if (ndr_flags & NDR_SCALARS) {
    2547          36 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2548          36 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
    2549          36 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2550             :         }
    2551          36 :         if (ndr_flags & NDR_BUFFERS) {
    2552             :         }
    2553          36 :         return NDR_ERR_SUCCESS;
    2554             : }
    2555             : 
    2556          36 : static enum ndr_err_code ndr_pull_samr_UserInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo9 *r)
    2557             : {
    2558          36 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2559          36 :         if (ndr_flags & NDR_SCALARS) {
    2560          36 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2561          36 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
    2562          36 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2563             :         }
    2564          36 :         if (ndr_flags & NDR_BUFFERS) {
    2565             :         }
    2566          36 :         return NDR_ERR_SUCCESS;
    2567             : }
    2568             : 
    2569           0 : _PUBLIC_ void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r)
    2570             : {
    2571           0 :         ndr_print_struct(ndr, name, "samr_UserInfo9");
    2572           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2573           0 :         ndr->depth++;
    2574           0 :         ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
    2575           0 :         ndr->depth--;
    2576             : }
    2577             : 
    2578        1016 : static enum ndr_err_code ndr_push_samr_UserInfo10(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo10 *r)
    2579             : {
    2580        1016 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2581        1016 :         if (ndr_flags & NDR_SCALARS) {
    2582         508 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2583         508 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    2584         508 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    2585         508 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2586             :         }
    2587        1016 :         if (ndr_flags & NDR_BUFFERS) {
    2588         508 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    2589         508 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    2590             :         }
    2591        1016 :         return NDR_ERR_SUCCESS;
    2592             : }
    2593             : 
    2594         992 : static enum ndr_err_code ndr_pull_samr_UserInfo10(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo10 *r)
    2595             : {
    2596         992 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2597         992 :         if (ndr_flags & NDR_SCALARS) {
    2598         496 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2599         496 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    2600         496 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    2601         496 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2602             :         }
    2603         992 :         if (ndr_flags & NDR_BUFFERS) {
    2604         496 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    2605         496 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    2606             :         }
    2607         992 :         return NDR_ERR_SUCCESS;
    2608             : }
    2609             : 
    2610          24 : _PUBLIC_ void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r)
    2611             : {
    2612          24 :         ndr_print_struct(ndr, name, "samr_UserInfo10");
    2613          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2614          24 :         ndr->depth++;
    2615          24 :         ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
    2616          24 :         ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
    2617          24 :         ndr->depth--;
    2618             : }
    2619             : 
    2620         464 : static enum ndr_err_code ndr_push_samr_UserInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo11 *r)
    2621             : {
    2622         464 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2623         464 :         if (ndr_flags & NDR_SCALARS) {
    2624         232 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2625         232 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    2626         232 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2627             :         }
    2628         464 :         if (ndr_flags & NDR_BUFFERS) {
    2629         232 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    2630             :         }
    2631         464 :         return NDR_ERR_SUCCESS;
    2632             : }
    2633             : 
    2634         464 : static enum ndr_err_code ndr_pull_samr_UserInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo11 *r)
    2635             : {
    2636         464 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2637         464 :         if (ndr_flags & NDR_SCALARS) {
    2638         232 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2639         232 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    2640         232 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2641             :         }
    2642         464 :         if (ndr_flags & NDR_BUFFERS) {
    2643         232 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    2644             :         }
    2645         464 :         return NDR_ERR_SUCCESS;
    2646             : }
    2647             : 
    2648           0 : _PUBLIC_ void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r)
    2649             : {
    2650           0 :         ndr_print_struct(ndr, name, "samr_UserInfo11");
    2651           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2652           0 :         ndr->depth++;
    2653           0 :         ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
    2654           0 :         ndr->depth--;
    2655             : }
    2656             : 
    2657         528 : static enum ndr_err_code ndr_push_samr_UserInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo12 *r)
    2658             : {
    2659         528 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2660         528 :         if (ndr_flags & NDR_SCALARS) {
    2661         264 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2662         264 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    2663         264 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2664             :         }
    2665         528 :         if (ndr_flags & NDR_BUFFERS) {
    2666         264 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    2667             :         }
    2668         528 :         return NDR_ERR_SUCCESS;
    2669             : }
    2670             : 
    2671         528 : static enum ndr_err_code ndr_pull_samr_UserInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo12 *r)
    2672             : {
    2673         528 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2674         528 :         if (ndr_flags & NDR_SCALARS) {
    2675         264 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2676         264 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    2677         264 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2678             :         }
    2679         528 :         if (ndr_flags & NDR_BUFFERS) {
    2680         264 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    2681             :         }
    2682         528 :         return NDR_ERR_SUCCESS;
    2683             : }
    2684             : 
    2685           0 : _PUBLIC_ void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r)
    2686             : {
    2687           0 :         ndr_print_struct(ndr, name, "samr_UserInfo12");
    2688           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2689           0 :         ndr->depth++;
    2690           0 :         ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
    2691           0 :         ndr->depth--;
    2692             : }
    2693             : 
    2694         476 : static enum ndr_err_code ndr_push_samr_UserInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo13 *r)
    2695             : {
    2696         476 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2697         476 :         if (ndr_flags & NDR_SCALARS) {
    2698         238 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2699         238 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    2700         238 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2701             :         }
    2702         476 :         if (ndr_flags & NDR_BUFFERS) {
    2703         238 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    2704             :         }
    2705         476 :         return NDR_ERR_SUCCESS;
    2706             : }
    2707             : 
    2708         476 : static enum ndr_err_code ndr_pull_samr_UserInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo13 *r)
    2709             : {
    2710         476 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2711         476 :         if (ndr_flags & NDR_SCALARS) {
    2712         238 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2713         238 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    2714         238 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2715             :         }
    2716         476 :         if (ndr_flags & NDR_BUFFERS) {
    2717         238 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    2718             :         }
    2719         476 :         return NDR_ERR_SUCCESS;
    2720             : }
    2721             : 
    2722           0 : _PUBLIC_ void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r)
    2723             : {
    2724           0 :         ndr_print_struct(ndr, name, "samr_UserInfo13");
    2725           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2726           0 :         ndr->depth++;
    2727           0 :         ndr_print_lsa_String(ndr, "description", &r->description);
    2728           0 :         ndr->depth--;
    2729             : }
    2730             : 
    2731         488 : static enum ndr_err_code ndr_push_samr_UserInfo14(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo14 *r)
    2732             : {
    2733         488 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2734         488 :         if (ndr_flags & NDR_SCALARS) {
    2735         244 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2736         244 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    2737         244 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2738             :         }
    2739         488 :         if (ndr_flags & NDR_BUFFERS) {
    2740         244 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    2741             :         }
    2742         488 :         return NDR_ERR_SUCCESS;
    2743             : }
    2744             : 
    2745         488 : static enum ndr_err_code ndr_pull_samr_UserInfo14(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo14 *r)
    2746             : {
    2747         488 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2748         488 :         if (ndr_flags & NDR_SCALARS) {
    2749         244 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2750         244 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    2751         244 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2752             :         }
    2753         488 :         if (ndr_flags & NDR_BUFFERS) {
    2754         244 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    2755             :         }
    2756         488 :         return NDR_ERR_SUCCESS;
    2757             : }
    2758             : 
    2759           0 : _PUBLIC_ void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r)
    2760             : {
    2761           0 :         ndr_print_struct(ndr, name, "samr_UserInfo14");
    2762           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2763           0 :         ndr->depth++;
    2764           0 :         ndr_print_lsa_String(ndr, "workstations", &r->workstations);
    2765           0 :         ndr->depth--;
    2766             : }
    2767             : 
    2768        2932 : static enum ndr_err_code ndr_push_samr_UserInfo16(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo16 *r)
    2769             : {
    2770        2932 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2771        2932 :         if (ndr_flags & NDR_SCALARS) {
    2772        2932 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2773        2932 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
    2774        2932 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2775             :         }
    2776        2824 :         if (ndr_flags & NDR_BUFFERS) {
    2777             :         }
    2778        2932 :         return NDR_ERR_SUCCESS;
    2779             : }
    2780             : 
    2781        3112 : static enum ndr_err_code ndr_pull_samr_UserInfo16(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo16 *r)
    2782             : {
    2783        3112 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2784        3112 :         if (ndr_flags & NDR_SCALARS) {
    2785        3112 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2786        3112 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
    2787        3112 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2788             :         }
    2789        3018 :         if (ndr_flags & NDR_BUFFERS) {
    2790             :         }
    2791        3112 :         return NDR_ERR_SUCCESS;
    2792             : }
    2793             : 
    2794         272 : _PUBLIC_ void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r)
    2795             : {
    2796         272 :         ndr_print_struct(ndr, name, "samr_UserInfo16");
    2797         272 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2798         272 :         ndr->depth++;
    2799         272 :         ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
    2800         272 :         ndr->depth--;
    2801             : }
    2802             : 
    2803         202 : static enum ndr_err_code ndr_push_samr_UserInfo17(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo17 *r)
    2804             : {
    2805         202 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2806         202 :         if (ndr_flags & NDR_SCALARS) {
    2807         202 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2808         202 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
    2809         202 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2810             :         }
    2811         202 :         if (ndr_flags & NDR_BUFFERS) {
    2812             :         }
    2813         202 :         return NDR_ERR_SUCCESS;
    2814             : }
    2815             : 
    2816         202 : static enum ndr_err_code ndr_pull_samr_UserInfo17(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo17 *r)
    2817             : {
    2818         202 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2819         202 :         if (ndr_flags & NDR_SCALARS) {
    2820         202 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2821         202 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
    2822         202 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2823             :         }
    2824         202 :         if (ndr_flags & NDR_BUFFERS) {
    2825             :         }
    2826         202 :         return NDR_ERR_SUCCESS;
    2827             : }
    2828             : 
    2829           0 : _PUBLIC_ void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r)
    2830             : {
    2831           0 :         ndr_print_struct(ndr, name, "samr_UserInfo17");
    2832           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2833           0 :         ndr->depth++;
    2834           0 :         ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
    2835           0 :         ndr->depth--;
    2836             : }
    2837             : 
    2838        3435 : _PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r)
    2839             : {
    2840             :         {
    2841        3435 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2842        3435 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2843        3435 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2844        3435 :                 if (ndr_flags & NDR_SCALARS) {
    2845        3435 :                         NDR_CHECK(ndr_push_align(ndr, 1));
    2846        3435 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
    2847        3435 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    2848             :                 }
    2849        3386 :                 if (ndr_flags & NDR_BUFFERS) {
    2850             :                 }
    2851        3435 :                 ndr->flags = _flags_save_STRUCT;
    2852             :         }
    2853        3435 :         return NDR_ERR_SUCCESS;
    2854             : }
    2855             : 
    2856        9104 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r)
    2857             : {
    2858        9104 :         uint32_t size_hash_0 = 0;
    2859             :         {
    2860        9104 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2861        9104 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2862        9104 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2863        9104 :                 if (ndr_flags & NDR_SCALARS) {
    2864        9104 :                         NDR_CHECK(ndr_pull_align(ndr, 1));
    2865        9104 :                         size_hash_0 = 16;
    2866        9104 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, size_hash_0));
    2867        9104 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    2868             :                 }
    2869        9041 :                 if (ndr_flags & NDR_BUFFERS) {
    2870             :                 }
    2871        9104 :                 ndr->flags = _flags_save_STRUCT;
    2872             :         }
    2873        9104 :         return NDR_ERR_SUCCESS;
    2874             : }
    2875             : 
    2876           0 : static void ndr_print_flags_samr_Password(struct ndr_print *ndr, const char *name, int unused, const struct samr_Password *r)
    2877             : {
    2878           0 :         ndr_print_samr_Password(ndr, name, r);
    2879           0 : }
    2880             : 
    2881         208 : _PUBLIC_ void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r)
    2882             : {
    2883         208 :         ndr_print_struct(ndr, name, "samr_Password");
    2884         208 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2885             :         {
    2886         208 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2887         208 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2888         208 :                 ndr->depth++;
    2889         208 :                 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
    2890         208 :                 ndr->depth--;
    2891         208 :                 ndr->flags = _flags_save_STRUCT;
    2892             :         }
    2893             : }
    2894             : 
    2895         126 : static enum ndr_err_code ndr_push_samr_UserInfo18(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo18 *r)
    2896             : {
    2897         126 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2898         126 :         if (ndr_flags & NDR_SCALARS) {
    2899         126 :                 NDR_CHECK(ndr_push_align(ndr, 1));
    2900         126 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
    2901         126 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
    2902         126 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_pwd_active));
    2903         126 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_pwd_active));
    2904         126 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
    2905         126 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    2906             :         }
    2907         126 :         if (ndr_flags & NDR_BUFFERS) {
    2908             :         }
    2909         126 :         return NDR_ERR_SUCCESS;
    2910             : }
    2911             : 
    2912         126 : static enum ndr_err_code ndr_pull_samr_UserInfo18(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo18 *r)
    2913             : {
    2914         126 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2915         126 :         if (ndr_flags & NDR_SCALARS) {
    2916         126 :                 NDR_CHECK(ndr_pull_align(ndr, 1));
    2917         126 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
    2918         126 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
    2919         126 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_pwd_active));
    2920         126 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_pwd_active));
    2921         126 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
    2922         126 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    2923             :         }
    2924         126 :         if (ndr_flags & NDR_BUFFERS) {
    2925             :         }
    2926         126 :         return NDR_ERR_SUCCESS;
    2927             : }
    2928             : 
    2929           0 : _PUBLIC_ void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r)
    2930             : {
    2931           0 :         ndr_print_struct(ndr, name, "samr_UserInfo18");
    2932           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2933           0 :         ndr->depth++;
    2934           0 :         ndr_print_samr_Password(ndr, "nt_pwd", &r->nt_pwd);
    2935           0 :         ndr_print_samr_Password(ndr, "lm_pwd", &r->lm_pwd);
    2936           0 :         ndr_print_uint8(ndr, "nt_pwd_active", r->nt_pwd_active);
    2937           0 :         ndr_print_uint8(ndr, "lm_pwd_active", r->lm_pwd_active);
    2938           0 :         ndr_print_uint8(ndr, "password_expired", r->password_expired);
    2939           0 :         ndr->depth--;
    2940             : }
    2941             : 
    2942         392 : static enum ndr_err_code ndr_push_samr_UserInfo20(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo20 *r)
    2943             : {
    2944         392 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2945         392 :         if (ndr_flags & NDR_SCALARS) {
    2946         196 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2947         196 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
    2948         196 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2949             :         }
    2950         392 :         if (ndr_flags & NDR_BUFFERS) {
    2951         196 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
    2952             :         }
    2953         392 :         return NDR_ERR_SUCCESS;
    2954             : }
    2955             : 
    2956         392 : static enum ndr_err_code ndr_pull_samr_UserInfo20(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo20 *r)
    2957             : {
    2958         392 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2959         392 :         if (ndr_flags & NDR_SCALARS) {
    2960         196 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2961         196 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
    2962         196 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2963             :         }
    2964         392 :         if (ndr_flags & NDR_BUFFERS) {
    2965         196 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
    2966             :         }
    2967         392 :         return NDR_ERR_SUCCESS;
    2968             : }
    2969             : 
    2970           0 : _PUBLIC_ void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r)
    2971             : {
    2972           0 :         ndr_print_struct(ndr, name, "samr_UserInfo20");
    2973           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2974           0 :         ndr->depth++;
    2975           0 :         ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
    2976           0 :         ndr->depth--;
    2977             : }
    2978             : 
    2979        6543 : static enum ndr_err_code ndr_push_samr_FieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    2980             : {
    2981        6723 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    2982        6543 :         return NDR_ERR_SUCCESS;
    2983             : }
    2984             : 
    2985        6825 : static enum ndr_err_code ndr_pull_samr_FieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    2986             : {
    2987             :         uint32_t v;
    2988        7005 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    2989        7005 :         *r = v;
    2990        6825 :         return NDR_ERR_SUCCESS;
    2991             : }
    2992             : 
    2993          86 : _PUBLIC_ void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
    2994             : {
    2995          86 :         ndr_print_uint32(ndr, name, r);
    2996          86 :         ndr->depth++;
    2997          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME, r);
    2998          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME, r);
    2999          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID, r);
    3000          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID, r);
    3001          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION, r);
    3002          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT, r);
    3003          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY, r);
    3004          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE, r);
    3005          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT, r);
    3006          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH, r);
    3007          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS, r);
    3008          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON, r);
    3009          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF, r);
    3010          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS, r);
    3011          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT, r);
    3012          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS, r);
    3013          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE, r);
    3014          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE, r);
    3015          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE, r);
    3016          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY, r);
    3017          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS, r);
    3018          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS, r);
    3019          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE, r);
    3020          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE, r);
    3021          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT, r);
    3022          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT, r);
    3023          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA, r);
    3024          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG, r);
    3025          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC, r);
    3026          86 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD, r);
    3027          86 :         ndr->depth--;
    3028          86 : }
    3029             : 
    3030       13446 : static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo21 *r)
    3031             : {
    3032       13446 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3033       13446 :         if (ndr_flags & NDR_SCALARS) {
    3034        6723 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3035        6723 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
    3036        6723 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
    3037        6723 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
    3038        6723 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
    3039        6723 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
    3040        6723 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
    3041        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    3042        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    3043        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    3044        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    3045        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    3046        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    3047        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    3048        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    3049        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
    3050        6723 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
    3051        6723 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
    3052        6723 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
    3053        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->private_data));
    3054        6723 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
    3055        6723 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
    3056        6723 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    3057        6723 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
    3058        6723 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
    3059        6903 :                 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr, NDR_SCALARS, r->fields_present));
    3060        6723 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    3061        6723 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
    3062        6723 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
    3063        6723 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
    3064        6723 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
    3065        6723 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_set));
    3066        6723 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_set));
    3067        6723 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
    3068        6723 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->private_data_sensitive));
    3069        6723 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3070             :         }
    3071       13446 :         if (ndr_flags & NDR_BUFFERS) {
    3072        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    3073        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    3074        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    3075        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    3076        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    3077        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    3078        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    3079        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    3080        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
    3081        6723 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
    3082        6723 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
    3083        6723 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
    3084        6723 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->private_data));
    3085        6723 :                 if (r->buffer) {
    3086           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_count));
    3087           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_count));
    3088             :                 }
    3089        6723 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    3090             :         }
    3091       13086 :         return NDR_ERR_SUCCESS;
    3092             : }
    3093             : 
    3094       14010 : static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r)
    3095             : {
    3096             :         uint32_t _ptr_buffer;
    3097       14010 :         uint32_t size_buffer_1 = 0;
    3098       14010 :         TALLOC_CTX *_mem_save_buffer_0 = NULL;
    3099       14010 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3100       14010 :         if (ndr_flags & NDR_SCALARS) {
    3101        7005 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3102        7005 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
    3103        7005 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
    3104        7005 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
    3105        7005 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
    3106        7005 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
    3107        7005 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
    3108        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    3109        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    3110        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    3111        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    3112        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    3113        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    3114        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    3115        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    3116        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
    3117        7005 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
    3118        7005 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
    3119        7005 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
    3120        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->private_data));
    3121        7005 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_count));
    3122        7005 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
    3123        7005 :                 if (_ptr_buffer) {
    3124           0 :                         NDR_PULL_ALLOC(ndr, r->buffer);
    3125             :                 } else {
    3126        7005 :                         r->buffer = NULL;
    3127             :                 }
    3128        7005 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    3129        7005 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
    3130        7005 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
    3131        7185 :                 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
    3132        7005 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    3133        7005 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
    3134        7005 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
    3135        7005 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
    3136        7005 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
    3137        7005 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_set));
    3138        7005 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_set));
    3139        7005 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
    3140        7005 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->private_data_sensitive));
    3141        7005 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3142             :         }
    3143       14010 :         if (ndr_flags & NDR_BUFFERS) {
    3144        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    3145        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    3146        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    3147        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    3148        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    3149        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    3150        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    3151        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    3152        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
    3153        7005 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
    3154        7005 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
    3155        7005 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
    3156        7005 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->private_data));
    3157        7005 :                 if (r->buffer) {
    3158           0 :                         _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3159           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
    3160           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
    3161           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->buffer, &size_buffer_1));
    3162           0 :                         NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
    3163           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
    3164           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
    3165             :                 }
    3166        7005 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    3167        7005 :                 if (r->buffer) {
    3168           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->buffer, r->buf_count));
    3169             :                 }
    3170             :         }
    3171       13650 :         return NDR_ERR_SUCCESS;
    3172             : }
    3173             : 
    3174          86 : _PUBLIC_ void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r)
    3175             : {
    3176          86 :         ndr_print_struct(ndr, name, "samr_UserInfo21");
    3177          86 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3178          86 :         ndr->depth++;
    3179          86 :         ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
    3180          86 :         ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
    3181          86 :         ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
    3182          86 :         ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
    3183          86 :         ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
    3184          86 :         ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
    3185          86 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    3186          86 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    3187          86 :         ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
    3188          86 :         ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
    3189          86 :         ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
    3190          86 :         ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
    3191          86 :         ndr_print_lsa_String(ndr, "description", &r->description);
    3192          86 :         ndr_print_lsa_String(ndr, "workstations", &r->workstations);
    3193          86 :         ndr_print_lsa_String(ndr, "comment", &r->comment);
    3194          86 :         ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
    3195          86 :         ndr_print_lsa_BinaryString(ndr, "lm_owf_password", &r->lm_owf_password);
    3196          86 :         ndr_print_lsa_BinaryString(ndr, "nt_owf_password", &r->nt_owf_password);
    3197          86 :         ndr_print_lsa_String(ndr, "private_data", &r->private_data);
    3198          86 :         ndr_print_uint32(ndr, "buf_count", r->buf_count);
    3199          86 :         ndr_print_ptr(ndr, "buffer", r->buffer);
    3200          86 :         ndr->depth++;
    3201          86 :         if (r->buffer) {
    3202           0 :                 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_count);
    3203             :         }
    3204          86 :         ndr->depth--;
    3205          86 :         ndr_print_uint32(ndr, "rid", r->rid);
    3206          86 :         ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
    3207          86 :         ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
    3208          86 :         ndr_print_samr_FieldsPresent(ndr, "fields_present", r->fields_present);
    3209          86 :         ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
    3210          86 :         ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
    3211          86 :         ndr_print_uint16(ndr, "logon_count", r->logon_count);
    3212          86 :         ndr_print_uint16(ndr, "country_code", r->country_code);
    3213          86 :         ndr_print_uint16(ndr, "code_page", r->code_page);
    3214          86 :         ndr_print_uint8(ndr, "lm_password_set", r->lm_password_set);
    3215          86 :         ndr_print_uint8(ndr, "nt_password_set", r->nt_password_set);
    3216          86 :         ndr_print_uint8(ndr, "password_expired", r->password_expired);
    3217          86 :         ndr_print_uint8(ndr, "private_data_sensitive", r->private_data_sensitive);
    3218          86 :         ndr->depth--;
    3219             : }
    3220             : 
    3221        1896 : _PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *r)
    3222             : {
    3223             :         {
    3224        1896 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    3225        1896 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3226        1896 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3227        1896 :                 if (ndr_flags & NDR_SCALARS) {
    3228        1896 :                         NDR_CHECK(ndr_push_align(ndr, 1));
    3229        1896 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 516));
    3230        1896 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    3231             :                 }
    3232        1896 :                 if (ndr_flags & NDR_BUFFERS) {
    3233             :                 }
    3234        1896 :                 ndr->flags = _flags_save_STRUCT;
    3235             :         }
    3236        1896 :         return NDR_ERR_SUCCESS;
    3237             : }
    3238             : 
    3239        1926 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r)
    3240             : {
    3241        1926 :         uint32_t size_data_0 = 0;
    3242             :         {
    3243        1926 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    3244        1926 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3245        1926 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3246        1926 :                 if (ndr_flags & NDR_SCALARS) {
    3247        1926 :                         NDR_CHECK(ndr_pull_align(ndr, 1));
    3248        1926 :                         size_data_0 = 516;
    3249        1926 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
    3250        1926 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    3251             :                 }
    3252        1922 :                 if (ndr_flags & NDR_BUFFERS) {
    3253             :                 }
    3254        1926 :                 ndr->flags = _flags_save_STRUCT;
    3255             :         }
    3256        1926 :         return NDR_ERR_SUCCESS;
    3257             : }
    3258             : 
    3259           0 : static void ndr_print_flags_samr_CryptPassword(struct ndr_print *ndr, const char *name, int unused, const struct samr_CryptPassword *r)
    3260             : {
    3261           0 :         ndr_print_samr_CryptPassword(ndr, name, r);
    3262           0 : }
    3263             : 
    3264           4 : _PUBLIC_ void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r)
    3265             : {
    3266           4 :         ndr_print_struct(ndr, name, "samr_CryptPassword");
    3267           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3268             :         {
    3269           4 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    3270           4 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3271           4 :                 ndr->depth++;
    3272           4 :                 ndr_print_array_uint8(ndr, "data", r->data, 516);
    3273           4 :                 ndr->depth--;
    3274           4 :                 ndr->flags = _flags_save_STRUCT;
    3275             :         }
    3276             : }
    3277             : 
    3278         104 : static enum ndr_err_code ndr_push_samr_UserInfo23(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo23 *r)
    3279             : {
    3280         104 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3281         104 :         if (ndr_flags & NDR_SCALARS) {
    3282          52 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3283          52 :                 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
    3284          52 :                 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
    3285          52 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3286             :         }
    3287         104 :         if (ndr_flags & NDR_BUFFERS) {
    3288          52 :                 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
    3289             :         }
    3290         104 :         return NDR_ERR_SUCCESS;
    3291             : }
    3292             : 
    3293         104 : static enum ndr_err_code ndr_pull_samr_UserInfo23(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo23 *r)
    3294             : {
    3295         104 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3296         104 :         if (ndr_flags & NDR_SCALARS) {
    3297          52 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3298          52 :                 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
    3299          52 :                 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
    3300          52 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3301             :         }
    3302         104 :         if (ndr_flags & NDR_BUFFERS) {
    3303          52 :                 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
    3304             :         }
    3305         104 :         return NDR_ERR_SUCCESS;
    3306             : }
    3307             : 
    3308           0 : _PUBLIC_ void ndr_print_samr_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r)
    3309             : {
    3310           0 :         ndr_print_struct(ndr, name, "samr_UserInfo23");
    3311           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3312           0 :         ndr->depth++;
    3313           0 :         ndr_print_samr_UserInfo21(ndr, "info", &r->info);
    3314           0 :         ndr_print_samr_CryptPassword(ndr, "password", &r->password);
    3315           0 :         ndr->depth--;
    3316             : }
    3317             : 
    3318         405 : static enum ndr_err_code ndr_push_samr_UserInfo24(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo24 *r)
    3319             : {
    3320         405 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3321         405 :         if (ndr_flags & NDR_SCALARS) {
    3322         405 :                 NDR_CHECK(ndr_push_align(ndr, 1));
    3323         405 :                 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
    3324         405 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
    3325         405 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    3326             :         }
    3327         405 :         if (ndr_flags & NDR_BUFFERS) {
    3328             :         }
    3329         405 :         return NDR_ERR_SUCCESS;
    3330             : }
    3331             : 
    3332         405 : static enum ndr_err_code ndr_pull_samr_UserInfo24(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo24 *r)
    3333             : {
    3334         405 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3335         405 :         if (ndr_flags & NDR_SCALARS) {
    3336         405 :                 NDR_CHECK(ndr_pull_align(ndr, 1));
    3337         405 :                 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
    3338         405 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
    3339         405 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    3340             :         }
    3341         405 :         if (ndr_flags & NDR_BUFFERS) {
    3342             :         }
    3343         405 :         return NDR_ERR_SUCCESS;
    3344             : }
    3345             : 
    3346           0 : _PUBLIC_ void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r)
    3347             : {
    3348           0 :         ndr_print_struct(ndr, name, "samr_UserInfo24");
    3349           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3350           0 :         ndr->depth++;
    3351           0 :         ndr_print_samr_CryptPassword(ndr, "password", &r->password);
    3352           0 :         ndr_print_uint8(ndr, "password_expired", r->password_expired);
    3353           0 :         ndr->depth--;
    3354             : }
    3355             : 
    3356         854 : static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPasswordEx *r)
    3357             : {
    3358             :         {
    3359         854 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    3360         854 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3361         854 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3362         854 :                 if (ndr_flags & NDR_SCALARS) {
    3363         854 :                         NDR_CHECK(ndr_push_align(ndr, 1));
    3364         854 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 532));
    3365         854 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    3366             :                 }
    3367         764 :                 if (ndr_flags & NDR_BUFFERS) {
    3368             :                 }
    3369         854 :                 ndr->flags = _flags_save_STRUCT;
    3370             :         }
    3371         854 :         return NDR_ERR_SUCCESS;
    3372             : }
    3373             : 
    3374         848 : static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r)
    3375             : {
    3376         848 :         uint32_t size_data_0 = 0;
    3377             :         {
    3378         848 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    3379         848 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3380         848 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3381         848 :                 if (ndr_flags & NDR_SCALARS) {
    3382         848 :                         NDR_CHECK(ndr_pull_align(ndr, 1));
    3383         848 :                         size_data_0 = 532;
    3384         848 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
    3385         848 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    3386             :                 }
    3387         756 :                 if (ndr_flags & NDR_BUFFERS) {
    3388             :                 }
    3389         848 :                 ndr->flags = _flags_save_STRUCT;
    3390             :         }
    3391         848 :         return NDR_ERR_SUCCESS;
    3392             : }
    3393             : 
    3394           2 : _PUBLIC_ void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r)
    3395             : {
    3396           2 :         ndr_print_struct(ndr, name, "samr_CryptPasswordEx");
    3397           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3398             :         {
    3399           2 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    3400           2 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3401           2 :                 ndr->depth++;
    3402           2 :                 ndr_print_array_uint8(ndr, "data", r->data, 532);
    3403           2 :                 ndr->depth--;
    3404           2 :                 ndr->flags = _flags_save_STRUCT;
    3405             :         }
    3406             : }
    3407             : 
    3408        1512 : static enum ndr_err_code ndr_push_samr_UserInfo25(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo25 *r)
    3409             : {
    3410        1512 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3411        1512 :         if (ndr_flags & NDR_SCALARS) {
    3412         756 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3413         756 :                 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
    3414         756 :                 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
    3415         756 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3416             :         }
    3417        1512 :         if (ndr_flags & NDR_BUFFERS) {
    3418         756 :                 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
    3419             :         }
    3420        1332 :         return NDR_ERR_SUCCESS;
    3421             : }
    3422             : 
    3423        1510 : static enum ndr_err_code ndr_pull_samr_UserInfo25(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo25 *r)
    3424             : {
    3425        1510 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3426        1510 :         if (ndr_flags & NDR_SCALARS) {
    3427         755 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3428         755 :                 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
    3429         755 :                 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
    3430         755 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3431             :         }
    3432        1510 :         if (ndr_flags & NDR_BUFFERS) {
    3433         755 :                 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
    3434             :         }
    3435        1330 :         return NDR_ERR_SUCCESS;
    3436             : }
    3437             : 
    3438           0 : _PUBLIC_ void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r)
    3439             : {
    3440           0 :         ndr_print_struct(ndr, name, "samr_UserInfo25");
    3441           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3442           0 :         ndr->depth++;
    3443           0 :         ndr_print_samr_UserInfo21(ndr, "info", &r->info);
    3444           0 :         ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
    3445           0 :         ndr->depth--;
    3446             : }
    3447             : 
    3448          98 : static enum ndr_err_code ndr_push_samr_UserInfo26(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo26 *r)
    3449             : {
    3450          98 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3451          98 :         if (ndr_flags & NDR_SCALARS) {
    3452          98 :                 NDR_CHECK(ndr_push_align(ndr, 1));
    3453          98 :                 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
    3454          98 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
    3455          98 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    3456             :         }
    3457          98 :         if (ndr_flags & NDR_BUFFERS) {
    3458             :         }
    3459          98 :         return NDR_ERR_SUCCESS;
    3460             : }
    3461             : 
    3462          93 : static enum ndr_err_code ndr_pull_samr_UserInfo26(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo26 *r)
    3463             : {
    3464          93 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3465          93 :         if (ndr_flags & NDR_SCALARS) {
    3466          93 :                 NDR_CHECK(ndr_pull_align(ndr, 1));
    3467          93 :                 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
    3468          93 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
    3469          93 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    3470             :         }
    3471          91 :         if (ndr_flags & NDR_BUFFERS) {
    3472             :         }
    3473          93 :         return NDR_ERR_SUCCESS;
    3474             : }
    3475             : 
    3476           2 : _PUBLIC_ void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r)
    3477             : {
    3478           2 :         ndr_print_struct(ndr, name, "samr_UserInfo26");
    3479           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3480           2 :         ndr->depth++;
    3481           2 :         ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
    3482           2 :         ndr_print_uint8(ndr, "password_expired", r->password_expired);
    3483           2 :         ndr->depth--;
    3484             : }
    3485             : 
    3486       18017 : static enum ndr_err_code ndr_push_samr_UserInfo(struct ndr_push *ndr, int ndr_flags, const union samr_UserInfo *r)
    3487             : {
    3488             :         uint32_t level;
    3489       18017 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3490       18017 :         if (ndr_flags & NDR_SCALARS) {
    3491             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3492       18017 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3493       18017 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3494       18017 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
    3495       18017 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3496       18017 :                 switch (level) {
    3497         278 :                         case 1: {
    3498         278 :                                 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
    3499         278 :                         break; }
    3500             : 
    3501         359 :                         case 2: {
    3502         359 :                                 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
    3503         359 :                         break; }
    3504             : 
    3505        1648 :                         case 3: {
    3506        1648 :                                 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
    3507        1648 :                         break; }
    3508             : 
    3509         228 :                         case 4: {
    3510         228 :                                 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
    3511         228 :                         break; }
    3512             : 
    3513        1824 :                         case 5: {
    3514        1824 :                                 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
    3515        1824 :                         break; }
    3516             : 
    3517         850 :                         case 6: {
    3518         850 :                                 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
    3519         850 :                         break; }
    3520             : 
    3521         418 :                         case 7: {
    3522         418 :                                 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
    3523         418 :                         break; }
    3524             : 
    3525         208 :                         case 8: {
    3526         208 :                                 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
    3527         208 :                         break; }
    3528             : 
    3529          36 :                         case 9: {
    3530          36 :                                 NDR_CHECK(ndr_push_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
    3531          36 :                         break; }
    3532             : 
    3533         508 :                         case 10: {
    3534         508 :                                 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
    3535         508 :                         break; }
    3536             : 
    3537         232 :                         case 11: {
    3538         232 :                                 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
    3539         232 :                         break; }
    3540             : 
    3541         264 :                         case 12: {
    3542         264 :                                 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
    3543         264 :                         break; }
    3544             : 
    3545         238 :                         case 13: {
    3546         238 :                                 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
    3547         238 :                         break; }
    3548             : 
    3549         244 :                         case 14: {
    3550         244 :                                 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
    3551         244 :                         break; }
    3552             : 
    3553        2932 :                         case 16: {
    3554        2932 :                                 NDR_CHECK(ndr_push_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
    3555        2824 :                         break; }
    3556             : 
    3557         202 :                         case 17: {
    3558         202 :                                 NDR_CHECK(ndr_push_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
    3559         202 :                         break; }
    3560             : 
    3561         126 :                         case 18: {
    3562         126 :                                 NDR_CHECK(ndr_push_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
    3563         126 :                         break; }
    3564             : 
    3565         196 :                         case 20: {
    3566         196 :                                 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
    3567         196 :                         break; }
    3568             : 
    3569        5915 :                         case 21: {
    3570        5915 :                                 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
    3571        5825 :                         break; }
    3572             : 
    3573          52 :                         case 23: {
    3574          52 :                                 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
    3575          52 :                         break; }
    3576             : 
    3577         405 :                         case 24: {
    3578         405 :                                 NDR_CHECK(ndr_push_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
    3579         405 :                         break; }
    3580             : 
    3581         756 :                         case 25: {
    3582         756 :                                 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
    3583         666 :                         break; }
    3584             : 
    3585          98 :                         case 26: {
    3586          98 :                                 NDR_CHECK(ndr_push_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
    3587          98 :                         break; }
    3588             : 
    3589           0 :                         default:
    3590           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    3591             :                 }
    3592           0 :         }
    3593       18017 :         if (ndr_flags & NDR_BUFFERS) {
    3594       18017 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3595             :                         /* We didn't get it above, and the token is not needed after this. */
    3596           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3597             :                 }
    3598       18017 :                 switch (level) {
    3599         278 :                         case 1:
    3600         278 :                                 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
    3601         278 :                         break;
    3602             : 
    3603         359 :                         case 2:
    3604         359 :                                 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
    3605         359 :                         break;
    3606             : 
    3607        1648 :                         case 3:
    3608        1648 :                                 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
    3609        1648 :                         break;
    3610             : 
    3611         228 :                         case 4:
    3612         228 :                                 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
    3613         228 :                         break;
    3614             : 
    3615        1824 :                         case 5:
    3616        1824 :                                 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
    3617        1824 :                         break;
    3618             : 
    3619         850 :                         case 6:
    3620         850 :                                 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
    3621         850 :                         break;
    3622             : 
    3623         418 :                         case 7:
    3624         418 :                                 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
    3625         418 :                         break;
    3626             : 
    3627         208 :                         case 8:
    3628         208 :                                 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
    3629         208 :                         break;
    3630             : 
    3631          36 :                         case 9:
    3632          36 :                         break;
    3633             : 
    3634         508 :                         case 10:
    3635         508 :                                 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
    3636         508 :                         break;
    3637             : 
    3638         232 :                         case 11:
    3639         232 :                                 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
    3640         232 :                         break;
    3641             : 
    3642         264 :                         case 12:
    3643         264 :                                 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
    3644         264 :                         break;
    3645             : 
    3646         238 :                         case 13:
    3647         238 :                                 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
    3648         238 :                         break;
    3649             : 
    3650         244 :                         case 14:
    3651         244 :                                 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
    3652         244 :                         break;
    3653             : 
    3654        2824 :                         case 16:
    3655        2824 :                         break;
    3656             : 
    3657         202 :                         case 17:
    3658         202 :                         break;
    3659             : 
    3660         126 :                         case 18:
    3661         126 :                         break;
    3662             : 
    3663         196 :                         case 20:
    3664         196 :                                 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
    3665         196 :                         break;
    3666             : 
    3667        5915 :                         case 21:
    3668        5915 :                                 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
    3669        5825 :                         break;
    3670             : 
    3671          52 :                         case 23:
    3672          52 :                                 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
    3673          52 :                         break;
    3674             : 
    3675         405 :                         case 24:
    3676         405 :                         break;
    3677             : 
    3678         756 :                         case 25:
    3679         756 :                                 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
    3680         666 :                         break;
    3681             : 
    3682          98 :                         case 26:
    3683          98 :                         break;
    3684             : 
    3685           0 :                         default:
    3686           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    3687             :                 }
    3688           0 :         }
    3689       17729 :         return NDR_ERR_SUCCESS;
    3690             : }
    3691             : 
    3692       18458 : static enum ndr_err_code ndr_pull_samr_UserInfo(struct ndr_pull *ndr, int ndr_flags, union samr_UserInfo *r)
    3693             : {
    3694             :         uint32_t level;
    3695             :         uint16_t _level;
    3696       18458 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3697       18458 :         if (ndr_flags & NDR_SCALARS) {
    3698             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3699       18458 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3700       18458 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3701       18458 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
    3702       18458 :                 if (_level != level) {
    3703           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    3704             :                 }
    3705       18458 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3706       18458 :                 switch (level) {
    3707         279 :                         case 1: {
    3708         279 :                                 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
    3709         279 :                         break; }
    3710             : 
    3711         356 :                         case 2: {
    3712         356 :                                 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
    3713         356 :                         break; }
    3714             : 
    3715        1648 :                         case 3: {
    3716        1648 :                                 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
    3717        1648 :                         break; }
    3718             : 
    3719         228 :                         case 4: {
    3720         228 :                                 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
    3721         228 :                         break; }
    3722             : 
    3723        1822 :                         case 5: {
    3724        1822 :                                 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
    3725        1822 :                         break; }
    3726             : 
    3727         850 :                         case 6: {
    3728         850 :                                 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
    3729         850 :                         break; }
    3730             : 
    3731         418 :                         case 7: {
    3732         418 :                                 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
    3733         418 :                         break; }
    3734             : 
    3735         208 :                         case 8: {
    3736         208 :                                 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
    3737         208 :                         break; }
    3738             : 
    3739          36 :                         case 9: {
    3740          36 :                                 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
    3741          36 :                         break; }
    3742             : 
    3743         496 :                         case 10: {
    3744         496 :                                 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
    3745         496 :                         break; }
    3746             : 
    3747         232 :                         case 11: {
    3748         232 :                                 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
    3749         232 :                         break; }
    3750             : 
    3751         264 :                         case 12: {
    3752         264 :                                 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
    3753         264 :                         break; }
    3754             : 
    3755         238 :                         case 13: {
    3756         238 :                                 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
    3757         238 :                         break; }
    3758             : 
    3759         244 :                         case 14: {
    3760         244 :                                 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
    3761         244 :                         break; }
    3762             : 
    3763        3112 :                         case 16: {
    3764        3112 :                                 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
    3765        3018 :                         break; }
    3766             : 
    3767         202 :                         case 17: {
    3768         202 :                                 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
    3769         202 :                         break; }
    3770             : 
    3771         126 :                         case 18: {
    3772         126 :                                 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
    3773         126 :                         break; }
    3774             : 
    3775         196 :                         case 20: {
    3776         196 :                                 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
    3777         196 :                         break; }
    3778             : 
    3779        6198 :                         case 21: {
    3780        6198 :                                 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
    3781        6108 :                         break; }
    3782             : 
    3783          52 :                         case 23: {
    3784          52 :                                 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
    3785          52 :                         break; }
    3786             : 
    3787         405 :                         case 24: {
    3788         405 :                                 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
    3789         405 :                         break; }
    3790             : 
    3791         755 :                         case 25: {
    3792         755 :                                 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
    3793         665 :                         break; }
    3794             : 
    3795          93 :                         case 26: {
    3796          93 :                                 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
    3797          91 :                         break; }
    3798             : 
    3799           0 :                         default:
    3800           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    3801             :                 }
    3802           0 :         }
    3803       18458 :         if (ndr_flags & NDR_BUFFERS) {
    3804       18458 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3805             :                         /* We didn't get it above, and the token is not needed after this. */
    3806           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3807             :                 }
    3808       18458 :                 switch (level) {
    3809         279 :                         case 1:
    3810         279 :                                 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
    3811         279 :                         break;
    3812             : 
    3813         356 :                         case 2:
    3814         356 :                                 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
    3815         356 :                         break;
    3816             : 
    3817        1648 :                         case 3:
    3818        1648 :                                 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
    3819        1648 :                         break;
    3820             : 
    3821         228 :                         case 4:
    3822         228 :                                 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
    3823         228 :                         break;
    3824             : 
    3825        1822 :                         case 5:
    3826        1822 :                                 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
    3827        1822 :                         break;
    3828             : 
    3829         850 :                         case 6:
    3830         850 :                                 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
    3831         850 :                         break;
    3832             : 
    3833         418 :                         case 7:
    3834         418 :                                 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
    3835         418 :                         break;
    3836             : 
    3837         208 :                         case 8:
    3838         208 :                                 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
    3839         208 :                         break;
    3840             : 
    3841          36 :                         case 9:
    3842          36 :                         break;
    3843             : 
    3844         496 :                         case 10:
    3845         496 :                                 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
    3846         496 :                         break;
    3847             : 
    3848         232 :                         case 11:
    3849         232 :                                 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
    3850         232 :                         break;
    3851             : 
    3852         264 :                         case 12:
    3853         264 :                                 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
    3854         264 :                         break;
    3855             : 
    3856         238 :                         case 13:
    3857         238 :                                 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
    3858         238 :                         break;
    3859             : 
    3860         244 :                         case 14:
    3861         244 :                                 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
    3862         244 :                         break;
    3863             : 
    3864        3018 :                         case 16:
    3865        3018 :                         break;
    3866             : 
    3867         202 :                         case 17:
    3868         202 :                         break;
    3869             : 
    3870         126 :                         case 18:
    3871         126 :                         break;
    3872             : 
    3873         196 :                         case 20:
    3874         196 :                                 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
    3875         196 :                         break;
    3876             : 
    3877        6198 :                         case 21:
    3878        6198 :                                 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
    3879        6108 :                         break;
    3880             : 
    3881          52 :                         case 23:
    3882          52 :                                 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
    3883          52 :                         break;
    3884             : 
    3885         405 :                         case 24:
    3886         405 :                         break;
    3887             : 
    3888         755 :                         case 25:
    3889         755 :                                 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
    3890         665 :                         break;
    3891             : 
    3892          91 :                         case 26:
    3893          91 :                         break;
    3894             : 
    3895           0 :                         default:
    3896           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    3897             :                 }
    3898           0 :         }
    3899       18182 :         return NDR_ERR_SUCCESS;
    3900             : }
    3901             : 
    3902         434 : _PUBLIC_ void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r)
    3903             : {
    3904             :         uint32_t level;
    3905         434 :         level = ndr_print_steal_switch_value(ndr, r);
    3906         434 :         ndr_print_union(ndr, name, level, "samr_UserInfo");
    3907         434 :         switch (level) {
    3908          40 :                 case 1:
    3909          40 :                         ndr_print_samr_UserInfo1(ndr, "info1", &r->info1);
    3910          40 :                 break;
    3911             : 
    3912           6 :                 case 2:
    3913           6 :                         ndr_print_samr_UserInfo2(ndr, "info2", &r->info2);
    3914           6 :                 break;
    3915             : 
    3916           0 :                 case 3:
    3917           0 :                         ndr_print_samr_UserInfo3(ndr, "info3", &r->info3);
    3918           0 :                 break;
    3919             : 
    3920           0 :                 case 4:
    3921           0 :                         ndr_print_samr_UserInfo4(ndr, "info4", &r->info4);
    3922           0 :                 break;
    3923             : 
    3924           4 :                 case 5:
    3925           4 :                         ndr_print_samr_UserInfo5(ndr, "info5", &r->info5);
    3926           4 :                 break;
    3927             : 
    3928           0 :                 case 6:
    3929           0 :                         ndr_print_samr_UserInfo6(ndr, "info6", &r->info6);
    3930           0 :                 break;
    3931             : 
    3932           0 :                 case 7:
    3933           0 :                         ndr_print_samr_UserInfo7(ndr, "info7", &r->info7);
    3934           0 :                 break;
    3935             : 
    3936           0 :                 case 8:
    3937           0 :                         ndr_print_samr_UserInfo8(ndr, "info8", &r->info8);
    3938           0 :                 break;
    3939             : 
    3940           0 :                 case 9:
    3941           0 :                         ndr_print_samr_UserInfo9(ndr, "info9", &r->info9);
    3942           0 :                 break;
    3943             : 
    3944          24 :                 case 10:
    3945          24 :                         ndr_print_samr_UserInfo10(ndr, "info10", &r->info10);
    3946          24 :                 break;
    3947             : 
    3948           0 :                 case 11:
    3949           0 :                         ndr_print_samr_UserInfo11(ndr, "info11", &r->info11);
    3950           0 :                 break;
    3951             : 
    3952           0 :                 case 12:
    3953           0 :                         ndr_print_samr_UserInfo12(ndr, "info12", &r->info12);
    3954           0 :                 break;
    3955             : 
    3956           0 :                 case 13:
    3957           0 :                         ndr_print_samr_UserInfo13(ndr, "info13", &r->info13);
    3958           0 :                 break;
    3959             : 
    3960           0 :                 case 14:
    3961           0 :                         ndr_print_samr_UserInfo14(ndr, "info14", &r->info14);
    3962           0 :                 break;
    3963             : 
    3964         272 :                 case 16:
    3965         272 :                         ndr_print_samr_UserInfo16(ndr, "info16", &r->info16);
    3966         272 :                 break;
    3967             : 
    3968           0 :                 case 17:
    3969           0 :                         ndr_print_samr_UserInfo17(ndr, "info17", &r->info17);
    3970           0 :                 break;
    3971             : 
    3972           0 :                 case 18:
    3973           0 :                         ndr_print_samr_UserInfo18(ndr, "info18", &r->info18);
    3974           0 :                 break;
    3975             : 
    3976           0 :                 case 20:
    3977           0 :                         ndr_print_samr_UserInfo20(ndr, "info20", &r->info20);
    3978           0 :                 break;
    3979             : 
    3980          86 :                 case 21:
    3981          86 :                         ndr_print_samr_UserInfo21(ndr, "info21", &r->info21);
    3982          86 :                 break;
    3983             : 
    3984           0 :                 case 23:
    3985           0 :                         ndr_print_samr_UserInfo23(ndr, "info23", &r->info23);
    3986           0 :                 break;
    3987             : 
    3988           0 :                 case 24:
    3989           0 :                         ndr_print_samr_UserInfo24(ndr, "info24", &r->info24);
    3990           0 :                 break;
    3991             : 
    3992           0 :                 case 25:
    3993           0 :                         ndr_print_samr_UserInfo25(ndr, "info25", &r->info25);
    3994           0 :                 break;
    3995             : 
    3996           2 :                 case 26:
    3997           2 :                         ndr_print_samr_UserInfo26(ndr, "info26", &r->info26);
    3998           2 :                 break;
    3999             : 
    4000           0 :                 default:
    4001           0 :                         ndr_print_bad_level(ndr, name, level);
    4002             :         }
    4003         434 : }
    4004             : 
    4005      398910 : _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r)
    4006             : {
    4007      398910 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4008      398910 :         if (ndr_flags & NDR_SCALARS) {
    4009      398910 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    4010      398910 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    4011      398910 :                 NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
    4012      398910 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    4013             :         }
    4014      380660 :         if (ndr_flags & NDR_BUFFERS) {
    4015             :         }
    4016      398910 :         return NDR_ERR_SUCCESS;
    4017             : }
    4018             : 
    4019      432955 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r)
    4020             : {
    4021      432955 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4022      432955 :         if (ndr_flags & NDR_SCALARS) {
    4023      432955 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    4024      432955 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    4025      432955 :                 NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
    4026      432955 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    4027             :         }
    4028      416048 :         if (ndr_flags & NDR_BUFFERS) {
    4029             :         }
    4030      432955 :         return NDR_ERR_SUCCESS;
    4031             : }
    4032             : 
    4033           0 : static void ndr_print_flags_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, int unused, const struct samr_RidWithAttribute *r)
    4034             : {
    4035           0 :         ndr_print_samr_RidWithAttribute(ndr, name, r);
    4036           0 : }
    4037             : 
    4038       21116 : _PUBLIC_ void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r)
    4039             : {
    4040       21116 :         ndr_print_struct(ndr, name, "samr_RidWithAttribute");
    4041       21116 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4042       21116 :         ndr->depth++;
    4043       21116 :         ndr_print_uint32(ndr, "rid", r->rid);
    4044       21116 :         ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes);
    4045       21116 :         ndr->depth--;
    4046             : }
    4047             : 
    4048      298688 : _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r)
    4049             : {
    4050             :         uint32_t cntr_rids_1;
    4051      298688 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4052      298688 :         if (ndr_flags & NDR_SCALARS) {
    4053      149757 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4054      149757 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    4055      149757 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
    4056      149757 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4057             :         }
    4058      298688 :         if (ndr_flags & NDR_BUFFERS) {
    4059      149757 :                 if (r->rids) {
    4060       82622 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    4061      478089 :                         for (cntr_rids_1 = 0; cntr_rids_1 < (r->count); cntr_rids_1++) {
    4062      398910 :                                 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
    4063             :                         }
    4064             :                 }
    4065             :         }
    4066      288360 :         return NDR_ERR_SUCCESS;
    4067             : }
    4068             : 
    4069      380315 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r)
    4070             : {
    4071             :         uint32_t _ptr_rids;
    4072      380315 :         uint32_t size_rids_1 = 0;
    4073             :         uint32_t cntr_rids_1;
    4074      380315 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    4075      380315 :         TALLOC_CTX *_mem_save_rids_1 = NULL;
    4076      380315 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4077      380315 :         if (ndr_flags & NDR_SCALARS) {
    4078      190547 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4079      190547 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    4080      190547 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
    4081      190547 :                 if (_ptr_rids) {
    4082      119072 :                         NDR_PULL_ALLOC(ndr, r->rids);
    4083             :                 } else {
    4084       71475 :                         r->rids = NULL;
    4085             :                 }
    4086      190547 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4087             :         }
    4088      380315 :         if (ndr_flags & NDR_BUFFERS) {
    4089      190547 :                 if (r->rids) {
    4090      119072 :                         _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4091      119072 :                         NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
    4092      119072 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
    4093      119072 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_1));
    4094      119072 :                         NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
    4095      119072 :                         _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    4096      119072 :                         NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
    4097      552027 :                         for (cntr_rids_1 = 0; cntr_rids_1 < (size_rids_1); cntr_rids_1++) {
    4098      432955 :                                 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
    4099             :                         }
    4100      119072 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
    4101      119072 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
    4102             :                 }
    4103      190547 :                 if (r->rids) {
    4104      119072 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->count));
    4105             :                 }
    4106             :         }
    4107      370039 :         return NDR_ERR_SUCCESS;
    4108             : }
    4109             : 
    4110           0 : static void ndr_print_flags_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, int unused, const struct samr_RidWithAttributeArray *r)
    4111             : {
    4112           0 :         ndr_print_samr_RidWithAttributeArray(ndr, name, r);
    4113           0 : }
    4114             : 
    4115        3554 : _PUBLIC_ void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r)
    4116             : {
    4117             :         uint32_t cntr_rids_1;
    4118        3554 :         ndr_print_struct(ndr, name, "samr_RidWithAttributeArray");
    4119        3554 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4120        3554 :         ndr->depth++;
    4121        3554 :         ndr_print_uint32(ndr, "count", r->count);
    4122        3554 :         ndr_print_ptr(ndr, "rids", r->rids);
    4123        3554 :         ndr->depth++;
    4124        3554 :         if (r->rids) {
    4125        3545 :                 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
    4126        3545 :                 ndr->depth++;
    4127       24661 :                 for (cntr_rids_1 = 0; cntr_rids_1 < (r->count); cntr_rids_1++) {
    4128       21116 :                         ndr_print_samr_RidWithAttribute(ndr, "rids", &r->rids[cntr_rids_1]);
    4129             :                 }
    4130        3545 :                 ndr->depth--;
    4131             :         }
    4132        3554 :         ndr->depth--;
    4133        3554 :         ndr->depth--;
    4134             : }
    4135             : 
    4136        4994 : static enum ndr_err_code ndr_push_samr_DispEntryGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryGeneral *r)
    4137             : {
    4138        4994 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4139        4994 :         if (ndr_flags & NDR_SCALARS) {
    4140        2497 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4141        2497 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
    4142        2497 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    4143        2497 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
    4144        2497 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    4145        2497 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    4146        2497 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    4147        2497 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4148             :         }
    4149        4994 :         if (ndr_flags & NDR_BUFFERS) {
    4150        2497 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    4151        2497 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    4152        2497 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    4153             :         }
    4154        4994 :         return NDR_ERR_SUCCESS;
    4155             : }
    4156             : 
    4157        5602 : static enum ndr_err_code ndr_pull_samr_DispEntryGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryGeneral *r)
    4158             : {
    4159        5602 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4160        5602 :         if (ndr_flags & NDR_SCALARS) {
    4161        2801 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4162        2801 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
    4163        2801 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    4164        2801 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
    4165        2801 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    4166        2801 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    4167        2801 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    4168        2801 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4169             :         }
    4170        5602 :         if (ndr_flags & NDR_BUFFERS) {
    4171        2801 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    4172        2801 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    4173        2801 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    4174             :         }
    4175        5602 :         return NDR_ERR_SUCCESS;
    4176             : }
    4177             : 
    4178          24 : _PUBLIC_ void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r)
    4179             : {
    4180          24 :         ndr_print_struct(ndr, name, "samr_DispEntryGeneral");
    4181          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4182          24 :         ndr->depth++;
    4183          24 :         ndr_print_uint32(ndr, "idx", r->idx);
    4184          24 :         ndr_print_uint32(ndr, "rid", r->rid);
    4185          24 :         ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
    4186          24 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    4187          24 :         ndr_print_lsa_String(ndr, "description", &r->description);
    4188          24 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    4189          24 :         ndr->depth--;
    4190             : }
    4191             : 
    4192         542 : static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoGeneral *r)
    4193             : {
    4194             :         uint32_t cntr_entries_1;
    4195         542 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4196         542 :         if (ndr_flags & NDR_SCALARS) {
    4197         271 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4198         271 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    4199         271 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
    4200         271 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4201             :         }
    4202         542 :         if (ndr_flags & NDR_BUFFERS) {
    4203         271 :                 if (r->entries) {
    4204         254 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    4205        2751 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4206        2497 :                                 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    4207             :                         }
    4208        2751 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4209        2497 :                                 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    4210             :                         }
    4211             :                 }
    4212             :         }
    4213         542 :         return NDR_ERR_SUCCESS;
    4214             : }
    4215             : 
    4216         556 : static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r)
    4217             : {
    4218             :         uint32_t _ptr_entries;
    4219         556 :         uint32_t size_entries_1 = 0;
    4220             :         uint32_t cntr_entries_1;
    4221         556 :         TALLOC_CTX *_mem_save_entries_0 = NULL;
    4222         556 :         TALLOC_CTX *_mem_save_entries_1 = NULL;
    4223         556 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4224         556 :         if (ndr_flags & NDR_SCALARS) {
    4225         278 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4226         278 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    4227         278 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
    4228         278 :                 if (_ptr_entries) {
    4229         255 :                         NDR_PULL_ALLOC(ndr, r->entries);
    4230             :                 } else {
    4231          23 :                         r->entries = NULL;
    4232             :                 }
    4233         278 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4234             :         }
    4235         556 :         if (ndr_flags & NDR_BUFFERS) {
    4236         278 :                 if (r->entries) {
    4237         255 :                         _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4238         255 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
    4239         255 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
    4240         255 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
    4241         255 :                         NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
    4242         255 :                         _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
    4243         255 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
    4244        3056 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4245        2801 :                                 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    4246             :                         }
    4247        3056 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4248        2801 :                                 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    4249             :                         }
    4250         255 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
    4251         255 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
    4252             :                 }
    4253         278 :                 if (r->entries) {
    4254         255 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
    4255             :                 }
    4256         945 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4257             :                 }
    4258             :         }
    4259         556 :         return NDR_ERR_SUCCESS;
    4260             : }
    4261             : 
    4262           2 : _PUBLIC_ void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r)
    4263             : {
    4264             :         uint32_t cntr_entries_1;
    4265           2 :         ndr_print_struct(ndr, name, "samr_DispInfoGeneral");
    4266           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4267           2 :         ndr->depth++;
    4268           2 :         ndr_print_uint32(ndr, "count", r->count);
    4269           2 :         ndr_print_ptr(ndr, "entries", r->entries);
    4270           2 :         ndr->depth++;
    4271           2 :         if (r->entries) {
    4272           2 :                 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
    4273           2 :                 ndr->depth++;
    4274          26 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4275          24 :                         ndr_print_samr_DispEntryGeneral(ndr, "entries", &r->entries[cntr_entries_1]);
    4276             :                 }
    4277           2 :                 ndr->depth--;
    4278             :         }
    4279           2 :         ndr->depth--;
    4280           2 :         ndr->depth--;
    4281             : }
    4282             : 
    4283         140 : static enum ndr_err_code ndr_push_samr_DispEntryFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFull *r)
    4284             : {
    4285         140 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4286         140 :         if (ndr_flags & NDR_SCALARS) {
    4287          70 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4288          70 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
    4289          70 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    4290          70 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
    4291          70 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    4292          70 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    4293          70 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4294             :         }
    4295         140 :         if (ndr_flags & NDR_BUFFERS) {
    4296          70 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    4297          70 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    4298             :         }
    4299         140 :         return NDR_ERR_SUCCESS;
    4300             : }
    4301             : 
    4302         140 : static enum ndr_err_code ndr_pull_samr_DispEntryFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFull *r)
    4303             : {
    4304         140 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4305         140 :         if (ndr_flags & NDR_SCALARS) {
    4306          70 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4307          70 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
    4308          70 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    4309          70 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
    4310          70 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    4311          70 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    4312          70 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4313             :         }
    4314         140 :         if (ndr_flags & NDR_BUFFERS) {
    4315          70 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    4316          70 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    4317             :         }
    4318         140 :         return NDR_ERR_SUCCESS;
    4319             : }
    4320             : 
    4321           0 : _PUBLIC_ void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r)
    4322             : {
    4323           0 :         ndr_print_struct(ndr, name, "samr_DispEntryFull");
    4324           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4325           0 :         ndr->depth++;
    4326           0 :         ndr_print_uint32(ndr, "idx", r->idx);
    4327           0 :         ndr_print_uint32(ndr, "rid", r->rid);
    4328           0 :         ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
    4329           0 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    4330           0 :         ndr_print_lsa_String(ndr, "description", &r->description);
    4331           0 :         ndr->depth--;
    4332             : }
    4333             : 
    4334          94 : static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFull *r)
    4335             : {
    4336             :         uint32_t cntr_entries_1;
    4337          94 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4338          94 :         if (ndr_flags & NDR_SCALARS) {
    4339          47 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4340          47 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    4341          47 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
    4342          47 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4343             :         }
    4344          94 :         if (ndr_flags & NDR_BUFFERS) {
    4345          47 :                 if (r->entries) {
    4346          44 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    4347         114 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4348          70 :                                 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    4349             :                         }
    4350         114 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4351          70 :                                 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    4352             :                         }
    4353             :                 }
    4354             :         }
    4355          94 :         return NDR_ERR_SUCCESS;
    4356             : }
    4357             : 
    4358         102 : static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r)
    4359             : {
    4360             :         uint32_t _ptr_entries;
    4361         102 :         uint32_t size_entries_1 = 0;
    4362             :         uint32_t cntr_entries_1;
    4363         102 :         TALLOC_CTX *_mem_save_entries_0 = NULL;
    4364         102 :         TALLOC_CTX *_mem_save_entries_1 = NULL;
    4365         102 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4366         102 :         if (ndr_flags & NDR_SCALARS) {
    4367          51 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4368          51 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    4369          51 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
    4370          51 :                 if (_ptr_entries) {
    4371          44 :                         NDR_PULL_ALLOC(ndr, r->entries);
    4372             :                 } else {
    4373           7 :                         r->entries = NULL;
    4374             :                 }
    4375          51 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4376             :         }
    4377         102 :         if (ndr_flags & NDR_BUFFERS) {
    4378          51 :                 if (r->entries) {
    4379          44 :                         _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4380          44 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
    4381          44 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
    4382          44 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
    4383          44 :                         NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
    4384          44 :                         _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
    4385          44 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
    4386         114 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4387          70 :                                 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    4388             :                         }
    4389         114 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4390          70 :                                 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    4391             :                         }
    4392          44 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
    4393          44 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
    4394             :                 }
    4395          51 :                 if (r->entries) {
    4396          44 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
    4397             :                 }
    4398          63 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4399             :                 }
    4400             :         }
    4401         102 :         return NDR_ERR_SUCCESS;
    4402             : }
    4403             : 
    4404           0 : _PUBLIC_ void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r)
    4405             : {
    4406             :         uint32_t cntr_entries_1;
    4407           0 :         ndr_print_struct(ndr, name, "samr_DispInfoFull");
    4408           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4409           0 :         ndr->depth++;
    4410           0 :         ndr_print_uint32(ndr, "count", r->count);
    4411           0 :         ndr_print_ptr(ndr, "entries", r->entries);
    4412           0 :         ndr->depth++;
    4413           0 :         if (r->entries) {
    4414           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
    4415           0 :                 ndr->depth++;
    4416           0 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4417           0 :                         ndr_print_samr_DispEntryFull(ndr, "entries", &r->entries[cntr_entries_1]);
    4418             :                 }
    4419           0 :                 ndr->depth--;
    4420             :         }
    4421           0 :         ndr->depth--;
    4422           0 :         ndr->depth--;
    4423             : }
    4424             : 
    4425        3672 : static enum ndr_err_code ndr_push_samr_DispEntryFullGroup(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFullGroup *r)
    4426             : {
    4427        3672 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4428        3672 :         if (ndr_flags & NDR_SCALARS) {
    4429        1836 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4430        1836 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
    4431        1836 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    4432        1836 :                 NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->acct_flags));
    4433        1836 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    4434        1836 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    4435        1836 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4436             :         }
    4437        3672 :         if (ndr_flags & NDR_BUFFERS) {
    4438        1836 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    4439        1836 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    4440             :         }
    4441        3672 :         return NDR_ERR_SUCCESS;
    4442             : }
    4443             : 
    4444        3976 : static enum ndr_err_code ndr_pull_samr_DispEntryFullGroup(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFullGroup *r)
    4445             : {
    4446        3976 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4447        3976 :         if (ndr_flags & NDR_SCALARS) {
    4448        1988 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4449        1988 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
    4450        1988 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    4451        1988 :                 NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->acct_flags));
    4452        1988 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    4453        1988 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    4454        1988 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4455             :         }
    4456        3976 :         if (ndr_flags & NDR_BUFFERS) {
    4457        1988 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    4458        1988 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    4459             :         }
    4460        3976 :         return NDR_ERR_SUCCESS;
    4461             : }
    4462             : 
    4463           0 : _PUBLIC_ void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r)
    4464             : {
    4465           0 :         ndr_print_struct(ndr, name, "samr_DispEntryFullGroup");
    4466           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4467           0 :         ndr->depth++;
    4468           0 :         ndr_print_uint32(ndr, "idx", r->idx);
    4469           0 :         ndr_print_uint32(ndr, "rid", r->rid);
    4470           0 :         ndr_print_security_GroupAttrs(ndr, "acct_flags", r->acct_flags);
    4471           0 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    4472           0 :         ndr_print_lsa_String(ndr, "description", &r->description);
    4473           0 :         ndr->depth--;
    4474             : }
    4475             : 
    4476         230 : static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFullGroups *r)
    4477             : {
    4478             :         uint32_t cntr_entries_1;
    4479         230 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4480         230 :         if (ndr_flags & NDR_SCALARS) {
    4481         115 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4482         115 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    4483         115 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
    4484         115 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4485             :         }
    4486         230 :         if (ndr_flags & NDR_BUFFERS) {
    4487         115 :                 if (r->entries) {
    4488         109 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    4489        1945 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4490        1836 :                                 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    4491             :                         }
    4492        1945 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4493        1836 :                                 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    4494             :                         }
    4495             :                 }
    4496             :         }
    4497         230 :         return NDR_ERR_SUCCESS;
    4498             : }
    4499             : 
    4500         242 : static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r)
    4501             : {
    4502             :         uint32_t _ptr_entries;
    4503         242 :         uint32_t size_entries_1 = 0;
    4504             :         uint32_t cntr_entries_1;
    4505         242 :         TALLOC_CTX *_mem_save_entries_0 = NULL;
    4506         242 :         TALLOC_CTX *_mem_save_entries_1 = NULL;
    4507         242 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4508         242 :         if (ndr_flags & NDR_SCALARS) {
    4509         121 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4510         121 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    4511         121 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
    4512         121 :                 if (_ptr_entries) {
    4513         110 :                         NDR_PULL_ALLOC(ndr, r->entries);
    4514             :                 } else {
    4515          11 :                         r->entries = NULL;
    4516             :                 }
    4517         121 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4518             :         }
    4519         242 :         if (ndr_flags & NDR_BUFFERS) {
    4520         121 :                 if (r->entries) {
    4521         110 :                         _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4522         110 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
    4523         110 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
    4524         110 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
    4525         110 :                         NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
    4526         110 :                         _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
    4527         110 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
    4528        2098 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4529        1988 :                                 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    4530             :                         }
    4531        2098 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4532        1988 :                                 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    4533             :                         }
    4534         110 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
    4535         110 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
    4536             :                 }
    4537         121 :                 if (r->entries) {
    4538         110 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
    4539             :                 }
    4540         587 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4541             :                 }
    4542             :         }
    4543         242 :         return NDR_ERR_SUCCESS;
    4544             : }
    4545             : 
    4546           0 : _PUBLIC_ void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r)
    4547             : {
    4548             :         uint32_t cntr_entries_1;
    4549           0 :         ndr_print_struct(ndr, name, "samr_DispInfoFullGroups");
    4550           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4551           0 :         ndr->depth++;
    4552           0 :         ndr_print_uint32(ndr, "count", r->count);
    4553           0 :         ndr_print_ptr(ndr, "entries", r->entries);
    4554           0 :         ndr->depth++;
    4555           0 :         if (r->entries) {
    4556           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
    4557           0 :                 ndr->depth++;
    4558           0 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4559           0 :                         ndr_print_samr_DispEntryFullGroup(ndr, "entries", &r->entries[cntr_entries_1]);
    4560             :                 }
    4561           0 :                 ndr->depth--;
    4562             :         }
    4563           0 :         ndr->depth--;
    4564           0 :         ndr->depth--;
    4565             : }
    4566             : 
    4567        2154 : static enum ndr_err_code ndr_push_samr_DispEntryAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryAscii *r)
    4568             : {
    4569        2154 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4570        2154 :         if (ndr_flags & NDR_SCALARS) {
    4571        1077 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4572        1077 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
    4573        1077 :                 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
    4574        1077 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4575             :         }
    4576        2154 :         if (ndr_flags & NDR_BUFFERS) {
    4577        1077 :                 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
    4578             :         }
    4579        2154 :         return NDR_ERR_SUCCESS;
    4580             : }
    4581             : 
    4582        2154 : static enum ndr_err_code ndr_pull_samr_DispEntryAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryAscii *r)
    4583             : {
    4584        2154 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4585        2154 :         if (ndr_flags & NDR_SCALARS) {
    4586        1077 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4587        1077 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
    4588        1077 :                 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
    4589        1077 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4590             :         }
    4591        2154 :         if (ndr_flags & NDR_BUFFERS) {
    4592        1077 :                 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
    4593             :         }
    4594        2154 :         return NDR_ERR_SUCCESS;
    4595             : }
    4596             : 
    4597           0 : _PUBLIC_ void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r)
    4598             : {
    4599           0 :         ndr_print_struct(ndr, name, "samr_DispEntryAscii");
    4600           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4601           0 :         ndr->depth++;
    4602           0 :         ndr_print_uint32(ndr, "idx", r->idx);
    4603           0 :         ndr_print_lsa_AsciiStringLarge(ndr, "account_name", &r->account_name);
    4604           0 :         ndr->depth--;
    4605             : }
    4606             : 
    4607         472 : static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoAscii *r)
    4608             : {
    4609             :         uint32_t cntr_entries_1;
    4610         472 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4611         472 :         if (ndr_flags & NDR_SCALARS) {
    4612         236 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4613         236 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    4614         236 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
    4615         236 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4616             :         }
    4617         472 :         if (ndr_flags & NDR_BUFFERS) {
    4618         236 :                 if (r->entries) {
    4619         228 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    4620        1305 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4621        1077 :                                 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    4622             :                         }
    4623        1305 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4624        1077 :                                 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    4625             :                         }
    4626             :                 }
    4627             :         }
    4628         472 :         return NDR_ERR_SUCCESS;
    4629             : }
    4630             : 
    4631         492 : static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r)
    4632             : {
    4633             :         uint32_t _ptr_entries;
    4634         492 :         uint32_t size_entries_1 = 0;
    4635             :         uint32_t cntr_entries_1;
    4636         492 :         TALLOC_CTX *_mem_save_entries_0 = NULL;
    4637         492 :         TALLOC_CTX *_mem_save_entries_1 = NULL;
    4638         492 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4639         492 :         if (ndr_flags & NDR_SCALARS) {
    4640         246 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4641         246 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    4642         246 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
    4643         246 :                 if (_ptr_entries) {
    4644         228 :                         NDR_PULL_ALLOC(ndr, r->entries);
    4645             :                 } else {
    4646          18 :                         r->entries = NULL;
    4647             :                 }
    4648         246 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4649             :         }
    4650         492 :         if (ndr_flags & NDR_BUFFERS) {
    4651         246 :                 if (r->entries) {
    4652         228 :                         _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4653         228 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
    4654         228 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
    4655         228 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
    4656         228 :                         NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
    4657         228 :                         _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
    4658         228 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
    4659        1305 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4660        1077 :                                 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    4661             :                         }
    4662        1305 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4663        1077 :                                 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    4664             :                         }
    4665         228 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
    4666         228 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
    4667             :                 }
    4668         246 :                 if (r->entries) {
    4669         228 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
    4670             :                 }
    4671         574 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
    4672             :                 }
    4673             :         }
    4674         492 :         return NDR_ERR_SUCCESS;
    4675             : }
    4676             : 
    4677           0 : _PUBLIC_ void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r)
    4678             : {
    4679             :         uint32_t cntr_entries_1;
    4680           0 :         ndr_print_struct(ndr, name, "samr_DispInfoAscii");
    4681           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4682           0 :         ndr->depth++;
    4683           0 :         ndr_print_uint32(ndr, "count", r->count);
    4684           0 :         ndr_print_ptr(ndr, "entries", r->entries);
    4685           0 :         ndr->depth++;
    4686           0 :         if (r->entries) {
    4687           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
    4688           0 :                 ndr->depth++;
    4689           0 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    4690           0 :                         ndr_print_samr_DispEntryAscii(ndr, "entries", &r->entries[cntr_entries_1]);
    4691             :                 }
    4692           0 :                 ndr->depth--;
    4693             :         }
    4694           0 :         ndr->depth--;
    4695           0 :         ndr->depth--;
    4696             : }
    4697             : 
    4698         669 : static enum ndr_err_code ndr_push_samr_DispInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DispInfo *r)
    4699             : {
    4700             :         uint32_t level;
    4701         669 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4702         669 :         if (ndr_flags & NDR_SCALARS) {
    4703             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4704         669 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4705         669 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4706         669 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
    4707         669 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4708         669 :                 switch (level) {
    4709         271 :                         case 1: {
    4710         271 :                                 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
    4711         271 :                         break; }
    4712             : 
    4713          47 :                         case 2: {
    4714          47 :                                 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
    4715          47 :                         break; }
    4716             : 
    4717         115 :                         case 3: {
    4718         115 :                                 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
    4719         115 :                         break; }
    4720             : 
    4721         105 :                         case 4: {
    4722         105 :                                 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
    4723         105 :                         break; }
    4724             : 
    4725         131 :                         case 5: {
    4726         131 :                                 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
    4727         131 :                         break; }
    4728             : 
    4729           0 :                         default:
    4730           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4731             :                 }
    4732           0 :         }
    4733         669 :         if (ndr_flags & NDR_BUFFERS) {
    4734         669 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4735             :                         /* We didn't get it above, and the token is not needed after this. */
    4736           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4737             :                 }
    4738         669 :                 switch (level) {
    4739         271 :                         case 1:
    4740         271 :                                 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
    4741         271 :                         break;
    4742             : 
    4743          47 :                         case 2:
    4744          47 :                                 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
    4745          47 :                         break;
    4746             : 
    4747         115 :                         case 3:
    4748         115 :                                 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
    4749         115 :                         break;
    4750             : 
    4751         105 :                         case 4:
    4752         105 :                                 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
    4753         105 :                         break;
    4754             : 
    4755         131 :                         case 5:
    4756         131 :                                 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
    4757         131 :                         break;
    4758             : 
    4759           0 :                         default:
    4760           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    4761             :                 }
    4762           0 :         }
    4763         669 :         return NDR_ERR_SUCCESS;
    4764             : }
    4765             : 
    4766         696 : static enum ndr_err_code ndr_pull_samr_DispInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DispInfo *r)
    4767             : {
    4768             :         uint32_t level;
    4769             :         uint16_t _level;
    4770         696 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4771         696 :         if (ndr_flags & NDR_SCALARS) {
    4772             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4773         696 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4774         696 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4775         696 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
    4776         696 :                 if (_level != level) {
    4777           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    4778             :                 }
    4779         696 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4780         696 :                 switch (level) {
    4781         278 :                         case 1: {
    4782         278 :                                 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
    4783         278 :                         break; }
    4784             : 
    4785          51 :                         case 2: {
    4786          51 :                                 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
    4787          51 :                         break; }
    4788             : 
    4789         121 :                         case 3: {
    4790         121 :                                 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
    4791         121 :                         break; }
    4792             : 
    4793         109 :                         case 4: {
    4794         109 :                                 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
    4795         109 :                         break; }
    4796             : 
    4797         137 :                         case 5: {
    4798         137 :                                 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
    4799         137 :                         break; }
    4800             : 
    4801           0 :                         default:
    4802           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4803             :                 }
    4804           0 :         }
    4805         696 :         if (ndr_flags & NDR_BUFFERS) {
    4806         696 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4807             :                         /* We didn't get it above, and the token is not needed after this. */
    4808           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4809             :                 }
    4810         696 :                 switch (level) {
    4811         278 :                         case 1:
    4812         278 :                                 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
    4813         278 :                         break;
    4814             : 
    4815          51 :                         case 2:
    4816          51 :                                 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
    4817          51 :                         break;
    4818             : 
    4819         121 :                         case 3:
    4820         121 :                                 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
    4821         121 :                         break;
    4822             : 
    4823         109 :                         case 4:
    4824         109 :                                 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
    4825         109 :                         break;
    4826             : 
    4827         137 :                         case 5:
    4828         137 :                                 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
    4829         137 :                         break;
    4830             : 
    4831           0 :                         default:
    4832           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    4833             :                 }
    4834           0 :         }
    4835         696 :         return NDR_ERR_SUCCESS;
    4836             : }
    4837             : 
    4838           2 : _PUBLIC_ void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r)
    4839             : {
    4840             :         uint32_t level;
    4841           2 :         level = ndr_print_steal_switch_value(ndr, r);
    4842           2 :         ndr_print_union(ndr, name, level, "samr_DispInfo");
    4843           2 :         switch (level) {
    4844           2 :                 case 1:
    4845           2 :                         ndr_print_samr_DispInfoGeneral(ndr, "info1", &r->info1);
    4846           2 :                 break;
    4847             : 
    4848           0 :                 case 2:
    4849           0 :                         ndr_print_samr_DispInfoFull(ndr, "info2", &r->info2);
    4850           0 :                 break;
    4851             : 
    4852           0 :                 case 3:
    4853           0 :                         ndr_print_samr_DispInfoFullGroups(ndr, "info3", &r->info3);
    4854           0 :                 break;
    4855             : 
    4856           0 :                 case 4:
    4857           0 :                         ndr_print_samr_DispInfoAscii(ndr, "info4", &r->info4);
    4858           0 :                 break;
    4859             : 
    4860           0 :                 case 5:
    4861           0 :                         ndr_print_samr_DispInfoAscii(ndr, "info5", &r->info5);
    4862           0 :                 break;
    4863             : 
    4864           0 :                 default:
    4865           0 :                         ndr_print_bad_level(ndr, name, level);
    4866             :         }
    4867           2 : }
    4868             : 
    4869        6582 : static enum ndr_err_code ndr_push_samr_PwInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_PwInfo *r)
    4870             : {
    4871        6582 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4872        6582 :         if (ndr_flags & NDR_SCALARS) {
    4873        6582 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    4874        6582 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
    4875        6582 :                 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
    4876        6582 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    4877             :         }
    4878        5754 :         if (ndr_flags & NDR_BUFFERS) {
    4879             :         }
    4880        6582 :         return NDR_ERR_SUCCESS;
    4881             : }
    4882             : 
    4883        5897 : static enum ndr_err_code ndr_pull_samr_PwInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_PwInfo *r)
    4884             : {
    4885        5897 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4886        5897 :         if (ndr_flags & NDR_SCALARS) {
    4887        5897 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    4888        5897 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
    4889        5897 :                 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
    4890        5897 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    4891             :         }
    4892        5205 :         if (ndr_flags & NDR_BUFFERS) {
    4893             :         }
    4894        5897 :         return NDR_ERR_SUCCESS;
    4895             : }
    4896             : 
    4897        1690 : _PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r)
    4898             : {
    4899        1690 :         ndr_print_struct(ndr, name, "samr_PwInfo");
    4900        1690 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4901        1690 :         ndr->depth++;
    4902        1690 :         ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
    4903        1690 :         ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
    4904        1690 :         ndr->depth--;
    4905             : }
    4906             : 
    4907         718 : static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, int ndr_flags, enum samr_ConnectVersion r)
    4908             : {
    4909         718 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    4910         718 :         return NDR_ERR_SUCCESS;
    4911             : }
    4912             : 
    4913         698 : static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, int ndr_flags, enum samr_ConnectVersion *r)
    4914             : {
    4915             :         uint32_t v;
    4916         702 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    4917         702 :         *r = v;
    4918         698 :         return NDR_ERR_SUCCESS;
    4919             : }
    4920             : 
    4921          10 : _PUBLIC_ void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r)
    4922             : {
    4923          10 :         const char *val = NULL;
    4924             : 
    4925          10 :         switch (r) {
    4926           0 :                 case SAMR_CONNECT_PRE_W2K: val = "SAMR_CONNECT_PRE_W2K"; break;
    4927           0 :                 case SAMR_CONNECT_W2K: val = "SAMR_CONNECT_W2K"; break;
    4928          10 :                 case SAMR_CONNECT_AFTER_W2K: val = "SAMR_CONNECT_AFTER_W2K"; break;
    4929             :         }
    4930          10 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    4931          10 : }
    4932             : 
    4933         368 : _PUBLIC_ enum ndr_err_code ndr_push_samPwdChangeReason(struct ndr_push *ndr, int ndr_flags, enum samPwdChangeReason r)
    4934             : {
    4935         368 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    4936         368 :         return NDR_ERR_SUCCESS;
    4937             : }
    4938             : 
    4939         370 : _PUBLIC_ enum ndr_err_code ndr_pull_samPwdChangeReason(struct ndr_pull *ndr, int ndr_flags, enum samPwdChangeReason *r)
    4940             : {
    4941             :         uint32_t v;
    4942         370 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    4943         370 :         *r = v;
    4944         370 :         return NDR_ERR_SUCCESS;
    4945             : }
    4946             : 
    4947           2 : _PUBLIC_ void ndr_print_samPwdChangeReason(struct ndr_print *ndr, const char *name, enum samPwdChangeReason r)
    4948             : {
    4949           2 :         const char *val = NULL;
    4950             : 
    4951           2 :         switch (r) {
    4952           0 :                 case SAM_PWD_CHANGE_NO_ERROR: val = "SAM_PWD_CHANGE_NO_ERROR"; break;
    4953           0 :                 case SAM_PWD_CHANGE_PASSWORD_TOO_SHORT: val = "SAM_PWD_CHANGE_PASSWORD_TOO_SHORT"; break;
    4954           0 :                 case SAM_PWD_CHANGE_PWD_IN_HISTORY: val = "SAM_PWD_CHANGE_PWD_IN_HISTORY"; break;
    4955           0 :                 case SAM_PWD_CHANGE_USERNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_USERNAME_IN_PASSWORD"; break;
    4956           0 :                 case SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD"; break;
    4957           2 :                 case SAM_PWD_CHANGE_NOT_COMPLEX: val = "SAM_PWD_CHANGE_NOT_COMPLEX"; break;
    4958           0 :                 case SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT: val = "SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT"; break;
    4959           0 :                 case SAM_PWD_CHANGE_FAILED_BY_FILTER: val = "SAM_PWD_CHANGE_FAILED_BY_FILTER"; break;
    4960           0 :                 case SAM_PWD_CHANGE_PASSWORD_TOO_LONG: val = "SAM_PWD_CHANGE_PASSWORD_TOO_LONG"; break;
    4961             :         }
    4962           2 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    4963           2 : }
    4964             : 
    4965         368 : static enum ndr_err_code ndr_push_userPwdChangeFailureInformation(struct ndr_push *ndr, int ndr_flags, const struct userPwdChangeFailureInformation *r)
    4966             : {
    4967         368 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4968         368 :         if (ndr_flags & NDR_SCALARS) {
    4969         368 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4970         368 :                 NDR_CHECK(ndr_push_samPwdChangeReason(ndr, NDR_SCALARS, r->extendedFailureReason));
    4971         368 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->filterModuleName));
    4972         368 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4973             :         }
    4974         368 :         if (ndr_flags & NDR_BUFFERS) {
    4975         368 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->filterModuleName));
    4976             :         }
    4977         368 :         return NDR_ERR_SUCCESS;
    4978             : }
    4979             : 
    4980         370 : static enum ndr_err_code ndr_pull_userPwdChangeFailureInformation(struct ndr_pull *ndr, int ndr_flags, struct userPwdChangeFailureInformation *r)
    4981             : {
    4982         370 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4983         370 :         if (ndr_flags & NDR_SCALARS) {
    4984         370 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4985         370 :                 NDR_CHECK(ndr_pull_samPwdChangeReason(ndr, NDR_SCALARS, &r->extendedFailureReason));
    4986         370 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->filterModuleName));
    4987         370 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4988             :         }
    4989         370 :         if (ndr_flags & NDR_BUFFERS) {
    4990         370 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->filterModuleName));
    4991             :         }
    4992         368 :         return NDR_ERR_SUCCESS;
    4993             : }
    4994             : 
    4995           2 : _PUBLIC_ void ndr_print_userPwdChangeFailureInformation(struct ndr_print *ndr, const char *name, const struct userPwdChangeFailureInformation *r)
    4996             : {
    4997           2 :         ndr_print_struct(ndr, name, "userPwdChangeFailureInformation");
    4998           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4999           2 :         ndr->depth++;
    5000           2 :         ndr_print_samPwdChangeReason(ndr, "extendedFailureReason", r->extendedFailureReason);
    5001           2 :         ndr_print_lsa_String(ndr, "filterModuleName", &r->filterModuleName);
    5002           2 :         ndr->depth--;
    5003             : }
    5004             : 
    5005         544 : static enum ndr_err_code ndr_push_samr_ConnectInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_ConnectInfo1 *r)
    5006             : {
    5007         544 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5008         544 :         if (ndr_flags & NDR_SCALARS) {
    5009         544 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    5010         544 :                 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->client_version));
    5011         544 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
    5012         544 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    5013             :         }
    5014         544 :         if (ndr_flags & NDR_BUFFERS) {
    5015             :         }
    5016         544 :         return NDR_ERR_SUCCESS;
    5017             : }
    5018             : 
    5019         545 : static enum ndr_err_code ndr_pull_samr_ConnectInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_ConnectInfo1 *r)
    5020             : {
    5021         545 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5022         545 :         if (ndr_flags & NDR_SCALARS) {
    5023         545 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    5024         549 :                 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->client_version));
    5025         545 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
    5026         545 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    5027             :         }
    5028         541 :         if (ndr_flags & NDR_BUFFERS) {
    5029             :         }
    5030         545 :         return NDR_ERR_SUCCESS;
    5031             : }
    5032             : 
    5033          10 : _PUBLIC_ void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r)
    5034             : {
    5035          10 :         ndr_print_struct(ndr, name, "samr_ConnectInfo1");
    5036          10 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5037          10 :         ndr->depth++;
    5038          10 :         ndr_print_samr_ConnectVersion(ndr, "client_version", r->client_version);
    5039          10 :         ndr_print_uint32(ndr, "unknown2", r->unknown2);
    5040          10 :         ndr->depth--;
    5041             : }
    5042             : 
    5043         544 : static enum ndr_err_code ndr_push_samr_ConnectInfo(struct ndr_push *ndr, int ndr_flags, const union samr_ConnectInfo *r)
    5044             : {
    5045             :         uint32_t level;
    5046         544 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5047         544 :         if (ndr_flags & NDR_SCALARS) {
    5048             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5049         544 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5050         544 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
    5051         544 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    5052         544 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
    5053         544 :                 switch (level) {
    5054         544 :                         case 1: {
    5055         544 :                                 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
    5056         544 :                         break; }
    5057             : 
    5058           0 :                         default:
    5059           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5060             :                 }
    5061           0 :         }
    5062         544 :         if (ndr_flags & NDR_BUFFERS) {
    5063           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5064             :                         /* We didn't get it above, and the token is not needed after this. */
    5065           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5066             :                 }
    5067           0 :                 switch (level) {
    5068           0 :                         case 1:
    5069           0 :                         break;
    5070             : 
    5071           0 :                         default:
    5072           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5073             :                 }
    5074         394 :         }
    5075         544 :         return NDR_ERR_SUCCESS;
    5076             : }
    5077             : 
    5078         545 : static enum ndr_err_code ndr_pull_samr_ConnectInfo(struct ndr_pull *ndr, int ndr_flags, union samr_ConnectInfo *r)
    5079             : {
    5080             :         uint32_t level;
    5081             :         uint32_t _level;
    5082         545 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5083         545 :         if (ndr_flags & NDR_SCALARS) {
    5084             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5085         545 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5086         545 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
    5087         545 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    5088         545 :                 if (_level != level) {
    5089           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    5090             :                 }
    5091         545 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
    5092         545 :                 switch (level) {
    5093         545 :                         case 1: {
    5094         545 :                                 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
    5095         541 :                         break; }
    5096             : 
    5097           0 :                         default:
    5098           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5099             :                 }
    5100           0 :         }
    5101         545 :         if (ndr_flags & NDR_BUFFERS) {
    5102           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5103             :                         /* We didn't get it above, and the token is not needed after this. */
    5104           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5105             :                 }
    5106           0 :                 switch (level) {
    5107           0 :                         case 1:
    5108           0 :                         break;
    5109             : 
    5110           0 :                         default:
    5111           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5112             :                 }
    5113         395 :         }
    5114         541 :         return NDR_ERR_SUCCESS;
    5115             : }
    5116             : 
    5117          10 : _PUBLIC_ void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r)
    5118             : {
    5119             :         uint32_t level;
    5120          10 :         level = ndr_print_steal_switch_value(ndr, r);
    5121          10 :         ndr_print_union(ndr, name, level, "samr_ConnectInfo");
    5122          10 :         switch (level) {
    5123          10 :                 case 1:
    5124          10 :                         ndr_print_samr_ConnectInfo1(ndr, "info1", &r->info1);
    5125          10 :                 break;
    5126             : 
    5127           0 :                 default:
    5128           0 :                         ndr_print_bad_level(ndr, name, level);
    5129             :         }
    5130          10 : }
    5131             : 
    5132          27 : static enum ndr_err_code ndr_push_samr_ValidateFieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    5133             : {
    5134          27 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    5135          27 :         return NDR_ERR_SUCCESS;
    5136             : }
    5137             : 
    5138          27 : static enum ndr_err_code ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    5139             : {
    5140             :         uint32_t v;
    5141          27 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    5142          27 :         *r = v;
    5143          27 :         return NDR_ERR_SUCCESS;
    5144             : }
    5145             : 
    5146           0 : _PUBLIC_ void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
    5147             : {
    5148           0 :         ndr_print_uint32(ndr, name, r);
    5149           0 :         ndr->depth++;
    5150           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, r);
    5151           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, r);
    5152           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME, r);
    5153           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, r);
    5154           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, r);
    5155           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, r);
    5156           0 :         ndr->depth--;
    5157           0 : }
    5158             : 
    5159          18 : static enum ndr_err_code ndr_push_samr_ValidatePasswordLevel(struct ndr_push *ndr, int ndr_flags, enum samr_ValidatePasswordLevel r)
    5160             : {
    5161          18 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
    5162          18 :         return NDR_ERR_SUCCESS;
    5163             : }
    5164             : 
    5165          12 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidatePasswordLevel *r)
    5166             : {
    5167             :         uint16_t v;
    5168          12 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
    5169          12 :         *r = v;
    5170          12 :         return NDR_ERR_SUCCESS;
    5171             : }
    5172             : 
    5173           0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r)
    5174             : {
    5175           0 :         const char *val = NULL;
    5176             : 
    5177           0 :         switch (r) {
    5178           0 :                 case NetValidateAuthentication: val = "NetValidateAuthentication"; break;
    5179           0 :                 case NetValidatePasswordChange: val = "NetValidatePasswordChange"; break;
    5180           0 :                 case NetValidatePasswordReset: val = "NetValidatePasswordReset"; break;
    5181             :         }
    5182           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    5183           0 : }
    5184             : 
    5185           9 : static enum ndr_err_code ndr_push_samr_ValidationStatus(struct ndr_push *ndr, int ndr_flags, enum samr_ValidationStatus r)
    5186             : {
    5187           9 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
    5188           9 :         return NDR_ERR_SUCCESS;
    5189             : }
    5190             : 
    5191          15 : static enum ndr_err_code ndr_pull_samr_ValidationStatus(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidationStatus *r)
    5192             : {
    5193             :         uint16_t v;
    5194          15 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
    5195          15 :         *r = v;
    5196          15 :         return NDR_ERR_SUCCESS;
    5197             : }
    5198             : 
    5199           0 : _PUBLIC_ void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r)
    5200             : {
    5201           0 :         const char *val = NULL;
    5202             : 
    5203           0 :         switch (r) {
    5204           0 :                 case SAMR_VALIDATION_STATUS_SUCCESS: val = "SAMR_VALIDATION_STATUS_SUCCESS"; break;
    5205           0 :                 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE: val = "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
    5206           0 :                 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT: val = "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
    5207           0 :                 case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED: val = "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break;
    5208           0 :                 case SAMR_VALIDATION_STATUS_BAD_PASSWORD: val = "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
    5209           0 :                 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT: val = "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
    5210           0 :                 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT: val = "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
    5211           0 :                 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG: val = "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
    5212           0 :                 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH: val = "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
    5213           0 :                 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT: val = "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
    5214           0 :                 case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR: val = "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break;
    5215             :         }
    5216           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    5217           0 : }
    5218             : 
    5219          36 : static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidationBlob *r)
    5220             : {
    5221          36 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5222          36 :         if (ndr_flags & NDR_SCALARS) {
    5223          18 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    5224          18 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
    5225          18 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
    5226          18 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    5227             :         }
    5228          36 :         if (ndr_flags & NDR_BUFFERS) {
    5229          18 :                 if (r->data) {
    5230           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
    5231           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
    5232             :                 }
    5233             :         }
    5234          36 :         return NDR_ERR_SUCCESS;
    5235             : }
    5236             : 
    5237          24 : static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r)
    5238             : {
    5239             :         uint32_t _ptr_data;
    5240          24 :         uint32_t size_data_1 = 0;
    5241          24 :         TALLOC_CTX *_mem_save_data_0 = NULL;
    5242          24 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5243          24 :         if (ndr_flags & NDR_SCALARS) {
    5244          12 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    5245          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
    5246          12 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
    5247          12 :                 if (_ptr_data) {
    5248           0 :                         NDR_PULL_ALLOC(ndr, r->data);
    5249             :                 } else {
    5250          12 :                         r->data = NULL;
    5251             :                 }
    5252          12 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    5253             :         }
    5254          24 :         if (ndr_flags & NDR_BUFFERS) {
    5255          12 :                 if (r->data) {
    5256           0 :                         _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5257           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
    5258           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
    5259           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
    5260           0 :                         NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
    5261           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
    5262           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
    5263             :                 }
    5264          12 :                 if (r->data) {
    5265           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
    5266             :                 }
    5267             :         }
    5268          24 :         return NDR_ERR_SUCCESS;
    5269             : }
    5270             : 
    5271           0 : _PUBLIC_ void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r)
    5272             : {
    5273           0 :         ndr_print_struct(ndr, name, "samr_ValidationBlob");
    5274           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5275           0 :         ndr->depth++;
    5276           0 :         ndr_print_uint32(ndr, "length", r->length);
    5277           0 :         ndr_print_ptr(ndr, "data", r->data);
    5278           0 :         ndr->depth++;
    5279           0 :         if (r->data) {
    5280           0 :                 ndr_print_array_uint8(ndr, "data", r->data, r->length);
    5281             :         }
    5282           0 :         ndr->depth--;
    5283           0 :         ndr->depth--;
    5284             : }
    5285             : 
    5286          54 : static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordInfo *r)
    5287             : {
    5288             :         uint32_t cntr_pwd_history_1;
    5289          54 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5290          54 :         if (ndr_flags & NDR_SCALARS) {
    5291          27 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    5292          27 :                 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, r->fields_present));
    5293          27 :                 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_password_change));
    5294          27 :                 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->bad_password_time));
    5295          27 :                 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->lockout_time));
    5296          27 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pwd_count));
    5297          27 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
    5298          27 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pwd_history));
    5299          27 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    5300             :         }
    5301          54 :         if (ndr_flags & NDR_BUFFERS) {
    5302          27 :                 if (r->pwd_history) {
    5303           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pwd_history_len));
    5304           0 :                         for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (r->pwd_history_len); cntr_pwd_history_1++) {
    5305           0 :                                 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
    5306             :                         }
    5307           0 :                         for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (r->pwd_history_len); cntr_pwd_history_1++) {
    5308           0 :                                 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
    5309             :                         }
    5310             :                 }
    5311             :         }
    5312          54 :         return NDR_ERR_SUCCESS;
    5313             : }
    5314             : 
    5315          54 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r)
    5316             : {
    5317             :         uint32_t _ptr_pwd_history;
    5318          54 :         uint32_t size_pwd_history_1 = 0;
    5319             :         uint32_t cntr_pwd_history_1;
    5320          54 :         TALLOC_CTX *_mem_save_pwd_history_0 = NULL;
    5321          54 :         TALLOC_CTX *_mem_save_pwd_history_1 = NULL;
    5322          54 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5323          54 :         if (ndr_flags & NDR_SCALARS) {
    5324          27 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    5325          27 :                 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
    5326          27 :                 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_password_change));
    5327          27 :                 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->bad_password_time));
    5328          27 :                 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->lockout_time));
    5329          27 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pwd_count));
    5330          27 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwd_history_len));
    5331          27 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwd_history));
    5332          27 :                 if (_ptr_pwd_history) {
    5333           0 :                         NDR_PULL_ALLOC(ndr, r->pwd_history);
    5334             :                 } else {
    5335          27 :                         r->pwd_history = NULL;
    5336             :                 }
    5337          27 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    5338             :         }
    5339          54 :         if (ndr_flags & NDR_BUFFERS) {
    5340          27 :                 if (r->pwd_history) {
    5341           0 :                         _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5342           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
    5343           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history));
    5344           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->pwd_history, &size_pwd_history_1));
    5345           0 :                         NDR_PULL_ALLOC_N(ndr, r->pwd_history, size_pwd_history_1);
    5346           0 :                         _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr);
    5347           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
    5348           0 :                         for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (size_pwd_history_1); cntr_pwd_history_1++) {
    5349           0 :                                 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
    5350             :                         }
    5351           0 :                         for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (size_pwd_history_1); cntr_pwd_history_1++) {
    5352           0 :                                 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
    5353             :                         }
    5354           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0);
    5355           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_0, 0);
    5356             :                 }
    5357          27 :                 if (r->pwd_history) {
    5358           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pwd_history, r->pwd_history_len));
    5359             :                 }
    5360          27 :                 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (size_pwd_history_1); cntr_pwd_history_1++) {
    5361             :                 }
    5362             :         }
    5363          54 :         return NDR_ERR_SUCCESS;
    5364             : }
    5365             : 
    5366           0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r)
    5367             : {
    5368             :         uint32_t cntr_pwd_history_1;
    5369           0 :         ndr_print_struct(ndr, name, "samr_ValidatePasswordInfo");
    5370           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5371           0 :         ndr->depth++;
    5372           0 :         ndr_print_samr_ValidateFieldsPresent(ndr, "fields_present", r->fields_present);
    5373           0 :         ndr_print_NTTIME_hyper(ndr, "last_password_change", r->last_password_change);
    5374           0 :         ndr_print_NTTIME_hyper(ndr, "bad_password_time", r->bad_password_time);
    5375           0 :         ndr_print_NTTIME_hyper(ndr, "lockout_time", r->lockout_time);
    5376           0 :         ndr_print_uint32(ndr, "bad_pwd_count", r->bad_pwd_count);
    5377           0 :         ndr_print_uint32(ndr, "pwd_history_len", r->pwd_history_len);
    5378           0 :         ndr_print_ptr(ndr, "pwd_history", r->pwd_history);
    5379           0 :         ndr->depth++;
    5380           0 :         if (r->pwd_history) {
    5381           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "pwd_history", (int)r->pwd_history_len);
    5382           0 :                 ndr->depth++;
    5383           0 :                 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < (r->pwd_history_len); cntr_pwd_history_1++) {
    5384           0 :                         ndr_print_samr_ValidationBlob(ndr, "pwd_history", &r->pwd_history[cntr_pwd_history_1]);
    5385             :                 }
    5386           0 :                 ndr->depth--;
    5387             :         }
    5388           0 :         ndr->depth--;
    5389           0 :         ndr->depth--;
    5390             : }
    5391             : 
    5392          18 : static enum ndr_err_code ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordRepCtr *r)
    5393             : {
    5394          18 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5395          18 :         if (ndr_flags & NDR_SCALARS) {
    5396           9 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    5397           9 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
    5398           9 :                 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr, NDR_SCALARS, r->status));
    5399           9 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    5400             :         }
    5401          18 :         if (ndr_flags & NDR_BUFFERS) {
    5402           9 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
    5403             :         }
    5404          18 :         return NDR_ERR_SUCCESS;
    5405             : }
    5406             : 
    5407          30 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordRepCtr *r)
    5408             : {
    5409          30 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5410          30 :         if (ndr_flags & NDR_SCALARS) {
    5411          15 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    5412          15 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
    5413          15 :                 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr, NDR_SCALARS, &r->status));
    5414          15 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    5415             :         }
    5416          30 :         if (ndr_flags & NDR_BUFFERS) {
    5417          15 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
    5418             :         }
    5419          30 :         return NDR_ERR_SUCCESS;
    5420             : }
    5421             : 
    5422           0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r)
    5423             : {
    5424           0 :         ndr_print_struct(ndr, name, "samr_ValidatePasswordRepCtr");
    5425           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5426           0 :         ndr->depth++;
    5427           0 :         ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
    5428           0 :         ndr_print_samr_ValidationStatus(ndr, "status", r->status);
    5429           0 :         ndr->depth--;
    5430             : }
    5431             : 
    5432           9 : static enum ndr_err_code ndr_push_samr_ValidatePasswordRep(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordRep *r)
    5433             : {
    5434             :         uint32_t level;
    5435           9 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5436           9 :         if (ndr_flags & NDR_SCALARS) {
    5437             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5438           9 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5439           9 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    5440           9 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
    5441           9 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    5442           9 :                 switch (level) {
    5443           0 :                         case 1: {
    5444           0 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
    5445           0 :                         break; }
    5446             : 
    5447           0 :                         case 2: {
    5448           0 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
    5449           0 :                         break; }
    5450             : 
    5451           9 :                         case 3: {
    5452           9 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
    5453           9 :                         break; }
    5454             : 
    5455           0 :                         default:
    5456           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5457             :                 }
    5458           0 :         }
    5459           9 :         if (ndr_flags & NDR_BUFFERS) {
    5460           9 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5461             :                         /* We didn't get it above, and the token is not needed after this. */
    5462           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5463             :                 }
    5464           9 :                 switch (level) {
    5465           0 :                         case 1:
    5466           0 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
    5467           0 :                         break;
    5468             : 
    5469           0 :                         case 2:
    5470           0 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
    5471           0 :                         break;
    5472             : 
    5473           9 :                         case 3:
    5474           9 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
    5475           9 :                         break;
    5476             : 
    5477           0 :                         default:
    5478           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5479             :                 }
    5480           0 :         }
    5481           9 :         return NDR_ERR_SUCCESS;
    5482             : }
    5483             : 
    5484          15 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordRep(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordRep *r)
    5485             : {
    5486             :         uint32_t level;
    5487             :         uint16_t _level;
    5488          15 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5489          15 :         if (ndr_flags & NDR_SCALARS) {
    5490             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5491          15 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5492          15 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    5493          15 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
    5494          15 :                 if (_level != level) {
    5495           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    5496             :                 }
    5497          15 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    5498          15 :                 switch (level) {
    5499           0 :                         case 1: {
    5500           0 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
    5501           0 :                         break; }
    5502             : 
    5503           0 :                         case 2: {
    5504           0 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
    5505           0 :                         break; }
    5506             : 
    5507          15 :                         case 3: {
    5508          15 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
    5509          15 :                         break; }
    5510             : 
    5511           0 :                         default:
    5512           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5513             :                 }
    5514           0 :         }
    5515          15 :         if (ndr_flags & NDR_BUFFERS) {
    5516          15 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5517             :                         /* We didn't get it above, and the token is not needed after this. */
    5518           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5519             :                 }
    5520          15 :                 switch (level) {
    5521           0 :                         case 1:
    5522           0 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
    5523           0 :                         break;
    5524             : 
    5525           0 :                         case 2:
    5526           0 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
    5527           0 :                         break;
    5528             : 
    5529          15 :                         case 3:
    5530          15 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
    5531          15 :                         break;
    5532             : 
    5533           0 :                         default:
    5534           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5535             :                 }
    5536           0 :         }
    5537          15 :         return NDR_ERR_SUCCESS;
    5538             : }
    5539             : 
    5540           0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r)
    5541             : {
    5542             :         uint32_t level;
    5543           0 :         level = ndr_print_steal_switch_value(ndr, r);
    5544           0 :         ndr_print_union(ndr, name, level, "samr_ValidatePasswordRep");
    5545           0 :         switch (level) {
    5546           0 :                 case 1:
    5547           0 :                         ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr1", &r->ctr1);
    5548           0 :                 break;
    5549             : 
    5550           0 :                 case 2:
    5551           0 :                         ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr2", &r->ctr2);
    5552           0 :                 break;
    5553             : 
    5554           0 :                 case 3:
    5555           0 :                         ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr3", &r->ctr3);
    5556           0 :                 break;
    5557             : 
    5558           0 :                 default:
    5559           0 :                         ndr_print_bad_level(ndr, name, level);
    5560             :         }
    5561           0 : }
    5562             : 
    5563          36 : static enum ndr_err_code ndr_push_samr_ValidatePasswordReq3(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq3 *r)
    5564             : {
    5565          36 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5566          36 :         if (ndr_flags & NDR_SCALARS) {
    5567          18 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    5568          18 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
    5569          18 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
    5570          18 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
    5571          18 :                 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
    5572          18 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pwd_must_change_at_next_logon));
    5573          18 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->clear_lockout));
    5574          18 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    5575             :         }
    5576          36 :         if (ndr_flags & NDR_BUFFERS) {
    5577          18 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
    5578          18 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
    5579          18 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
    5580          18 :                 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
    5581             :         }
    5582          36 :         return NDR_ERR_SUCCESS;
    5583             : }
    5584             : 
    5585          24 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq3 *r)
    5586             : {
    5587          24 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5588          24 :         if (ndr_flags & NDR_SCALARS) {
    5589          12 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    5590          12 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
    5591          12 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
    5592          12 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
    5593          12 :                 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
    5594          12 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pwd_must_change_at_next_logon));
    5595          12 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->clear_lockout));
    5596          12 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    5597             :         }
    5598          24 :         if (ndr_flags & NDR_BUFFERS) {
    5599          12 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
    5600          12 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
    5601          12 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
    5602          12 :                 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
    5603             :         }
    5604          24 :         return NDR_ERR_SUCCESS;
    5605             : }
    5606             : 
    5607           0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r)
    5608             : {
    5609           0 :         ndr_print_struct(ndr, name, "samr_ValidatePasswordReq3");
    5610           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5611           0 :         ndr->depth++;
    5612           0 :         ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
    5613           0 :         ndr_print_lsa_StringLarge(ndr, "password", &r->password);
    5614           0 :         ndr_print_lsa_StringLarge(ndr, "account", &r->account);
    5615           0 :         ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
    5616           0 :         ndr_print_uint8(ndr, "pwd_must_change_at_next_logon", r->pwd_must_change_at_next_logon);
    5617           0 :         ndr_print_uint8(ndr, "clear_lockout", r->clear_lockout);
    5618           0 :         ndr->depth--;
    5619             : }
    5620             : 
    5621           0 : static enum ndr_err_code ndr_push_samr_ValidatePasswordReq2(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq2 *r)
    5622             : {
    5623           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5624           0 :         if (ndr_flags & NDR_SCALARS) {
    5625           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    5626           0 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
    5627           0 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
    5628           0 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
    5629           0 :                 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
    5630           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
    5631           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    5632             :         }
    5633           0 :         if (ndr_flags & NDR_BUFFERS) {
    5634           0 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
    5635           0 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
    5636           0 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
    5637           0 :                 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
    5638             :         }
    5639           0 :         return NDR_ERR_SUCCESS;
    5640             : }
    5641             : 
    5642           0 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq2 *r)
    5643             : {
    5644           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5645           0 :         if (ndr_flags & NDR_SCALARS) {
    5646           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    5647           0 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
    5648           0 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
    5649           0 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
    5650           0 :                 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
    5651           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
    5652           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    5653             :         }
    5654           0 :         if (ndr_flags & NDR_BUFFERS) {
    5655           0 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
    5656           0 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
    5657           0 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
    5658           0 :                 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
    5659             :         }
    5660           0 :         return NDR_ERR_SUCCESS;
    5661             : }
    5662             : 
    5663           0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r)
    5664             : {
    5665           0 :         ndr_print_struct(ndr, name, "samr_ValidatePasswordReq2");
    5666           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5667           0 :         ndr->depth++;
    5668           0 :         ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
    5669           0 :         ndr_print_lsa_StringLarge(ndr, "password", &r->password);
    5670           0 :         ndr_print_lsa_StringLarge(ndr, "account", &r->account);
    5671           0 :         ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
    5672           0 :         ndr_print_uint8(ndr, "password_matched", r->password_matched);
    5673           0 :         ndr->depth--;
    5674             : }
    5675             : 
    5676           0 : static enum ndr_err_code ndr_push_samr_ValidatePasswordReq1(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq1 *r)
    5677             : {
    5678           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5679           0 :         if (ndr_flags & NDR_SCALARS) {
    5680           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    5681           0 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
    5682           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
    5683           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    5684             :         }
    5685           0 :         if (ndr_flags & NDR_BUFFERS) {
    5686           0 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
    5687             :         }
    5688           0 :         return NDR_ERR_SUCCESS;
    5689             : }
    5690             : 
    5691           0 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq1 *r)
    5692             : {
    5693           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5694           0 :         if (ndr_flags & NDR_SCALARS) {
    5695           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    5696           0 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
    5697           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
    5698           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    5699             :         }
    5700           0 :         if (ndr_flags & NDR_BUFFERS) {
    5701           0 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
    5702             :         }
    5703           0 :         return NDR_ERR_SUCCESS;
    5704             : }
    5705             : 
    5706           0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r)
    5707             : {
    5708           0 :         ndr_print_struct(ndr, name, "samr_ValidatePasswordReq1");
    5709           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5710           0 :         ndr->depth++;
    5711           0 :         ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
    5712           0 :         ndr_print_uint8(ndr, "password_matched", r->password_matched);
    5713           0 :         ndr->depth--;
    5714             : }
    5715             : 
    5716          18 : static enum ndr_err_code ndr_push_samr_ValidatePasswordReq(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordReq *r)
    5717             : {
    5718             :         uint32_t level;
    5719          18 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5720          18 :         if (ndr_flags & NDR_SCALARS) {
    5721             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5722          18 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5723          18 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    5724          18 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
    5725          18 :                 NDR_CHECK(ndr_push_union_align(ndr, 8));
    5726          18 :                 switch (level) {
    5727           0 :                         case 1: {
    5728           0 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
    5729           0 :                         break; }
    5730             : 
    5731           0 :                         case 2: {
    5732           0 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
    5733           0 :                         break; }
    5734             : 
    5735          18 :                         case 3: {
    5736          18 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
    5737          18 :                         break; }
    5738             : 
    5739           0 :                         default:
    5740           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5741             :                 }
    5742           0 :         }
    5743          18 :         if (ndr_flags & NDR_BUFFERS) {
    5744          18 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5745             :                         /* We didn't get it above, and the token is not needed after this. */
    5746           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5747             :                 }
    5748          18 :                 switch (level) {
    5749           0 :                         case 1:
    5750           0 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
    5751           0 :                         break;
    5752             : 
    5753           0 :                         case 2:
    5754           0 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
    5755           0 :                         break;
    5756             : 
    5757          18 :                         case 3:
    5758          18 :                                 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
    5759          18 :                         break;
    5760             : 
    5761           0 :                         default:
    5762           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    5763             :                 }
    5764           0 :         }
    5765          18 :         return NDR_ERR_SUCCESS;
    5766             : }
    5767             : 
    5768          12 : static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordReq *r)
    5769             : {
    5770             :         uint32_t level;
    5771             :         uint16_t _level;
    5772          12 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5773          12 :         if (ndr_flags & NDR_SCALARS) {
    5774             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5775          12 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5776          12 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    5777          12 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
    5778          12 :                 if (_level != level) {
    5779           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    5780             :                 }
    5781          12 :                 NDR_CHECK(ndr_pull_union_align(ndr, 8));
    5782          12 :                 switch (level) {
    5783           0 :                         case 1: {
    5784           0 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
    5785           0 :                         break; }
    5786             : 
    5787           0 :                         case 2: {
    5788           0 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
    5789           0 :                         break; }
    5790             : 
    5791          12 :                         case 3: {
    5792          12 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
    5793          12 :                         break; }
    5794             : 
    5795           0 :                         default:
    5796           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5797             :                 }
    5798           0 :         }
    5799          12 :         if (ndr_flags & NDR_BUFFERS) {
    5800          12 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5801             :                         /* We didn't get it above, and the token is not needed after this. */
    5802           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5803             :                 }
    5804          12 :                 switch (level) {
    5805           0 :                         case 1:
    5806           0 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
    5807           0 :                         break;
    5808             : 
    5809           0 :                         case 2:
    5810           0 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
    5811           0 :                         break;
    5812             : 
    5813          12 :                         case 3:
    5814          12 :                                 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
    5815          12 :                         break;
    5816             : 
    5817           0 :                         default:
    5818           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    5819             :                 }
    5820           0 :         }
    5821          12 :         return NDR_ERR_SUCCESS;
    5822             : }
    5823             : 
    5824           0 : _PUBLIC_ void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r)
    5825             : {
    5826             :         uint32_t level;
    5827           0 :         level = ndr_print_steal_switch_value(ndr, r);
    5828           0 :         ndr_print_union(ndr, name, level, "samr_ValidatePasswordReq");
    5829           0 :         switch (level) {
    5830           0 :                 case 1:
    5831           0 :                         ndr_print_samr_ValidatePasswordReq1(ndr, "req1", &r->req1);
    5832           0 :                 break;
    5833             : 
    5834           0 :                 case 2:
    5835           0 :                         ndr_print_samr_ValidatePasswordReq2(ndr, "req2", &r->req2);
    5836           0 :                 break;
    5837             : 
    5838           0 :                 case 3:
    5839           0 :                         ndr_print_samr_ValidatePasswordReq3(ndr, "req3", &r->req3);
    5840           0 :                 break;
    5841             : 
    5842           0 :                 default:
    5843           0 :                         ndr_print_bad_level(ndr, name, level);
    5844             :         }
    5845           0 : }
    5846             : 
    5847        4278 : static enum ndr_err_code ndr_push_samr_Connect(struct ndr_push *ndr, int flags, const struct samr_Connect *r)
    5848             : {
    5849        4278 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    5850        4278 :         if (flags & NDR_IN) {
    5851        2008 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
    5852        2008 :                 if (r->in.system_name) {
    5853           0 :                         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
    5854             :                 }
    5855        2226 :                 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
    5856             :         }
    5857        4278 :         if (flags & NDR_OUT) {
    5858        2270 :                 if (r->out.connect_handle == NULL) {
    5859           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    5860             :                 }
    5861        2270 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
    5862        2270 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    5863             :         }
    5864        3798 :         return NDR_ERR_SUCCESS;
    5865             : }
    5866             : 
    5867        3942 : static enum ndr_err_code ndr_pull_samr_Connect(struct ndr_pull *ndr, int flags, struct samr_Connect *r)
    5868             : {
    5869             :         uint32_t _ptr_system_name;
    5870        3942 :         TALLOC_CTX *_mem_save_system_name_0 = NULL;
    5871        3942 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
    5872        3942 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    5873        3942 :         if (flags & NDR_IN) {
    5874        1934 :                 NDR_ZERO_STRUCT(r->out);
    5875             : 
    5876        1934 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
    5877        1934 :                 if (_ptr_system_name) {
    5878           0 :                         NDR_PULL_ALLOC(ndr, r->in.system_name);
    5879             :                 } else {
    5880        1934 :                         r->in.system_name = NULL;
    5881             :                 }
    5882        1934 :                 if (r->in.system_name) {
    5883           0 :                         _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5884           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
    5885           0 :                         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
    5886           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
    5887             :                 }
    5888        2152 :                 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
    5889        1934 :                 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
    5890        1934 :                 NDR_ZERO_STRUCTP(r->out.connect_handle);
    5891             :         }
    5892        3942 :         if (flags & NDR_OUT) {
    5893             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    5894             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    5895        2008 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    5896         336 :                         NDR_PULL_ALLOC(ndr, r->out.connect_handle);
    5897             :                 }
    5898        2008 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5899        2008 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
    5900        2008 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
    5901        2008 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
    5902        2008 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    5903             :         }
    5904        3506 :         return NDR_ERR_SUCCESS;
    5905             : }
    5906             : 
    5907         672 : _PUBLIC_ void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r)
    5908             : {
    5909         672 :         ndr_print_struct(ndr, name, "samr_Connect");
    5910         672 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5911         672 :         ndr->depth++;
    5912         672 :         if (flags & NDR_SET_VALUES) {
    5913           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    5914             :         }
    5915         672 :         if (flags & NDR_IN) {
    5916           0 :                 ndr_print_struct(ndr, "in", "samr_Connect");
    5917           0 :                 ndr->depth++;
    5918           0 :                 ndr_print_ptr(ndr, "system_name", r->in.system_name);
    5919           0 :                 ndr->depth++;
    5920           0 :                 if (r->in.system_name) {
    5921           0 :                         ndr_print_uint16(ndr, "system_name", *r->in.system_name);
    5922             :                 }
    5923           0 :                 ndr->depth--;
    5924           0 :                 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
    5925           0 :                 ndr->depth--;
    5926             :         }
    5927         672 :         if (flags & NDR_OUT) {
    5928         672 :                 ndr_print_struct(ndr, "out", "samr_Connect");
    5929         672 :                 ndr->depth++;
    5930         672 :                 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
    5931         672 :                 ndr->depth++;
    5932         672 :                 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
    5933         672 :                 ndr->depth--;
    5934         672 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    5935         672 :                 ndr->depth--;
    5936             :         }
    5937         672 :         ndr->depth--;
    5938             : }
    5939             : 
    5940       15510 : _PUBLIC_ enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *r)
    5941             : {
    5942       15510 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    5943       15510 :         if (flags & NDR_IN) {
    5944        8551 :                 if (r->in.handle == NULL) {
    5945           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    5946             :                 }
    5947        8551 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
    5948             :         }
    5949       15510 :         if (flags & NDR_OUT) {
    5950        6959 :                 if (r->out.handle == NULL) {
    5951           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    5952             :                 }
    5953        6959 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
    5954        6959 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    5955             :         }
    5956       15484 :         return NDR_ERR_SUCCESS;
    5957             : }
    5958             : 
    5959       15310 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r)
    5960             : {
    5961       15310 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
    5962       15310 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    5963       15310 :         if (flags & NDR_IN) {
    5964        6789 :                 NDR_ZERO_STRUCT(r->out);
    5965             : 
    5966        6789 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    5967        6789 :                         NDR_PULL_ALLOC(ndr, r->in.handle);
    5968             :                 }
    5969        6789 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5970        6789 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
    5971        6789 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
    5972        6789 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
    5973        6789 :                 NDR_PULL_ALLOC(ndr, r->out.handle);
    5974        6789 :                 *r->out.handle = *r->in.handle;
    5975             :         }
    5976       15310 :         if (flags & NDR_OUT) {
    5977             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    5978             :                 if (r->in.handle == NULL) {
    5979             :                         NDR_PULL_ALLOC(ndr, r->in.handle);
    5980             :                         NDR_ZERO_STRUCTP(r->in.handle);
    5981             :                 }
    5982             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    5983        8521 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    5984        2913 :                         NDR_PULL_ALLOC(ndr, r->out.handle);
    5985             :                 }
    5986        8521 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5987        8521 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
    5988        8521 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
    5989        8521 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
    5990        8521 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    5991             :         }
    5992       15282 :         return NDR_ERR_SUCCESS;
    5993             : }
    5994             : 
    5995         412 : _PUBLIC_ void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r)
    5996             : {
    5997         412 :         ndr_print_struct(ndr, name, "samr_Close");
    5998         412 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5999         412 :         ndr->depth++;
    6000         412 :         if (flags & NDR_SET_VALUES) {
    6001           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6002             :         }
    6003         412 :         if (flags & NDR_IN) {
    6004           2 :                 ndr_print_struct(ndr, "in", "samr_Close");
    6005           2 :                 ndr->depth++;
    6006           2 :                 ndr_print_ptr(ndr, "handle", r->in.handle);
    6007           2 :                 ndr->depth++;
    6008           2 :                 ndr_print_policy_handle(ndr, "handle", r->in.handle);
    6009           2 :                 ndr->depth--;
    6010           2 :                 ndr->depth--;
    6011             :         }
    6012         412 :         if (flags & NDR_OUT) {
    6013         410 :                 ndr_print_struct(ndr, "out", "samr_Close");
    6014         410 :                 ndr->depth++;
    6015         410 :                 ndr_print_ptr(ndr, "handle", r->out.handle);
    6016         410 :                 ndr->depth++;
    6017         410 :                 ndr_print_policy_handle(ndr, "handle", r->out.handle);
    6018         410 :                 ndr->depth--;
    6019         410 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6020         410 :                 ndr->depth--;
    6021             :         }
    6022         412 :         ndr->depth--;
    6023             : }
    6024             : 
    6025          10 : static enum ndr_err_code ndr_push_samr_SetSecurity(struct ndr_push *ndr, int flags, const struct samr_SetSecurity *r)
    6026             : {
    6027          10 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6028          10 :         if (flags & NDR_IN) {
    6029           6 :                 if (r->in.handle == NULL) {
    6030           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6031             :                 }
    6032           6 :                 if (r->in.sdbuf == NULL) {
    6033           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6034             :                 }
    6035           6 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
    6036           6 :                 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
    6037           6 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
    6038             :         }
    6039          10 :         if (flags & NDR_OUT) {
    6040           4 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6041             :         }
    6042          10 :         return NDR_ERR_SUCCESS;
    6043             : }
    6044             : 
    6045          10 : static enum ndr_err_code ndr_pull_samr_SetSecurity(struct ndr_pull *ndr, int flags, struct samr_SetSecurity *r)
    6046             : {
    6047          10 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
    6048          10 :         TALLOC_CTX *_mem_save_sdbuf_0 = NULL;
    6049          10 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6050          10 :         if (flags & NDR_IN) {
    6051           6 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6052           6 :                         NDR_PULL_ALLOC(ndr, r->in.handle);
    6053             :                 }
    6054           6 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6055           6 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
    6056           6 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
    6057           6 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6058           6 :                 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
    6059           6 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6060           6 :                         NDR_PULL_ALLOC(ndr, r->in.sdbuf);
    6061             :                 }
    6062           6 :                 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6063           6 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC);
    6064           6 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
    6065           6 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
    6066             :         }
    6067          10 :         if (flags & NDR_OUT) {
    6068             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6069             :                 if (r->in.handle == NULL) {
    6070             :                         NDR_PULL_ALLOC(ndr, r->in.handle);
    6071             :                         NDR_ZERO_STRUCTP(r->in.handle);
    6072             :                 }
    6073             :                 if (r->in.sdbuf == NULL) {
    6074             :                         NDR_PULL_ALLOC(ndr, r->in.sdbuf);
    6075             :                         NDR_ZERO_STRUCTP(r->in.sdbuf);
    6076             :                 }
    6077             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6078           4 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6079             :         }
    6080          10 :         return NDR_ERR_SUCCESS;
    6081             : }
    6082             : 
    6083           0 : _PUBLIC_ void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r)
    6084             : {
    6085           0 :         ndr_print_struct(ndr, name, "samr_SetSecurity");
    6086           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6087           0 :         ndr->depth++;
    6088           0 :         if (flags & NDR_SET_VALUES) {
    6089           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6090             :         }
    6091           0 :         if (flags & NDR_IN) {
    6092           0 :                 ndr_print_struct(ndr, "in", "samr_SetSecurity");
    6093           0 :                 ndr->depth++;
    6094           0 :                 ndr_print_ptr(ndr, "handle", r->in.handle);
    6095           0 :                 ndr->depth++;
    6096           0 :                 ndr_print_policy_handle(ndr, "handle", r->in.handle);
    6097           0 :                 ndr->depth--;
    6098           0 :                 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
    6099           0 :                 ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf);
    6100           0 :                 ndr->depth++;
    6101           0 :                 ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf);
    6102           0 :                 ndr->depth--;
    6103           0 :                 ndr->depth--;
    6104             :         }
    6105           0 :         if (flags & NDR_OUT) {
    6106           0 :                 ndr_print_struct(ndr, "out", "samr_SetSecurity");
    6107           0 :                 ndr->depth++;
    6108           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6109           0 :                 ndr->depth--;
    6110             :         }
    6111           0 :         ndr->depth--;
    6112             : }
    6113             : 
    6114         580 : static enum ndr_err_code ndr_push_samr_QuerySecurity(struct ndr_push *ndr, int flags, const struct samr_QuerySecurity *r)
    6115             : {
    6116         580 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6117         580 :         if (flags & NDR_IN) {
    6118         290 :                 if (r->in.handle == NULL) {
    6119           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6120             :                 }
    6121         290 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
    6122         290 :                 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
    6123             :         }
    6124         580 :         if (flags & NDR_OUT) {
    6125         290 :                 if (r->out.sdbuf == NULL) {
    6126           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6127             :                 }
    6128         290 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf));
    6129         290 :                 if (*r->out.sdbuf) {
    6130         290 :                         NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
    6131             :                 }
    6132         290 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6133             :         }
    6134         580 :         return NDR_ERR_SUCCESS;
    6135             : }
    6136             : 
    6137         580 : static enum ndr_err_code ndr_pull_samr_QuerySecurity(struct ndr_pull *ndr, int flags, struct samr_QuerySecurity *r)
    6138             : {
    6139             :         uint32_t _ptr_sdbuf;
    6140         580 :         TALLOC_CTX *_mem_save_handle_0 = NULL;
    6141         580 :         TALLOC_CTX *_mem_save_sdbuf_0 = NULL;
    6142         580 :         TALLOC_CTX *_mem_save_sdbuf_1 = NULL;
    6143         580 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6144         580 :         if (flags & NDR_IN) {
    6145         290 :                 NDR_ZERO_STRUCT(r->out);
    6146             : 
    6147         290 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6148         290 :                         NDR_PULL_ALLOC(ndr, r->in.handle);
    6149             :                 }
    6150         290 :                 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6151         290 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
    6152         290 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
    6153         290 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6154         290 :                 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
    6155         290 :                 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
    6156         290 :                 NDR_ZERO_STRUCTP(r->out.sdbuf);
    6157             :         }
    6158         580 :         if (flags & NDR_OUT) {
    6159             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6160             :                 if (r->in.handle == NULL) {
    6161             :                         NDR_PULL_ALLOC(ndr, r->in.handle);
    6162             :                         NDR_ZERO_STRUCTP(r->in.handle);
    6163             :                 }
    6164             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6165         290 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6166         137 :                         NDR_PULL_ALLOC(ndr, r->out.sdbuf);
    6167             :                 }
    6168         290 :                 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6169         290 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC);
    6170         290 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf));
    6171         290 :                 if (_ptr_sdbuf) {
    6172         290 :                         NDR_PULL_ALLOC(ndr, *r->out.sdbuf);
    6173             :                 } else {
    6174           0 :                         *r->out.sdbuf = NULL;
    6175             :                 }
    6176         290 :                 if (*r->out.sdbuf) {
    6177         290 :                         _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr);
    6178         290 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0);
    6179         290 :                         NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
    6180         290 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0);
    6181             :                 }
    6182         290 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
    6183         290 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6184             :         }
    6185         580 :         return NDR_ERR_SUCCESS;
    6186             : }
    6187             : 
    6188           0 : _PUBLIC_ void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r)
    6189             : {
    6190           0 :         ndr_print_struct(ndr, name, "samr_QuerySecurity");
    6191           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6192           0 :         ndr->depth++;
    6193           0 :         if (flags & NDR_SET_VALUES) {
    6194           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6195             :         }
    6196           0 :         if (flags & NDR_IN) {
    6197           0 :                 ndr_print_struct(ndr, "in", "samr_QuerySecurity");
    6198           0 :                 ndr->depth++;
    6199           0 :                 ndr_print_ptr(ndr, "handle", r->in.handle);
    6200           0 :                 ndr->depth++;
    6201           0 :                 ndr_print_policy_handle(ndr, "handle", r->in.handle);
    6202           0 :                 ndr->depth--;
    6203           0 :                 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
    6204           0 :                 ndr->depth--;
    6205             :         }
    6206           0 :         if (flags & NDR_OUT) {
    6207           0 :                 ndr_print_struct(ndr, "out", "samr_QuerySecurity");
    6208           0 :                 ndr->depth++;
    6209           0 :                 ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf);
    6210           0 :                 ndr->depth++;
    6211           0 :                 ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf);
    6212           0 :                 ndr->depth++;
    6213           0 :                 if (*r->out.sdbuf) {
    6214           0 :                         ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf);
    6215             :                 }
    6216           0 :                 ndr->depth--;
    6217           0 :                 ndr->depth--;
    6218           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6219           0 :                 ndr->depth--;
    6220             :         }
    6221           0 :         ndr->depth--;
    6222             : }
    6223             : 
    6224           0 : static enum ndr_err_code ndr_push_samr_Shutdown(struct ndr_push *ndr, int flags, const struct samr_Shutdown *r)
    6225             : {
    6226           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6227           0 :         if (flags & NDR_IN) {
    6228           0 :                 if (r->in.connect_handle == NULL) {
    6229           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6230             :                 }
    6231           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
    6232             :         }
    6233           0 :         if (flags & NDR_OUT) {
    6234           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6235             :         }
    6236           0 :         return NDR_ERR_SUCCESS;
    6237             : }
    6238             : 
    6239           0 : static enum ndr_err_code ndr_pull_samr_Shutdown(struct ndr_pull *ndr, int flags, struct samr_Shutdown *r)
    6240             : {
    6241           0 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
    6242           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6243           0 :         if (flags & NDR_IN) {
    6244           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6245           0 :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
    6246             :                 }
    6247           0 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6248           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
    6249           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
    6250           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6251             :         }
    6252           0 :         if (flags & NDR_OUT) {
    6253             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6254             :                 if (r->in.connect_handle == NULL) {
    6255             :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
    6256             :                         NDR_ZERO_STRUCTP(r->in.connect_handle);
    6257             :                 }
    6258             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6259           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6260             :         }
    6261           0 :         return NDR_ERR_SUCCESS;
    6262             : }
    6263             : 
    6264           0 : _PUBLIC_ void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r)
    6265             : {
    6266           0 :         ndr_print_struct(ndr, name, "samr_Shutdown");
    6267           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6268           0 :         ndr->depth++;
    6269           0 :         if (flags & NDR_SET_VALUES) {
    6270           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6271             :         }
    6272           0 :         if (flags & NDR_IN) {
    6273           0 :                 ndr_print_struct(ndr, "in", "samr_Shutdown");
    6274           0 :                 ndr->depth++;
    6275           0 :                 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
    6276           0 :                 ndr->depth++;
    6277           0 :                 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
    6278           0 :                 ndr->depth--;
    6279           0 :                 ndr->depth--;
    6280             :         }
    6281           0 :         if (flags & NDR_OUT) {
    6282           0 :                 ndr_print_struct(ndr, "out", "samr_Shutdown");
    6283           0 :                 ndr->depth++;
    6284           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6285           0 :                 ndr->depth--;
    6286             :         }
    6287           0 :         ndr->depth--;
    6288             : }
    6289             : 
    6290        1980 : static enum ndr_err_code ndr_push_samr_LookupDomain(struct ndr_push *ndr, int flags, const struct samr_LookupDomain *r)
    6291             : {
    6292        1980 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6293        1980 :         if (flags & NDR_IN) {
    6294         996 :                 if (r->in.connect_handle == NULL) {
    6295           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6296             :                 }
    6297         996 :                 if (r->in.domain_name == NULL) {
    6298           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6299             :                 }
    6300         996 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
    6301         996 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
    6302             :         }
    6303        1980 :         if (flags & NDR_OUT) {
    6304         984 :                 if (r->out.sid == NULL) {
    6305           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6306             :                 }
    6307         984 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
    6308         984 :                 if (*r->out.sid) {
    6309         801 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
    6310             :                 }
    6311         984 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6312             :         }
    6313        1980 :         return NDR_ERR_SUCCESS;
    6314             : }
    6315             : 
    6316        1916 : static enum ndr_err_code ndr_pull_samr_LookupDomain(struct ndr_pull *ndr, int flags, struct samr_LookupDomain *r)
    6317             : {
    6318             :         uint32_t _ptr_sid;
    6319        1916 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
    6320        1916 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
    6321        1916 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    6322        1916 :         TALLOC_CTX *_mem_save_sid_1 = NULL;
    6323        1916 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6324        1916 :         if (flags & NDR_IN) {
    6325         920 :                 NDR_ZERO_STRUCT(r->out);
    6326             : 
    6327         920 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6328         920 :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
    6329             :                 }
    6330         920 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6331         920 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
    6332         920 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
    6333         920 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6334         920 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6335         920 :                         NDR_PULL_ALLOC(ndr, r->in.domain_name);
    6336             :                 }
    6337         920 :                 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6338         920 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, LIBNDR_FLAG_REF_ALLOC);
    6339         920 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
    6340         920 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
    6341         920 :                 NDR_PULL_ALLOC(ndr, r->out.sid);
    6342         920 :                 NDR_ZERO_STRUCTP(r->out.sid);
    6343             :         }
    6344        1916 :         if (flags & NDR_OUT) {
    6345             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6346             :                 if (r->in.connect_handle == NULL) {
    6347             :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
    6348             :                         NDR_ZERO_STRUCTP(r->in.connect_handle);
    6349             :                 }
    6350             :                 if (r->in.domain_name == NULL) {
    6351             :                         NDR_PULL_ALLOC(ndr, r->in.domain_name);
    6352             :                         NDR_ZERO_STRUCTP(r->in.domain_name);
    6353             :                 }
    6354             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6355         996 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6356         254 :                         NDR_PULL_ALLOC(ndr, r->out.sid);
    6357             :                 }
    6358         996 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6359         996 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
    6360         996 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    6361         996 :                 if (_ptr_sid) {
    6362         804 :                         NDR_PULL_ALLOC(ndr, *r->out.sid);
    6363             :                 } else {
    6364         192 :                         *r->out.sid = NULL;
    6365             :                 }
    6366         996 :                 if (*r->out.sid) {
    6367         804 :                         _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
    6368         804 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
    6369         804 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
    6370         804 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
    6371             :                 }
    6372         996 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
    6373         996 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6374             :         }
    6375        1916 :         return NDR_ERR_SUCCESS;
    6376             : }
    6377             : 
    6378         128 : _PUBLIC_ void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r)
    6379             : {
    6380         128 :         ndr_print_struct(ndr, name, "samr_LookupDomain");
    6381         128 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6382         128 :         ndr->depth++;
    6383         128 :         if (flags & NDR_SET_VALUES) {
    6384           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6385             :         }
    6386         128 :         if (flags & NDR_IN) {
    6387           0 :                 ndr_print_struct(ndr, "in", "samr_LookupDomain");
    6388           0 :                 ndr->depth++;
    6389           0 :                 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
    6390           0 :                 ndr->depth++;
    6391           0 :                 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
    6392           0 :                 ndr->depth--;
    6393           0 :                 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
    6394           0 :                 ndr->depth++;
    6395           0 :                 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
    6396           0 :                 ndr->depth--;
    6397           0 :                 ndr->depth--;
    6398             :         }
    6399         128 :         if (flags & NDR_OUT) {
    6400         128 :                 ndr_print_struct(ndr, "out", "samr_LookupDomain");
    6401         128 :                 ndr->depth++;
    6402         128 :                 ndr_print_ptr(ndr, "sid", r->out.sid);
    6403         128 :                 ndr->depth++;
    6404         128 :                 ndr_print_ptr(ndr, "sid", *r->out.sid);
    6405         128 :                 ndr->depth++;
    6406         128 :                 if (*r->out.sid) {
    6407         128 :                         ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
    6408             :                 }
    6409         128 :                 ndr->depth--;
    6410         128 :                 ndr->depth--;
    6411         128 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6412         128 :                 ndr->depth--;
    6413             :         }
    6414         128 :         ndr->depth--;
    6415             : }
    6416             : 
    6417         505 : static enum ndr_err_code ndr_push_samr_EnumDomains(struct ndr_push *ndr, int flags, const struct samr_EnumDomains *r)
    6418             : {
    6419         505 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6420         505 :         if (flags & NDR_IN) {
    6421         258 :                 if (r->in.connect_handle == NULL) {
    6422           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6423             :                 }
    6424         258 :                 if (r->in.resume_handle == NULL) {
    6425           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6426             :                 }
    6427         258 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
    6428         258 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
    6429         258 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
    6430             :         }
    6431         505 :         if (flags & NDR_OUT) {
    6432         247 :                 if (r->out.resume_handle == NULL) {
    6433           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6434             :                 }
    6435         247 :                 if (r->out.sam == NULL) {
    6436           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6437             :                 }
    6438         247 :                 if (r->out.num_entries == NULL) {
    6439           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6440             :                 }
    6441         247 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
    6442         247 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
    6443         247 :                 if (*r->out.sam) {
    6444         209 :                         NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
    6445             :                 }
    6446         247 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
    6447         247 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6448             :         }
    6449         505 :         return NDR_ERR_SUCCESS;
    6450             : }
    6451             : 
    6452         505 : static enum ndr_err_code ndr_pull_samr_EnumDomains(struct ndr_pull *ndr, int flags, struct samr_EnumDomains *r)
    6453             : {
    6454             :         uint32_t _ptr_sam;
    6455         505 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
    6456         505 :         TALLOC_CTX *_mem_save_resume_handle_0 = NULL;
    6457         505 :         TALLOC_CTX *_mem_save_sam_0 = NULL;
    6458         505 :         TALLOC_CTX *_mem_save_sam_1 = NULL;
    6459         505 :         TALLOC_CTX *_mem_save_num_entries_0 = NULL;
    6460         505 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6461         505 :         if (flags & NDR_IN) {
    6462         247 :                 NDR_ZERO_STRUCT(r->out);
    6463             : 
    6464         247 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6465         247 :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
    6466             :                 }
    6467         247 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6468         247 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
    6469         247 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
    6470         247 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6471         247 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6472         247 :                         NDR_PULL_ALLOC(ndr, r->in.resume_handle);
    6473             :                 }
    6474         247 :                 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6475         247 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
    6476         247 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
    6477         247 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6478         247 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
    6479         247 :                 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
    6480         247 :                 *r->out.resume_handle = *r->in.resume_handle;
    6481         247 :                 NDR_PULL_ALLOC(ndr, r->out.sam);
    6482         247 :                 NDR_ZERO_STRUCTP(r->out.sam);
    6483         247 :                 NDR_PULL_ALLOC(ndr, r->out.num_entries);
    6484         247 :                 NDR_ZERO_STRUCTP(r->out.num_entries);
    6485             :         }
    6486         505 :         if (flags & NDR_OUT) {
    6487             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6488             :                 if (r->in.connect_handle == NULL) {
    6489             :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
    6490             :                         NDR_ZERO_STRUCTP(r->in.connect_handle);
    6491             :                 }
    6492             :                 if (r->in.resume_handle == NULL) {
    6493             :                         NDR_PULL_ALLOC(ndr, r->in.resume_handle);
    6494             :                         NDR_ZERO_STRUCTP(r->in.resume_handle);
    6495             :                 }
    6496             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6497         258 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6498          92 :                         NDR_PULL_ALLOC(ndr, r->out.resume_handle);
    6499             :                 }
    6500         258 :                 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6501         258 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
    6502         258 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
    6503         258 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6504         258 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6505          92 :                         NDR_PULL_ALLOC(ndr, r->out.sam);
    6506             :                 }
    6507         258 :                 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6508         258 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
    6509         258 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
    6510         258 :                 if (_ptr_sam) {
    6511         220 :                         NDR_PULL_ALLOC(ndr, *r->out.sam);
    6512             :                 } else {
    6513          38 :                         *r->out.sam = NULL;
    6514             :                 }
    6515         258 :                 if (*r->out.sam) {
    6516         220 :                         _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
    6517         220 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
    6518         220 :                         NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
    6519         220 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
    6520             :                 }
    6521         258 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
    6522         258 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6523          92 :                         NDR_PULL_ALLOC(ndr, r->out.num_entries);
    6524             :                 }
    6525         258 :                 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6526         258 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
    6527         258 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
    6528         258 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
    6529         258 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6530             :         }
    6531         505 :         return NDR_ERR_SUCCESS;
    6532             : }
    6533             : 
    6534           0 : _PUBLIC_ void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r)
    6535             : {
    6536           0 :         ndr_print_struct(ndr, name, "samr_EnumDomains");
    6537           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6538           0 :         ndr->depth++;
    6539           0 :         if (flags & NDR_SET_VALUES) {
    6540           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6541             :         }
    6542           0 :         if (flags & NDR_IN) {
    6543           0 :                 ndr_print_struct(ndr, "in", "samr_EnumDomains");
    6544           0 :                 ndr->depth++;
    6545           0 :                 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
    6546           0 :                 ndr->depth++;
    6547           0 :                 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
    6548           0 :                 ndr->depth--;
    6549           0 :                 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
    6550           0 :                 ndr->depth++;
    6551           0 :                 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
    6552           0 :                 ndr->depth--;
    6553           0 :                 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
    6554           0 :                 ndr->depth--;
    6555             :         }
    6556           0 :         if (flags & NDR_OUT) {
    6557           0 :                 ndr_print_struct(ndr, "out", "samr_EnumDomains");
    6558           0 :                 ndr->depth++;
    6559           0 :                 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
    6560           0 :                 ndr->depth++;
    6561           0 :                 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
    6562           0 :                 ndr->depth--;
    6563           0 :                 ndr_print_ptr(ndr, "sam", r->out.sam);
    6564           0 :                 ndr->depth++;
    6565           0 :                 ndr_print_ptr(ndr, "sam", *r->out.sam);
    6566           0 :                 ndr->depth++;
    6567           0 :                 if (*r->out.sam) {
    6568           0 :                         ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
    6569             :                 }
    6570           0 :                 ndr->depth--;
    6571           0 :                 ndr->depth--;
    6572           0 :                 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
    6573           0 :                 ndr->depth++;
    6574           0 :                 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
    6575           0 :                 ndr->depth--;
    6576           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6577           0 :                 ndr->depth--;
    6578             :         }
    6579           0 :         ndr->depth--;
    6580             : }
    6581             : 
    6582        5302 : _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r)
    6583             : {
    6584        5302 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6585        5302 :         if (flags & NDR_IN) {
    6586        2512 :                 if (r->in.connect_handle == NULL) {
    6587           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6588             :                 }
    6589        2512 :                 if (r->in.sid == NULL) {
    6590           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6591             :                 }
    6592        2512 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
    6593        2722 :                 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
    6594        2512 :                 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
    6595             :         }
    6596        5302 :         if (flags & NDR_OUT) {
    6597        2790 :                 if (r->out.domain_handle == NULL) {
    6598           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6599             :                 }
    6600        2790 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
    6601        2790 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6602             :         }
    6603        4838 :         return NDR_ERR_SUCCESS;
    6604             : }
    6605             : 
    6606        4976 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r)
    6607             : {
    6608        4976 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
    6609        4976 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    6610        4976 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    6611        4976 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6612        4976 :         if (flags & NDR_IN) {
    6613        2478 :                 NDR_ZERO_STRUCT(r->out);
    6614             : 
    6615        2478 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6616        2478 :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
    6617             :                 }
    6618        2478 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6619        2478 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
    6620        2478 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
    6621        2478 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6622        2692 :                 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
    6623        2478 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6624        2478 :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    6625             :                 }
    6626        2478 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6627        2478 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
    6628        2478 :                 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
    6629        2478 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
    6630        2478 :                 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
    6631        2478 :                 NDR_ZERO_STRUCTP(r->out.domain_handle);
    6632             :         }
    6633        4976 :         if (flags & NDR_OUT) {
    6634             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6635             :                 if (r->in.connect_handle == NULL) {
    6636             :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
    6637             :                         NDR_ZERO_STRUCTP(r->in.connect_handle);
    6638             :                 }
    6639             :                 if (r->in.sid == NULL) {
    6640             :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    6641             :                         NDR_ZERO_STRUCTP(r->in.sid);
    6642             :                 }
    6643             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6644        2498 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6645         860 :                         NDR_PULL_ALLOC(ndr, r->out.domain_handle);
    6646             :                 }
    6647        2498 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6648        2498 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    6649        2498 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
    6650        2498 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6651        2498 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6652             :         }
    6653        4550 :         return NDR_ERR_SUCCESS;
    6654             : }
    6655             : 
    6656         664 : _PUBLIC_ void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r)
    6657             : {
    6658         664 :         ndr_print_struct(ndr, name, "samr_OpenDomain");
    6659         664 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6660         664 :         ndr->depth++;
    6661         664 :         if (flags & NDR_SET_VALUES) {
    6662           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6663             :         }
    6664         664 :         if (flags & NDR_IN) {
    6665           2 :                 ndr_print_struct(ndr, "in", "samr_OpenDomain");
    6666           2 :                 ndr->depth++;
    6667           2 :                 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
    6668           2 :                 ndr->depth++;
    6669           2 :                 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
    6670           2 :                 ndr->depth--;
    6671           2 :                 ndr_print_samr_DomainAccessMask(ndr, "access_mask", r->in.access_mask);
    6672           2 :                 ndr_print_ptr(ndr, "sid", r->in.sid);
    6673           2 :                 ndr->depth++;
    6674           2 :                 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
    6675           2 :                 ndr->depth--;
    6676           2 :                 ndr->depth--;
    6677             :         }
    6678         664 :         if (flags & NDR_OUT) {
    6679         662 :                 ndr_print_struct(ndr, "out", "samr_OpenDomain");
    6680         662 :                 ndr->depth++;
    6681         662 :                 ndr_print_ptr(ndr, "domain_handle", r->out.domain_handle);
    6682         662 :                 ndr->depth++;
    6683         662 :                 ndr_print_policy_handle(ndr, "domain_handle", r->out.domain_handle);
    6684         662 :                 ndr->depth--;
    6685         662 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6686         662 :                 ndr->depth--;
    6687             :         }
    6688         664 :         ndr->depth--;
    6689             : }
    6690             : 
    6691         886 : static enum ndr_err_code ndr_push_samr_QueryDomainInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo *r)
    6692             : {
    6693         886 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6694         886 :         if (flags & NDR_IN) {
    6695         467 :                 if (r->in.domain_handle == NULL) {
    6696           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6697             :                 }
    6698         467 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    6699         467 :                 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
    6700             :         }
    6701         886 :         if (flags & NDR_OUT) {
    6702         419 :                 if (r->out.info == NULL) {
    6703           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6704             :                 }
    6705         419 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
    6706         419 :                 if (*r->out.info) {
    6707         419 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
    6708         419 :                         NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
    6709             :                 }
    6710         419 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6711             :         }
    6712         886 :         return NDR_ERR_SUCCESS;
    6713             : }
    6714             : 
    6715         882 : static enum ndr_err_code ndr_pull_samr_QueryDomainInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo *r)
    6716             : {
    6717             :         uint32_t _ptr_info;
    6718         882 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    6719         882 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    6720         882 :         TALLOC_CTX *_mem_save_info_1 = NULL;
    6721         882 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6722         882 :         if (flags & NDR_IN) {
    6723         415 :                 NDR_ZERO_STRUCT(r->out);
    6724             : 
    6725         415 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6726         415 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    6727             :                 }
    6728         415 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6729         415 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    6730         415 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    6731         415 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6732         415 :                 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
    6733         415 :                 NDR_PULL_ALLOC(ndr, r->out.info);
    6734         415 :                 NDR_ZERO_STRUCTP(r->out.info);
    6735             :         }
    6736         882 :         if (flags & NDR_OUT) {
    6737             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6738             :                 if (r->in.domain_handle == NULL) {
    6739             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    6740             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    6741             :                 }
    6742             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6743         467 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6744          23 :                         NDR_PULL_ALLOC(ndr, r->out.info);
    6745             :                 }
    6746         467 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6747         467 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
    6748         467 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    6749         467 :                 if (_ptr_info) {
    6750         467 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
    6751             :                 } else {
    6752           0 :                         *r->out.info = NULL;
    6753             :                 }
    6754         467 :                 if (*r->out.info) {
    6755         467 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
    6756         467 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
    6757         467 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
    6758         467 :                         NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
    6759         467 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
    6760             :                 }
    6761         467 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    6762         467 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6763             :         }
    6764         882 :         return NDR_ERR_SUCCESS;
    6765             : }
    6766             : 
    6767           8 : _PUBLIC_ void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r)
    6768             : {
    6769           8 :         ndr_print_struct(ndr, name, "samr_QueryDomainInfo");
    6770           8 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6771           8 :         ndr->depth++;
    6772           8 :         if (flags & NDR_SET_VALUES) {
    6773           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6774             :         }
    6775           8 :         if (flags & NDR_IN) {
    6776           0 :                 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo");
    6777           0 :                 ndr->depth++;
    6778           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    6779           0 :                 ndr->depth++;
    6780           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    6781           0 :                 ndr->depth--;
    6782           0 :                 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
    6783           0 :                 ndr->depth--;
    6784             :         }
    6785           8 :         if (flags & NDR_OUT) {
    6786           8 :                 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo");
    6787           8 :                 ndr->depth++;
    6788           8 :                 ndr_print_ptr(ndr, "info", r->out.info);
    6789           8 :                 ndr->depth++;
    6790           8 :                 ndr_print_ptr(ndr, "info", *r->out.info);
    6791           8 :                 ndr->depth++;
    6792           8 :                 if (*r->out.info) {
    6793           8 :                         ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
    6794           8 :                         ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
    6795             :                 }
    6796           8 :                 ndr->depth--;
    6797           8 :                 ndr->depth--;
    6798           8 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6799           8 :                 ndr->depth--;
    6800             :         }
    6801           8 :         ndr->depth--;
    6802             : }
    6803             : 
    6804         666 : static enum ndr_err_code ndr_push_samr_SetDomainInfo(struct ndr_push *ndr, int flags, const struct samr_SetDomainInfo *r)
    6805             : {
    6806         666 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6807         666 :         if (flags & NDR_IN) {
    6808         346 :                 if (r->in.domain_handle == NULL) {
    6809           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6810             :                 }
    6811         346 :                 if (r->in.info == NULL) {
    6812           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6813             :                 }
    6814         346 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    6815         346 :                 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
    6816         346 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
    6817         346 :                 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    6818             :         }
    6819         666 :         if (flags & NDR_OUT) {
    6820         320 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6821             :         }
    6822         666 :         return NDR_ERR_SUCCESS;
    6823             : }
    6824             : 
    6825         666 : static enum ndr_err_code ndr_pull_samr_SetDomainInfo(struct ndr_pull *ndr, int flags, struct samr_SetDomainInfo *r)
    6826             : {
    6827         666 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    6828         666 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    6829         666 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6830         666 :         if (flags & NDR_IN) {
    6831         320 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6832         320 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    6833             :                 }
    6834         320 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6835         320 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    6836         320 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    6837         320 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6838         320 :                 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
    6839         320 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6840         320 :                         NDR_PULL_ALLOC(ndr, r->in.info);
    6841             :                 }
    6842         320 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6843         320 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
    6844         320 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
    6845         320 :                 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    6846         320 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    6847             :         }
    6848         666 :         if (flags & NDR_OUT) {
    6849             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6850             :                 if (r->in.domain_handle == NULL) {
    6851             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    6852             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    6853             :                 }
    6854             :                 if (r->in.info == NULL) {
    6855             :                         NDR_PULL_ALLOC(ndr, r->in.info);
    6856             :                         NDR_ZERO_STRUCTP(r->in.info);
    6857             :                 }
    6858             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6859         346 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6860             :         }
    6861         666 :         return NDR_ERR_SUCCESS;
    6862             : }
    6863             : 
    6864           0 : _PUBLIC_ void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r)
    6865             : {
    6866           0 :         ndr_print_struct(ndr, name, "samr_SetDomainInfo");
    6867           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6868           0 :         ndr->depth++;
    6869           0 :         if (flags & NDR_SET_VALUES) {
    6870           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6871             :         }
    6872           0 :         if (flags & NDR_IN) {
    6873           0 :                 ndr_print_struct(ndr, "in", "samr_SetDomainInfo");
    6874           0 :                 ndr->depth++;
    6875           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    6876           0 :                 ndr->depth++;
    6877           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    6878           0 :                 ndr->depth--;
    6879           0 :                 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
    6880           0 :                 ndr_print_ptr(ndr, "info", r->in.info);
    6881           0 :                 ndr->depth++;
    6882           0 :                 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
    6883           0 :                 ndr_print_samr_DomainInfo(ndr, "info", r->in.info);
    6884           0 :                 ndr->depth--;
    6885           0 :                 ndr->depth--;
    6886             :         }
    6887           0 :         if (flags & NDR_OUT) {
    6888           0 :                 ndr_print_struct(ndr, "out", "samr_SetDomainInfo");
    6889           0 :                 ndr->depth++;
    6890           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    6891           0 :                 ndr->depth--;
    6892             :         }
    6893           0 :         ndr->depth--;
    6894             : }
    6895             : 
    6896        4236 : static enum ndr_err_code ndr_push_samr_CreateDomainGroup(struct ndr_push *ndr, int flags, const struct samr_CreateDomainGroup *r)
    6897             : {
    6898        4236 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    6899        4236 :         if (flags & NDR_IN) {
    6900        2193 :                 if (r->in.domain_handle == NULL) {
    6901           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6902             :                 }
    6903        2193 :                 if (r->in.name == NULL) {
    6904           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6905             :                 }
    6906        2193 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    6907        2193 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
    6908        2193 :                 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
    6909             :         }
    6910        4236 :         if (flags & NDR_OUT) {
    6911        2043 :                 if (r->out.group_handle == NULL) {
    6912           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6913             :                 }
    6914        2043 :                 if (r->out.rid == NULL) {
    6915           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    6916             :                 }
    6917        2043 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
    6918        2043 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
    6919        2043 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    6920             :         }
    6921        4236 :         return NDR_ERR_SUCCESS;
    6922             : }
    6923             : 
    6924        4234 : static enum ndr_err_code ndr_pull_samr_CreateDomainGroup(struct ndr_pull *ndr, int flags, struct samr_CreateDomainGroup *r)
    6925             : {
    6926        4234 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    6927        4234 :         TALLOC_CTX *_mem_save_name_0 = NULL;
    6928        4234 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    6929        4234 :         TALLOC_CTX *_mem_save_rid_0 = NULL;
    6930        4234 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    6931        4234 :         if (flags & NDR_IN) {
    6932        2041 :                 NDR_ZERO_STRUCT(r->out);
    6933             : 
    6934        2041 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6935        2041 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    6936             :                 }
    6937        2041 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6938        2041 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    6939        2041 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    6940        2041 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6941        2041 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6942        2041 :                         NDR_PULL_ALLOC(ndr, r->in.name);
    6943             :                 }
    6944        2041 :                 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6945        2041 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
    6946        2041 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
    6947        2041 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
    6948        2041 :                 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
    6949        2041 :                 NDR_PULL_ALLOC(ndr, r->out.group_handle);
    6950        2041 :                 NDR_ZERO_STRUCTP(r->out.group_handle);
    6951        2041 :                 NDR_PULL_ALLOC(ndr, r->out.rid);
    6952        2041 :                 NDR_ZERO_STRUCTP(r->out.rid);
    6953             :         }
    6954        4234 :         if (flags & NDR_OUT) {
    6955             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    6956             :                 if (r->in.domain_handle == NULL) {
    6957             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    6958             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    6959             :                 }
    6960             :                 if (r->in.name == NULL) {
    6961             :                         NDR_PULL_ALLOC(ndr, r->in.name);
    6962             :                         NDR_ZERO_STRUCTP(r->in.name);
    6963             :                 }
    6964             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    6965        2193 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6966          75 :                         NDR_PULL_ALLOC(ndr, r->out.group_handle);
    6967             :                 }
    6968        2193 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6969        2193 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
    6970        2193 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
    6971        2193 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    6972        2193 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    6973          75 :                         NDR_PULL_ALLOC(ndr, r->out.rid);
    6974             :                 }
    6975        2193 :                 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6976        2193 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
    6977        2193 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
    6978        2193 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
    6979        2193 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    6980             :         }
    6981        4234 :         return NDR_ERR_SUCCESS;
    6982             : }
    6983             : 
    6984           6 : _PUBLIC_ void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r)
    6985             : {
    6986           6 :         ndr_print_struct(ndr, name, "samr_CreateDomainGroup");
    6987           6 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6988           6 :         ndr->depth++;
    6989           6 :         if (flags & NDR_SET_VALUES) {
    6990           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    6991             :         }
    6992           6 :         if (flags & NDR_IN) {
    6993           0 :                 ndr_print_struct(ndr, "in", "samr_CreateDomainGroup");
    6994           0 :                 ndr->depth++;
    6995           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    6996           0 :                 ndr->depth++;
    6997           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    6998           0 :                 ndr->depth--;
    6999           0 :                 ndr_print_ptr(ndr, "name", r->in.name);
    7000           0 :                 ndr->depth++;
    7001           0 :                 ndr_print_lsa_String(ndr, "name", r->in.name);
    7002           0 :                 ndr->depth--;
    7003           0 :                 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
    7004           0 :                 ndr->depth--;
    7005             :         }
    7006           6 :         if (flags & NDR_OUT) {
    7007           6 :                 ndr_print_struct(ndr, "out", "samr_CreateDomainGroup");
    7008           6 :                 ndr->depth++;
    7009           6 :                 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
    7010           6 :                 ndr->depth++;
    7011           6 :                 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
    7012           6 :                 ndr->depth--;
    7013           6 :                 ndr_print_ptr(ndr, "rid", r->out.rid);
    7014           6 :                 ndr->depth++;
    7015           6 :                 ndr_print_uint32(ndr, "rid", *r->out.rid);
    7016           6 :                 ndr->depth--;
    7017           6 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    7018           6 :                 ndr->depth--;
    7019             :         }
    7020           6 :         ndr->depth--;
    7021             : }
    7022             : 
    7023         368 : static enum ndr_err_code ndr_push_samr_EnumDomainGroups(struct ndr_push *ndr, int flags, const struct samr_EnumDomainGroups *r)
    7024             : {
    7025         368 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    7026         368 :         if (flags & NDR_IN) {
    7027         177 :                 if (r->in.domain_handle == NULL) {
    7028           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7029             :                 }
    7030         177 :                 if (r->in.resume_handle == NULL) {
    7031           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7032             :                 }
    7033         177 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7034         177 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
    7035         177 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
    7036             :         }
    7037         368 :         if (flags & NDR_OUT) {
    7038         191 :                 if (r->out.resume_handle == NULL) {
    7039           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7040             :                 }
    7041         191 :                 if (r->out.sam == NULL) {
    7042           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7043             :                 }
    7044         191 :                 if (r->out.num_entries == NULL) {
    7045           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7046             :                 }
    7047         191 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
    7048         191 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
    7049         191 :                 if (*r->out.sam) {
    7050         191 :                         NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
    7051             :                 }
    7052         191 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
    7053         191 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    7054             :         }
    7055         368 :         return NDR_ERR_SUCCESS;
    7056             : }
    7057             : 
    7058         367 : static enum ndr_err_code ndr_pull_samr_EnumDomainGroups(struct ndr_pull *ndr, int flags, struct samr_EnumDomainGroups *r)
    7059             : {
    7060             :         uint32_t _ptr_sam;
    7061         367 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    7062         367 :         TALLOC_CTX *_mem_save_resume_handle_0 = NULL;
    7063         367 :         TALLOC_CTX *_mem_save_sam_0 = NULL;
    7064         367 :         TALLOC_CTX *_mem_save_sam_1 = NULL;
    7065         367 :         TALLOC_CTX *_mem_save_num_entries_0 = NULL;
    7066         367 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    7067         367 :         if (flags & NDR_IN) {
    7068         190 :                 NDR_ZERO_STRUCT(r->out);
    7069             : 
    7070         190 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7071         190 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7072             :                 }
    7073         190 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7074         190 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    7075         190 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7076         190 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7077         190 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7078         190 :                         NDR_PULL_ALLOC(ndr, r->in.resume_handle);
    7079             :                 }
    7080         190 :                 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7081         190 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
    7082         190 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
    7083         190 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7084         190 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
    7085         190 :                 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
    7086         190 :                 *r->out.resume_handle = *r->in.resume_handle;
    7087         190 :                 NDR_PULL_ALLOC(ndr, r->out.sam);
    7088         190 :                 NDR_ZERO_STRUCTP(r->out.sam);
    7089         190 :                 NDR_PULL_ALLOC(ndr, r->out.num_entries);
    7090         190 :                 NDR_ZERO_STRUCTP(r->out.num_entries);
    7091             :         }
    7092         367 :         if (flags & NDR_OUT) {
    7093             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    7094             :                 if (r->in.domain_handle == NULL) {
    7095             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7096             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    7097             :                 }
    7098             :                 if (r->in.resume_handle == NULL) {
    7099             :                         NDR_PULL_ALLOC(ndr, r->in.resume_handle);
    7100             :                         NDR_ZERO_STRUCTP(r->in.resume_handle);
    7101             :                 }
    7102             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    7103         177 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7104          66 :                         NDR_PULL_ALLOC(ndr, r->out.resume_handle);
    7105             :                 }
    7106         177 :                 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7107         177 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
    7108         177 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
    7109         177 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7110         177 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7111          66 :                         NDR_PULL_ALLOC(ndr, r->out.sam);
    7112             :                 }
    7113         177 :                 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7114         177 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
    7115         177 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
    7116         177 :                 if (_ptr_sam) {
    7117         177 :                         NDR_PULL_ALLOC(ndr, *r->out.sam);
    7118             :                 } else {
    7119           0 :                         *r->out.sam = NULL;
    7120             :                 }
    7121         177 :                 if (*r->out.sam) {
    7122         177 :                         _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
    7123         177 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
    7124         177 :                         NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
    7125         177 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
    7126             :                 }
    7127         177 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
    7128         177 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7129          66 :                         NDR_PULL_ALLOC(ndr, r->out.num_entries);
    7130             :                 }
    7131         177 :                 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7132         177 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
    7133         177 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
    7134         177 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
    7135         177 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    7136             :         }
    7137         367 :         return NDR_ERR_SUCCESS;
    7138             : }
    7139             : 
    7140           2 : _PUBLIC_ void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r)
    7141             : {
    7142           2 :         ndr_print_struct(ndr, name, "samr_EnumDomainGroups");
    7143           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7144           2 :         ndr->depth++;
    7145           2 :         if (flags & NDR_SET_VALUES) {
    7146           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    7147             :         }
    7148           2 :         if (flags & NDR_IN) {
    7149           0 :                 ndr_print_struct(ndr, "in", "samr_EnumDomainGroups");
    7150           0 :                 ndr->depth++;
    7151           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    7152           0 :                 ndr->depth++;
    7153           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    7154           0 :                 ndr->depth--;
    7155           0 :                 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
    7156           0 :                 ndr->depth++;
    7157           0 :                 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
    7158           0 :                 ndr->depth--;
    7159           0 :                 ndr_print_uint32(ndr, "max_size", r->in.max_size);
    7160           0 :                 ndr->depth--;
    7161             :         }
    7162           2 :         if (flags & NDR_OUT) {
    7163           2 :                 ndr_print_struct(ndr, "out", "samr_EnumDomainGroups");
    7164           2 :                 ndr->depth++;
    7165           2 :                 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
    7166           2 :                 ndr->depth++;
    7167           2 :                 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
    7168           2 :                 ndr->depth--;
    7169           2 :                 ndr_print_ptr(ndr, "sam", r->out.sam);
    7170           2 :                 ndr->depth++;
    7171           2 :                 ndr_print_ptr(ndr, "sam", *r->out.sam);
    7172           2 :                 ndr->depth++;
    7173           2 :                 if (*r->out.sam) {
    7174           2 :                         ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
    7175             :                 }
    7176           2 :                 ndr->depth--;
    7177           2 :                 ndr->depth--;
    7178           2 :                 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
    7179           2 :                 ndr->depth++;
    7180           2 :                 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
    7181           2 :                 ndr->depth--;
    7182           2 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    7183           2 :                 ndr->depth--;
    7184             :         }
    7185           2 :         ndr->depth--;
    7186             : }
    7187             : 
    7188        4409 : static enum ndr_err_code ndr_push_samr_CreateUser(struct ndr_push *ndr, int flags, const struct samr_CreateUser *r)
    7189             : {
    7190        4409 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    7191        4409 :         if (flags & NDR_IN) {
    7192        2203 :                 if (r->in.domain_handle == NULL) {
    7193           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7194             :                 }
    7195        2203 :                 if (r->in.account_name == NULL) {
    7196           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7197             :                 }
    7198        2203 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7199        2203 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
    7200        2204 :                 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
    7201             :         }
    7202        4409 :         if (flags & NDR_OUT) {
    7203        2206 :                 if (r->out.user_handle == NULL) {
    7204           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7205             :                 }
    7206        2206 :                 if (r->out.rid == NULL) {
    7207           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7208             :                 }
    7209        2206 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
    7210        2206 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
    7211        2206 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    7212             :         }
    7213        4408 :         return NDR_ERR_SUCCESS;
    7214             : }
    7215             : 
    7216        4403 : static enum ndr_err_code ndr_pull_samr_CreateUser(struct ndr_pull *ndr, int flags, struct samr_CreateUser *r)
    7217             : {
    7218        4403 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    7219        4403 :         TALLOC_CTX *_mem_save_account_name_0 = NULL;
    7220        4403 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
    7221        4403 :         TALLOC_CTX *_mem_save_rid_0 = NULL;
    7222        4403 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    7223        4403 :         if (flags & NDR_IN) {
    7224        2199 :                 NDR_ZERO_STRUCT(r->out);
    7225             : 
    7226        2199 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7227        2199 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7228             :                 }
    7229        2199 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7230        2199 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    7231        2199 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7232        2199 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7233        2199 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7234        2199 :                         NDR_PULL_ALLOC(ndr, r->in.account_name);
    7235             :                 }
    7236        2199 :                 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7237        2199 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
    7238        2199 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
    7239        2199 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
    7240        2203 :                 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
    7241        2199 :                 NDR_PULL_ALLOC(ndr, r->out.user_handle);
    7242        2199 :                 NDR_ZERO_STRUCTP(r->out.user_handle);
    7243        2199 :                 NDR_PULL_ALLOC(ndr, r->out.rid);
    7244        2199 :                 NDR_ZERO_STRUCTP(r->out.rid);
    7245             :         }
    7246        4403 :         if (flags & NDR_OUT) {
    7247             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    7248             :                 if (r->in.domain_handle == NULL) {
    7249             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7250             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    7251             :                 }
    7252             :                 if (r->in.account_name == NULL) {
    7253             :                         NDR_PULL_ALLOC(ndr, r->in.account_name);
    7254             :                         NDR_ZERO_STRUCTP(r->in.account_name);
    7255             :                 }
    7256             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    7257        2204 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7258          13 :                         NDR_PULL_ALLOC(ndr, r->out.user_handle);
    7259             :                 }
    7260        2204 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7261        2204 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
    7262        2204 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
    7263        2204 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7264        2204 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7265          13 :                         NDR_PULL_ALLOC(ndr, r->out.rid);
    7266             :                 }
    7267        2204 :                 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7268        2204 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
    7269        2204 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
    7270        2204 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
    7271        2204 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    7272             :         }
    7273        4397 :         return NDR_ERR_SUCCESS;
    7274             : }
    7275             : 
    7276          27 : _PUBLIC_ void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r)
    7277             : {
    7278          27 :         ndr_print_struct(ndr, name, "samr_CreateUser");
    7279          27 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7280          27 :         ndr->depth++;
    7281          27 :         if (flags & NDR_SET_VALUES) {
    7282           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    7283             :         }
    7284          27 :         if (flags & NDR_IN) {
    7285           3 :                 ndr_print_struct(ndr, "in", "samr_CreateUser");
    7286           3 :                 ndr->depth++;
    7287           3 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    7288           3 :                 ndr->depth++;
    7289           3 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    7290           3 :                 ndr->depth--;
    7291           3 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
    7292           3 :                 ndr->depth++;
    7293           3 :                 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
    7294           3 :                 ndr->depth--;
    7295           3 :                 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
    7296           3 :                 ndr->depth--;
    7297             :         }
    7298          27 :         if (flags & NDR_OUT) {
    7299          24 :                 ndr_print_struct(ndr, "out", "samr_CreateUser");
    7300          24 :                 ndr->depth++;
    7301          24 :                 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
    7302          24 :                 ndr->depth++;
    7303          24 :                 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
    7304          24 :                 ndr->depth--;
    7305          24 :                 ndr_print_ptr(ndr, "rid", r->out.rid);
    7306          24 :                 ndr->depth++;
    7307          24 :                 ndr_print_uint32(ndr, "rid", *r->out.rid);
    7308          24 :                 ndr->depth--;
    7309          24 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    7310          24 :                 ndr->depth--;
    7311             :         }
    7312          27 :         ndr->depth--;
    7313             : }
    7314             : 
    7315         268 : static enum ndr_err_code ndr_push_samr_EnumDomainUsers(struct ndr_push *ndr, int flags, const struct samr_EnumDomainUsers *r)
    7316             : {
    7317         268 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    7318         268 :         if (flags & NDR_IN) {
    7319         125 :                 if (r->in.domain_handle == NULL) {
    7320           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7321             :                 }
    7322         125 :                 if (r->in.resume_handle == NULL) {
    7323           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7324             :                 }
    7325         125 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7326         125 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
    7327         125 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
    7328         125 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
    7329             :         }
    7330         268 :         if (flags & NDR_OUT) {
    7331         143 :                 if (r->out.resume_handle == NULL) {
    7332           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7333             :                 }
    7334         143 :                 if (r->out.sam == NULL) {
    7335           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7336             :                 }
    7337         143 :                 if (r->out.num_entries == NULL) {
    7338           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7339             :                 }
    7340         143 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
    7341         143 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
    7342         143 :                 if (*r->out.sam) {
    7343         128 :                         NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
    7344             :                 }
    7345         143 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
    7346         143 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    7347             :         }
    7348         268 :         return NDR_ERR_SUCCESS;
    7349             : }
    7350             : 
    7351         268 : static enum ndr_err_code ndr_pull_samr_EnumDomainUsers(struct ndr_pull *ndr, int flags, struct samr_EnumDomainUsers *r)
    7352             : {
    7353             :         uint32_t _ptr_sam;
    7354         268 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    7355         268 :         TALLOC_CTX *_mem_save_resume_handle_0 = NULL;
    7356         268 :         TALLOC_CTX *_mem_save_sam_0 = NULL;
    7357         268 :         TALLOC_CTX *_mem_save_sam_1 = NULL;
    7358         268 :         TALLOC_CTX *_mem_save_num_entries_0 = NULL;
    7359         268 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    7360         268 :         if (flags & NDR_IN) {
    7361         143 :                 NDR_ZERO_STRUCT(r->out);
    7362             : 
    7363         143 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7364         143 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7365             :                 }
    7366         143 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7367         143 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    7368         143 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7369         143 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7370         143 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7371         143 :                         NDR_PULL_ALLOC(ndr, r->in.resume_handle);
    7372             :                 }
    7373         143 :                 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7374         143 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
    7375         143 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
    7376         143 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7377         143 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
    7378         143 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
    7379         143 :                 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
    7380         143 :                 *r->out.resume_handle = *r->in.resume_handle;
    7381         143 :                 NDR_PULL_ALLOC(ndr, r->out.sam);
    7382         143 :                 NDR_ZERO_STRUCTP(r->out.sam);
    7383         143 :                 NDR_PULL_ALLOC(ndr, r->out.num_entries);
    7384         143 :                 NDR_ZERO_STRUCTP(r->out.num_entries);
    7385             :         }
    7386         268 :         if (flags & NDR_OUT) {
    7387             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    7388             :                 if (r->in.domain_handle == NULL) {
    7389             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7390             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    7391             :                 }
    7392             :                 if (r->in.resume_handle == NULL) {
    7393             :                         NDR_PULL_ALLOC(ndr, r->in.resume_handle);
    7394             :                         NDR_ZERO_STRUCTP(r->in.resume_handle);
    7395             :                 }
    7396             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    7397         125 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7398          60 :                         NDR_PULL_ALLOC(ndr, r->out.resume_handle);
    7399             :                 }
    7400         125 :                 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7401         125 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
    7402         125 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
    7403         125 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7404         125 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7405          60 :                         NDR_PULL_ALLOC(ndr, r->out.sam);
    7406             :                 }
    7407         125 :                 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7408         125 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
    7409         125 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
    7410         125 :                 if (_ptr_sam) {
    7411         110 :                         NDR_PULL_ALLOC(ndr, *r->out.sam);
    7412             :                 } else {
    7413          15 :                         *r->out.sam = NULL;
    7414             :                 }
    7415         125 :                 if (*r->out.sam) {
    7416         110 :                         _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
    7417         110 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
    7418         110 :                         NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
    7419         110 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
    7420             :                 }
    7421         125 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
    7422         125 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7423          60 :                         NDR_PULL_ALLOC(ndr, r->out.num_entries);
    7424             :                 }
    7425         125 :                 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7426         125 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
    7427         125 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
    7428         125 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
    7429         125 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    7430             :         }
    7431         268 :         return NDR_ERR_SUCCESS;
    7432             : }
    7433             : 
    7434           0 : _PUBLIC_ void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r)
    7435             : {
    7436           0 :         ndr_print_struct(ndr, name, "samr_EnumDomainUsers");
    7437           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7438           0 :         ndr->depth++;
    7439           0 :         if (flags & NDR_SET_VALUES) {
    7440           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    7441             :         }
    7442           0 :         if (flags & NDR_IN) {
    7443           0 :                 ndr_print_struct(ndr, "in", "samr_EnumDomainUsers");
    7444           0 :                 ndr->depth++;
    7445           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    7446           0 :                 ndr->depth++;
    7447           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    7448           0 :                 ndr->depth--;
    7449           0 :                 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
    7450           0 :                 ndr->depth++;
    7451           0 :                 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
    7452           0 :                 ndr->depth--;
    7453           0 :                 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
    7454           0 :                 ndr_print_uint32(ndr, "max_size", r->in.max_size);
    7455           0 :                 ndr->depth--;
    7456             :         }
    7457           0 :         if (flags & NDR_OUT) {
    7458           0 :                 ndr_print_struct(ndr, "out", "samr_EnumDomainUsers");
    7459           0 :                 ndr->depth++;
    7460           0 :                 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
    7461           0 :                 ndr->depth++;
    7462           0 :                 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
    7463           0 :                 ndr->depth--;
    7464           0 :                 ndr_print_ptr(ndr, "sam", r->out.sam);
    7465           0 :                 ndr->depth++;
    7466           0 :                 ndr_print_ptr(ndr, "sam", *r->out.sam);
    7467           0 :                 ndr->depth++;
    7468           0 :                 if (*r->out.sam) {
    7469           0 :                         ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
    7470             :                 }
    7471           0 :                 ndr->depth--;
    7472           0 :                 ndr->depth--;
    7473           0 :                 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
    7474           0 :                 ndr->depth++;
    7475           0 :                 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
    7476           0 :                 ndr->depth--;
    7477           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    7478           0 :                 ndr->depth--;
    7479             :         }
    7480           0 :         ndr->depth--;
    7481             : }
    7482             : 
    7483        3926 : static enum ndr_err_code ndr_push_samr_CreateDomAlias(struct ndr_push *ndr, int flags, const struct samr_CreateDomAlias *r)
    7484             : {
    7485        3926 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    7486        3926 :         if (flags & NDR_IN) {
    7487        2114 :                 if (r->in.domain_handle == NULL) {
    7488           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7489             :                 }
    7490        2114 :                 if (r->in.alias_name == NULL) {
    7491           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7492             :                 }
    7493        2114 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7494        2114 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
    7495        2114 :                 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
    7496             :         }
    7497        3926 :         if (flags & NDR_OUT) {
    7498        1812 :                 if (r->out.alias_handle == NULL) {
    7499           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7500             :                 }
    7501        1812 :                 if (r->out.rid == NULL) {
    7502           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7503             :                 }
    7504        1812 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
    7505        1812 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
    7506        1812 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    7507             :         }
    7508        3926 :         return NDR_ERR_SUCCESS;
    7509             : }
    7510             : 
    7511        3926 : static enum ndr_err_code ndr_pull_samr_CreateDomAlias(struct ndr_pull *ndr, int flags, struct samr_CreateDomAlias *r)
    7512             : {
    7513        3926 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    7514        3926 :         TALLOC_CTX *_mem_save_alias_name_0 = NULL;
    7515        3926 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
    7516        3926 :         TALLOC_CTX *_mem_save_rid_0 = NULL;
    7517        3926 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    7518        3926 :         if (flags & NDR_IN) {
    7519        1812 :                 NDR_ZERO_STRUCT(r->out);
    7520             : 
    7521        1812 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7522        1812 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7523             :                 }
    7524        1812 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7525        1812 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    7526        1812 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7527        1812 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7528        1812 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7529        1812 :                         NDR_PULL_ALLOC(ndr, r->in.alias_name);
    7530             :                 }
    7531        1812 :                 _mem_save_alias_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7532        1812 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_name, LIBNDR_FLAG_REF_ALLOC);
    7533        1812 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
    7534        1812 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_name_0, LIBNDR_FLAG_REF_ALLOC);
    7535        1812 :                 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
    7536        1812 :                 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
    7537        1812 :                 NDR_ZERO_STRUCTP(r->out.alias_handle);
    7538        1812 :                 NDR_PULL_ALLOC(ndr, r->out.rid);
    7539        1812 :                 NDR_ZERO_STRUCTP(r->out.rid);
    7540             :         }
    7541        3926 :         if (flags & NDR_OUT) {
    7542             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    7543             :                 if (r->in.domain_handle == NULL) {
    7544             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7545             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    7546             :                 }
    7547             :                 if (r->in.alias_name == NULL) {
    7548             :                         NDR_PULL_ALLOC(ndr, r->in.alias_name);
    7549             :                         NDR_ZERO_STRUCTP(r->in.alias_name);
    7550             :                 }
    7551             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    7552        2114 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7553           0 :                         NDR_PULL_ALLOC(ndr, r->out.alias_handle);
    7554             :                 }
    7555        2114 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7556        2114 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    7557        2114 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
    7558        2114 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7559        2114 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7560           0 :                         NDR_PULL_ALLOC(ndr, r->out.rid);
    7561             :                 }
    7562        2114 :                 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7563        2114 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
    7564        2114 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
    7565        2114 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
    7566        2114 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    7567             :         }
    7568        3926 :         return NDR_ERR_SUCCESS;
    7569             : }
    7570             : 
    7571           0 : _PUBLIC_ void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r)
    7572             : {
    7573           0 :         ndr_print_struct(ndr, name, "samr_CreateDomAlias");
    7574           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7575           0 :         ndr->depth++;
    7576           0 :         if (flags & NDR_SET_VALUES) {
    7577           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    7578             :         }
    7579           0 :         if (flags & NDR_IN) {
    7580           0 :                 ndr_print_struct(ndr, "in", "samr_CreateDomAlias");
    7581           0 :                 ndr->depth++;
    7582           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    7583           0 :                 ndr->depth++;
    7584           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    7585           0 :                 ndr->depth--;
    7586           0 :                 ndr_print_ptr(ndr, "alias_name", r->in.alias_name);
    7587           0 :                 ndr->depth++;
    7588           0 :                 ndr_print_lsa_String(ndr, "alias_name", r->in.alias_name);
    7589           0 :                 ndr->depth--;
    7590           0 :                 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
    7591           0 :                 ndr->depth--;
    7592             :         }
    7593           0 :         if (flags & NDR_OUT) {
    7594           0 :                 ndr_print_struct(ndr, "out", "samr_CreateDomAlias");
    7595           0 :                 ndr->depth++;
    7596           0 :                 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
    7597           0 :                 ndr->depth++;
    7598           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
    7599           0 :                 ndr->depth--;
    7600           0 :                 ndr_print_ptr(ndr, "rid", r->out.rid);
    7601           0 :                 ndr->depth++;
    7602           0 :                 ndr_print_uint32(ndr, "rid", *r->out.rid);
    7603           0 :                 ndr->depth--;
    7604           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    7605           0 :                 ndr->depth--;
    7606             :         }
    7607           0 :         ndr->depth--;
    7608             : }
    7609             : 
    7610         122 : static enum ndr_err_code ndr_push_samr_EnumDomainAliases(struct ndr_push *ndr, int flags, const struct samr_EnumDomainAliases *r)
    7611             : {
    7612         122 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    7613         122 :         if (flags & NDR_IN) {
    7614          58 :                 if (r->in.domain_handle == NULL) {
    7615           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7616             :                 }
    7617          58 :                 if (r->in.resume_handle == NULL) {
    7618           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7619             :                 }
    7620          58 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7621          58 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
    7622          58 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
    7623             :         }
    7624         122 :         if (flags & NDR_OUT) {
    7625          64 :                 if (r->out.resume_handle == NULL) {
    7626           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7627             :                 }
    7628          64 :                 if (r->out.sam == NULL) {
    7629           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7630             :                 }
    7631          64 :                 if (r->out.num_entries == NULL) {
    7632           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7633             :                 }
    7634          64 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
    7635          64 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
    7636          64 :                 if (*r->out.sam) {
    7637          64 :                         NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
    7638             :                 }
    7639          64 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
    7640          64 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    7641             :         }
    7642         122 :         return NDR_ERR_SUCCESS;
    7643             : }
    7644             : 
    7645         121 : static enum ndr_err_code ndr_pull_samr_EnumDomainAliases(struct ndr_pull *ndr, int flags, struct samr_EnumDomainAliases *r)
    7646             : {
    7647             :         uint32_t _ptr_sam;
    7648         121 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    7649         121 :         TALLOC_CTX *_mem_save_resume_handle_0 = NULL;
    7650         121 :         TALLOC_CTX *_mem_save_sam_0 = NULL;
    7651         121 :         TALLOC_CTX *_mem_save_sam_1 = NULL;
    7652         121 :         TALLOC_CTX *_mem_save_num_entries_0 = NULL;
    7653         121 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    7654         121 :         if (flags & NDR_IN) {
    7655          63 :                 NDR_ZERO_STRUCT(r->out);
    7656             : 
    7657          63 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7658          63 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7659             :                 }
    7660          63 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7661          63 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    7662          63 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7663          63 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7664          63 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7665          63 :                         NDR_PULL_ALLOC(ndr, r->in.resume_handle);
    7666             :                 }
    7667          63 :                 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7668          63 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
    7669          63 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
    7670          63 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7671          63 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
    7672          63 :                 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
    7673          63 :                 *r->out.resume_handle = *r->in.resume_handle;
    7674          63 :                 NDR_PULL_ALLOC(ndr, r->out.sam);
    7675          63 :                 NDR_ZERO_STRUCTP(r->out.sam);
    7676          63 :                 NDR_PULL_ALLOC(ndr, r->out.num_entries);
    7677          63 :                 NDR_ZERO_STRUCTP(r->out.num_entries);
    7678             :         }
    7679         121 :         if (flags & NDR_OUT) {
    7680             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    7681             :                 if (r->in.domain_handle == NULL) {
    7682             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7683             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    7684             :                 }
    7685             :                 if (r->in.resume_handle == NULL) {
    7686             :                         NDR_PULL_ALLOC(ndr, r->in.resume_handle);
    7687             :                         NDR_ZERO_STRUCTP(r->in.resume_handle);
    7688             :                 }
    7689             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    7690          58 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7691          23 :                         NDR_PULL_ALLOC(ndr, r->out.resume_handle);
    7692             :                 }
    7693          58 :                 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7694          58 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
    7695          58 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
    7696          58 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7697          58 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7698          23 :                         NDR_PULL_ALLOC(ndr, r->out.sam);
    7699             :                 }
    7700          58 :                 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7701          58 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
    7702          58 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
    7703          58 :                 if (_ptr_sam) {
    7704          58 :                         NDR_PULL_ALLOC(ndr, *r->out.sam);
    7705             :                 } else {
    7706           0 :                         *r->out.sam = NULL;
    7707             :                 }
    7708          58 :                 if (*r->out.sam) {
    7709          58 :                         _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
    7710          58 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
    7711          58 :                         NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
    7712          58 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
    7713             :                 }
    7714          58 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
    7715          58 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7716          23 :                         NDR_PULL_ALLOC(ndr, r->out.num_entries);
    7717             :                 }
    7718          58 :                 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7719          58 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
    7720          58 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
    7721          58 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
    7722          58 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    7723             :         }
    7724         121 :         return NDR_ERR_SUCCESS;
    7725             : }
    7726             : 
    7727           2 : _PUBLIC_ void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r)
    7728             : {
    7729           2 :         ndr_print_struct(ndr, name, "samr_EnumDomainAliases");
    7730           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7731           2 :         ndr->depth++;
    7732           2 :         if (flags & NDR_SET_VALUES) {
    7733           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    7734             :         }
    7735           2 :         if (flags & NDR_IN) {
    7736           0 :                 ndr_print_struct(ndr, "in", "samr_EnumDomainAliases");
    7737           0 :                 ndr->depth++;
    7738           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    7739           0 :                 ndr->depth++;
    7740           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    7741           0 :                 ndr->depth--;
    7742           0 :                 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
    7743           0 :                 ndr->depth++;
    7744           0 :                 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
    7745           0 :                 ndr->depth--;
    7746           0 :                 ndr_print_uint32(ndr, "max_size", r->in.max_size);
    7747           0 :                 ndr->depth--;
    7748             :         }
    7749           2 :         if (flags & NDR_OUT) {
    7750           2 :                 ndr_print_struct(ndr, "out", "samr_EnumDomainAliases");
    7751           2 :                 ndr->depth++;
    7752           2 :                 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
    7753           2 :                 ndr->depth++;
    7754           2 :                 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
    7755           2 :                 ndr->depth--;
    7756           2 :                 ndr_print_ptr(ndr, "sam", r->out.sam);
    7757           2 :                 ndr->depth++;
    7758           2 :                 ndr_print_ptr(ndr, "sam", *r->out.sam);
    7759           2 :                 ndr->depth++;
    7760           2 :                 if (*r->out.sam) {
    7761           2 :                         ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
    7762             :                 }
    7763           2 :                 ndr->depth--;
    7764           2 :                 ndr->depth--;
    7765           2 :                 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
    7766           2 :                 ndr->depth++;
    7767           2 :                 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
    7768           2 :                 ndr->depth--;
    7769           2 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    7770           2 :                 ndr->depth--;
    7771             :         }
    7772           2 :         ndr->depth--;
    7773             : }
    7774             : 
    7775        1933 : static enum ndr_err_code ndr_push_samr_GetAliasMembership(struct ndr_push *ndr, int flags, const struct samr_GetAliasMembership *r)
    7776             : {
    7777        1933 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    7778        1933 :         if (flags & NDR_IN) {
    7779         748 :                 if (r->in.domain_handle == NULL) {
    7780           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7781             :                 }
    7782         748 :                 if (r->in.sids == NULL) {
    7783           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7784             :                 }
    7785         748 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7786         748 :                 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
    7787             :         }
    7788        1933 :         if (flags & NDR_OUT) {
    7789        1185 :                 if (r->out.rids == NULL) {
    7790           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7791             :                 }
    7792        1185 :                 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
    7793        1185 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    7794             :         }
    7795        1933 :         return NDR_ERR_SUCCESS;
    7796             : }
    7797             : 
    7798        1928 : static enum ndr_err_code ndr_pull_samr_GetAliasMembership(struct ndr_pull *ndr, int flags, struct samr_GetAliasMembership *r)
    7799             : {
    7800        1928 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    7801        1928 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    7802        1928 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    7803        1928 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    7804        1928 :         if (flags & NDR_IN) {
    7805        1180 :                 NDR_ZERO_STRUCT(r->out);
    7806             : 
    7807        1180 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7808        1180 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7809             :                 }
    7810        1180 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7811        1180 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    7812        1180 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7813        1180 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7814        1180 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7815        1180 :                         NDR_PULL_ALLOC(ndr, r->in.sids);
    7816             :                 }
    7817        1180 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7818        1180 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
    7819        1180 :                 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
    7820        1180 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
    7821        1180 :                 NDR_PULL_ALLOC(ndr, r->out.rids);
    7822        1180 :                 NDR_ZERO_STRUCTP(r->out.rids);
    7823             :         }
    7824        1928 :         if (flags & NDR_OUT) {
    7825             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    7826             :                 if (r->in.domain_handle == NULL) {
    7827             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7828             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    7829             :                 }
    7830             :                 if (r->in.sids == NULL) {
    7831             :                         NDR_PULL_ALLOC(ndr, r->in.sids);
    7832             :                         NDR_ZERO_STRUCTP(r->in.sids);
    7833             :                 }
    7834             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    7835         748 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7836          91 :                         NDR_PULL_ALLOC(ndr, r->out.rids);
    7837             :                 }
    7838         748 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7839         748 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
    7840         748 :                 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
    7841         748 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
    7842         748 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    7843             :         }
    7844        1928 :         return NDR_ERR_SUCCESS;
    7845             : }
    7846             : 
    7847          10 : _PUBLIC_ void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r)
    7848             : {
    7849          10 :         ndr_print_struct(ndr, name, "samr_GetAliasMembership");
    7850          10 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7851          10 :         ndr->depth++;
    7852          10 :         if (flags & NDR_SET_VALUES) {
    7853           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    7854             :         }
    7855          10 :         if (flags & NDR_IN) {
    7856           0 :                 ndr_print_struct(ndr, "in", "samr_GetAliasMembership");
    7857           0 :                 ndr->depth++;
    7858           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    7859           0 :                 ndr->depth++;
    7860           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    7861           0 :                 ndr->depth--;
    7862           0 :                 ndr_print_ptr(ndr, "sids", r->in.sids);
    7863           0 :                 ndr->depth++;
    7864           0 :                 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
    7865           0 :                 ndr->depth--;
    7866           0 :                 ndr->depth--;
    7867             :         }
    7868          10 :         if (flags & NDR_OUT) {
    7869          10 :                 ndr_print_struct(ndr, "out", "samr_GetAliasMembership");
    7870          10 :                 ndr->depth++;
    7871          10 :                 ndr_print_ptr(ndr, "rids", r->out.rids);
    7872          10 :                 ndr->depth++;
    7873          10 :                 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
    7874          10 :                 ndr->depth--;
    7875          10 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    7876          10 :                 ndr->depth--;
    7877             :         }
    7878          10 :         ndr->depth--;
    7879             : }
    7880             : 
    7881        8806 : _PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r)
    7882             : {
    7883             :         uint32_t cntr_names_0;
    7884        8806 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    7885        8806 :         if (flags & NDR_IN) {
    7886        2494 :                 if (r->in.domain_handle == NULL) {
    7887           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7888             :                 }
    7889        2494 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7890        2494 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
    7891        2494 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
    7892        2494 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7893        2494 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
    7894        5328 :                 for (cntr_names_0 = 0; cntr_names_0 < (r->in.num_names); cntr_names_0++) {
    7895        2834 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
    7896             :                 }
    7897        5328 :                 for (cntr_names_0 = 0; cntr_names_0 < (r->in.num_names); cntr_names_0++) {
    7898        2834 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
    7899             :                 }
    7900             :         }
    7901        8806 :         if (flags & NDR_OUT) {
    7902        6312 :                 if (r->out.rids == NULL) {
    7903           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7904             :                 }
    7905        6312 :                 if (r->out.types == NULL) {
    7906           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    7907             :                 }
    7908        6312 :                 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
    7909        6312 :                 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
    7910        6312 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    7911             :         }
    7912        8789 :         return NDR_ERR_SUCCESS;
    7913             : }
    7914             : 
    7915        8712 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r)
    7916             : {
    7917        8712 :         uint32_t size_names_0 = 0;
    7918        8712 :         uint32_t length_names_0 = 0;
    7919             :         uint32_t cntr_names_0;
    7920        8712 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    7921        8712 :         TALLOC_CTX *_mem_save_names_0 = NULL;
    7922        8712 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    7923        8712 :         TALLOC_CTX *_mem_save_types_0 = NULL;
    7924        8712 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    7925        8712 :         if (flags & NDR_IN) {
    7926        6216 :                 NDR_ZERO_STRUCT(r->out);
    7927             : 
    7928        6216 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7929        6216 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7930             :                 }
    7931        6216 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7932        6216 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    7933        6216 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    7934        6216 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    7935        6216 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
    7936        6216 :                 if (r->in.num_names > 1000) {
    7937           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    7938             :                 }
    7939        6216 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
    7940        6216 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names));
    7941        6216 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.names, &size_names_0));
    7942        6216 :                 NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->in.names, &length_names_0));
    7943        6216 :                 if (length_names_0 > size_names_0) {
    7944           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_names_0, length_names_0);
    7945             :                 }
    7946        6216 :                 NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
    7947        6216 :                 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7948        6216 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
    7949       12774 :                 for (cntr_names_0 = 0; cntr_names_0 < (length_names_0); cntr_names_0++) {
    7950        6558 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
    7951             :                 }
    7952       12755 :                 for (cntr_names_0 = 0; cntr_names_0 < (length_names_0); cntr_names_0++) {
    7953        6558 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
    7954             :                 }
    7955        6216 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
    7956        6216 :                 NDR_PULL_ALLOC(ndr, r->out.rids);
    7957        6216 :                 NDR_ZERO_STRUCTP(r->out.rids);
    7958        6216 :                 NDR_PULL_ALLOC(ndr, r->out.types);
    7959        6216 :                 NDR_ZERO_STRUCTP(r->out.types);
    7960        6216 :                 if (r->in.names) {
    7961        6216 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, 1000));
    7962             :                 }
    7963        6216 :                 if (r->in.names) {
    7964        6216 :                         NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->in.names, r->in.num_names));
    7965             :                 }
    7966        7786 :                 for (cntr_names_0 = 0; cntr_names_0 < (length_names_0); cntr_names_0++) {
    7967             :                 }
    7968             :         }
    7969        8712 :         if (flags & NDR_OUT) {
    7970             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    7971             :                 if (r->in.domain_handle == NULL) {
    7972             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    7973             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    7974             :                 }
    7975             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    7976        2496 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7977         391 :                         NDR_PULL_ALLOC(ndr, r->out.rids);
    7978             :                 }
    7979        2496 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7980        2496 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
    7981        2496 :                 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
    7982        2496 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
    7983        2496 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    7984         391 :                         NDR_PULL_ALLOC(ndr, r->out.types);
    7985             :                 }
    7986        2496 :                 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7987        2496 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
    7988        2496 :                 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
    7989        2496 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
    7990        2496 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    7991             :         }
    7992        8691 :         return NDR_ERR_SUCCESS;
    7993             : }
    7994             : 
    7995         200 : _PUBLIC_ void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r)
    7996             : {
    7997             :         uint32_t cntr_names_0;
    7998         200 :         ndr_print_struct(ndr, name, "samr_LookupNames");
    7999         200 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8000         200 :         ndr->depth++;
    8001         200 :         if (flags & NDR_SET_VALUES) {
    8002           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8003             :         }
    8004         200 :         if (flags & NDR_IN) {
    8005           2 :                 ndr_print_struct(ndr, "in", "samr_LookupNames");
    8006           2 :                 ndr->depth++;
    8007           2 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    8008           2 :                 ndr->depth++;
    8009           2 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    8010           2 :                 ndr->depth--;
    8011           2 :                 ndr_print_uint32(ndr, "num_names", r->in.num_names);
    8012           2 :                 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
    8013           2 :                 ndr->depth++;
    8014           4 :                 for (cntr_names_0 = 0; cntr_names_0 < (r->in.num_names); cntr_names_0++) {
    8015           2 :                         ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
    8016             :                 }
    8017           2 :                 ndr->depth--;
    8018           2 :                 ndr->depth--;
    8019             :         }
    8020         200 :         if (flags & NDR_OUT) {
    8021         198 :                 ndr_print_struct(ndr, "out", "samr_LookupNames");
    8022         198 :                 ndr->depth++;
    8023         198 :                 ndr_print_ptr(ndr, "rids", r->out.rids);
    8024         198 :                 ndr->depth++;
    8025         198 :                 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
    8026         198 :                 ndr->depth--;
    8027         198 :                 ndr_print_ptr(ndr, "types", r->out.types);
    8028         198 :                 ndr->depth++;
    8029         198 :                 ndr_print_samr_Ids(ndr, "types", r->out.types);
    8030         198 :                 ndr->depth--;
    8031         198 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8032         198 :                 ndr->depth--;
    8033             :         }
    8034         200 :         ndr->depth--;
    8035             : }
    8036             : 
    8037        3454 : static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flags, const struct samr_LookupRids *r)
    8038             : {
    8039             :         uint32_t cntr_rids_0;
    8040        3454 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8041        3454 :         if (flags & NDR_IN) {
    8042        2005 :                 if (r->in.domain_handle == NULL) {
    8043           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8044             :                 }
    8045        2005 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    8046        2005 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
    8047        2005 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
    8048        2005 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8049        2005 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_rids));
    8050        4005 :                 for (cntr_rids_0 = 0; cntr_rids_0 < (r->in.num_rids); cntr_rids_0++) {
    8051        2000 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rids[cntr_rids_0]));
    8052             :                 }
    8053             :         }
    8054        3454 :         if (flags & NDR_OUT) {
    8055        1449 :                 if (r->out.names == NULL) {
    8056           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8057             :                 }
    8058        1449 :                 if (r->out.types == NULL) {
    8059           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8060             :                 }
    8061        1449 :                 NDR_CHECK(ndr_push_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
    8062        1449 :                 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
    8063        1449 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8064             :         }
    8065        3454 :         return NDR_ERR_SUCCESS;
    8066             : }
    8067             : 
    8068        3425 : static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r)
    8069             : {
    8070        3425 :         uint32_t size_rids_0 = 0;
    8071        3425 :         uint32_t length_rids_0 = 0;
    8072             :         uint32_t cntr_rids_0;
    8073        3425 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    8074        3425 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    8075        3425 :         TALLOC_CTX *_mem_save_names_0 = NULL;
    8076        3425 :         TALLOC_CTX *_mem_save_types_0 = NULL;
    8077        3425 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8078        3425 :         if (flags & NDR_IN) {
    8079        1420 :                 NDR_ZERO_STRUCT(r->out);
    8080             : 
    8081        1420 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8082        1420 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    8083             :                 }
    8084        1420 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8085        1420 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    8086        1420 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    8087        1420 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8088        1420 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_rids));
    8089        1420 :                 if (r->in.num_rids > 1000) {
    8090           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
    8091             :                 }
    8092        1420 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids));
    8093        1420 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids));
    8094        1420 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.rids, &size_rids_0));
    8095        1420 :                 NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->in.rids, &length_rids_0));
    8096        1420 :                 if (length_rids_0 > size_rids_0) {
    8097           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rids_0, length_rids_0);
    8098             :                 }
    8099        1420 :                 NDR_PULL_ALLOC_N(ndr, r->in.rids, size_rids_0);
    8100        1420 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8101        1420 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0);
    8102        3595 :                 for (cntr_rids_0 = 0; cntr_rids_0 < (length_rids_0); cntr_rids_0++) {
    8103        2175 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0]));
    8104             :                 }
    8105        1420 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
    8106        1420 :                 NDR_PULL_ALLOC(ndr, r->out.names);
    8107        1420 :                 NDR_ZERO_STRUCTP(r->out.names);
    8108        1420 :                 NDR_PULL_ALLOC(ndr, r->out.types);
    8109        1420 :                 NDR_ZERO_STRUCTP(r->out.types);
    8110        1420 :                 if (r->in.rids) {
    8111        1420 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.rids, 1000));
    8112             :                 }
    8113        1420 :                 if (r->in.rids) {
    8114        1420 :                         NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->in.rids, r->in.num_rids));
    8115             :                 }
    8116             :         }
    8117        3425 :         if (flags & NDR_OUT) {
    8118             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8119             :                 if (r->in.domain_handle == NULL) {
    8120             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    8121             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    8122             :                 }
    8123             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8124        2005 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8125          39 :                         NDR_PULL_ALLOC(ndr, r->out.names);
    8126             :                 }
    8127        2005 :                 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8128        2005 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
    8129        2005 :                 NDR_CHECK(ndr_pull_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
    8130        2005 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
    8131        2005 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8132          39 :                         NDR_PULL_ALLOC(ndr, r->out.types);
    8133             :                 }
    8134        2005 :                 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8135        2005 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
    8136        2005 :                 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
    8137        2005 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
    8138        2005 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8139             :         }
    8140        3425 :         return NDR_ERR_SUCCESS;
    8141             : }
    8142             : 
    8143          58 : _PUBLIC_ void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r)
    8144             : {
    8145             :         uint32_t cntr_rids_0;
    8146          58 :         ndr_print_struct(ndr, name, "samr_LookupRids");
    8147          58 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8148          58 :         ndr->depth++;
    8149          58 :         if (flags & NDR_SET_VALUES) {
    8150           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8151             :         }
    8152          58 :         if (flags & NDR_IN) {
    8153           0 :                 ndr_print_struct(ndr, "in", "samr_LookupRids");
    8154           0 :                 ndr->depth++;
    8155           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    8156           0 :                 ndr->depth++;
    8157           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    8158           0 :                 ndr->depth--;
    8159           0 :                 ndr_print_uint32(ndr, "num_rids", r->in.num_rids);
    8160           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->in.num_rids);
    8161           0 :                 ndr->depth++;
    8162           0 :                 for (cntr_rids_0 = 0; cntr_rids_0 < (r->in.num_rids); cntr_rids_0++) {
    8163           0 :                         ndr_print_uint32(ndr, "rids", r->in.rids[cntr_rids_0]);
    8164             :                 }
    8165           0 :                 ndr->depth--;
    8166           0 :                 ndr->depth--;
    8167             :         }
    8168          58 :         if (flags & NDR_OUT) {
    8169          58 :                 ndr_print_struct(ndr, "out", "samr_LookupRids");
    8170          58 :                 ndr->depth++;
    8171          58 :                 ndr_print_ptr(ndr, "names", r->out.names);
    8172          58 :                 ndr->depth++;
    8173          58 :                 ndr_print_lsa_Strings(ndr, "names", r->out.names);
    8174          58 :                 ndr->depth--;
    8175          58 :                 ndr_print_ptr(ndr, "types", r->out.types);
    8176          58 :                 ndr->depth++;
    8177          58 :                 ndr_print_samr_Ids(ndr, "types", r->out.types);
    8178          58 :                 ndr->depth--;
    8179          58 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8180          58 :                 ndr->depth--;
    8181             :         }
    8182          58 :         ndr->depth--;
    8183             : }
    8184             : 
    8185        1577 : static enum ndr_err_code ndr_push_samr_OpenGroup(struct ndr_push *ndr, int flags, const struct samr_OpenGroup *r)
    8186             : {
    8187        1577 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8188        1577 :         if (flags & NDR_IN) {
    8189         935 :                 if (r->in.domain_handle == NULL) {
    8190           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8191             :                 }
    8192         935 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    8193         935 :                 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
    8194         935 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
    8195             :         }
    8196        1577 :         if (flags & NDR_OUT) {
    8197         642 :                 if (r->out.group_handle == NULL) {
    8198           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8199             :                 }
    8200         642 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
    8201         642 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8202             :         }
    8203        1577 :         return NDR_ERR_SUCCESS;
    8204             : }
    8205             : 
    8206        1558 : static enum ndr_err_code ndr_pull_samr_OpenGroup(struct ndr_pull *ndr, int flags, struct samr_OpenGroup *r)
    8207             : {
    8208        1558 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    8209        1558 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    8210        1558 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8211        1558 :         if (flags & NDR_IN) {
    8212         631 :                 NDR_ZERO_STRUCT(r->out);
    8213             : 
    8214         631 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8215         631 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    8216             :                 }
    8217         631 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8218         631 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    8219         631 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    8220         631 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8221         631 :                 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
    8222         631 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
    8223         631 :                 NDR_PULL_ALLOC(ndr, r->out.group_handle);
    8224         631 :                 NDR_ZERO_STRUCTP(r->out.group_handle);
    8225             :         }
    8226        1558 :         if (flags & NDR_OUT) {
    8227             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8228             :                 if (r->in.domain_handle == NULL) {
    8229             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    8230             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    8231             :                 }
    8232             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8233         927 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8234         180 :                         NDR_PULL_ALLOC(ndr, r->out.group_handle);
    8235             :                 }
    8236         927 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8237         927 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8238         927 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
    8239         927 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8240         927 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8241             :         }
    8242        1558 :         return NDR_ERR_SUCCESS;
    8243             : }
    8244             : 
    8245          38 : _PUBLIC_ void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r)
    8246             : {
    8247          38 :         ndr_print_struct(ndr, name, "samr_OpenGroup");
    8248          38 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8249          38 :         ndr->depth++;
    8250          38 :         if (flags & NDR_SET_VALUES) {
    8251           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8252             :         }
    8253          38 :         if (flags & NDR_IN) {
    8254           0 :                 ndr_print_struct(ndr, "in", "samr_OpenGroup");
    8255           0 :                 ndr->depth++;
    8256           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    8257           0 :                 ndr->depth++;
    8258           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    8259           0 :                 ndr->depth--;
    8260           0 :                 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
    8261           0 :                 ndr_print_uint32(ndr, "rid", r->in.rid);
    8262           0 :                 ndr->depth--;
    8263             :         }
    8264          38 :         if (flags & NDR_OUT) {
    8265          38 :                 ndr_print_struct(ndr, "out", "samr_OpenGroup");
    8266          38 :                 ndr->depth++;
    8267          38 :                 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
    8268          38 :                 ndr->depth++;
    8269          38 :                 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
    8270          38 :                 ndr->depth--;
    8271          38 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8272          38 :                 ndr->depth--;
    8273             :         }
    8274          38 :         ndr->depth--;
    8275             : }
    8276             : 
    8277         781 : static enum ndr_err_code ndr_push_samr_QueryGroupInfo(struct ndr_push *ndr, int flags, const struct samr_QueryGroupInfo *r)
    8278             : {
    8279         781 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8280         781 :         if (flags & NDR_IN) {
    8281         389 :                 if (r->in.group_handle == NULL) {
    8282           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8283             :                 }
    8284         389 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8285         389 :                 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
    8286             :         }
    8287         781 :         if (flags & NDR_OUT) {
    8288         392 :                 if (r->out.info == NULL) {
    8289           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8290             :                 }
    8291         392 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
    8292         392 :                 if (*r->out.info) {
    8293         392 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
    8294         392 :                         NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
    8295             :                 }
    8296         392 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8297             :         }
    8298         781 :         return NDR_ERR_SUCCESS;
    8299             : }
    8300             : 
    8301         778 : static enum ndr_err_code ndr_pull_samr_QueryGroupInfo(struct ndr_pull *ndr, int flags, struct samr_QueryGroupInfo *r)
    8302             : {
    8303             :         uint32_t _ptr_info;
    8304         778 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    8305         778 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    8306         778 :         TALLOC_CTX *_mem_save_info_1 = NULL;
    8307         778 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8308         778 :         if (flags & NDR_IN) {
    8309         389 :                 NDR_ZERO_STRUCT(r->out);
    8310             : 
    8311         389 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8312         389 :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8313             :                 }
    8314         389 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8315         389 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8316         389 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8317         389 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8318         389 :                 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
    8319         389 :                 NDR_PULL_ALLOC(ndr, r->out.info);
    8320         389 :                 NDR_ZERO_STRUCTP(r->out.info);
    8321             :         }
    8322         778 :         if (flags & NDR_OUT) {
    8323             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8324             :                 if (r->in.group_handle == NULL) {
    8325             :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8326             :                         NDR_ZERO_STRUCTP(r->in.group_handle);
    8327             :                 }
    8328             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8329         389 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8330          13 :                         NDR_PULL_ALLOC(ndr, r->out.info);
    8331             :                 }
    8332         389 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8333         389 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
    8334         389 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    8335         389 :                 if (_ptr_info) {
    8336         389 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
    8337             :                 } else {
    8338           0 :                         *r->out.info = NULL;
    8339             :                 }
    8340         389 :                 if (*r->out.info) {
    8341         389 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
    8342         389 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
    8343         389 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
    8344         389 :                         NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
    8345         389 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
    8346             :                 }
    8347         389 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    8348         389 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8349             :         }
    8350         778 :         return NDR_ERR_SUCCESS;
    8351             : }
    8352             : 
    8353           6 : _PUBLIC_ void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r)
    8354             : {
    8355           6 :         ndr_print_struct(ndr, name, "samr_QueryGroupInfo");
    8356           6 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8357           6 :         ndr->depth++;
    8358           6 :         if (flags & NDR_SET_VALUES) {
    8359           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8360             :         }
    8361           6 :         if (flags & NDR_IN) {
    8362           0 :                 ndr_print_struct(ndr, "in", "samr_QueryGroupInfo");
    8363           0 :                 ndr->depth++;
    8364           0 :                 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
    8365           0 :                 ndr->depth++;
    8366           0 :                 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
    8367           0 :                 ndr->depth--;
    8368           0 :                 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
    8369           0 :                 ndr->depth--;
    8370             :         }
    8371           6 :         if (flags & NDR_OUT) {
    8372           6 :                 ndr_print_struct(ndr, "out", "samr_QueryGroupInfo");
    8373           6 :                 ndr->depth++;
    8374           6 :                 ndr_print_ptr(ndr, "info", r->out.info);
    8375           6 :                 ndr->depth++;
    8376           6 :                 ndr_print_ptr(ndr, "info", *r->out.info);
    8377           6 :                 ndr->depth++;
    8378           6 :                 if (*r->out.info) {
    8379           6 :                         ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
    8380           6 :                         ndr_print_samr_GroupInfo(ndr, "info", *r->out.info);
    8381             :                 }
    8382           6 :                 ndr->depth--;
    8383           6 :                 ndr->depth--;
    8384           6 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8385           6 :                 ndr->depth--;
    8386             :         }
    8387           6 :         ndr->depth--;
    8388             : }
    8389             : 
    8390          58 : static enum ndr_err_code ndr_push_samr_SetGroupInfo(struct ndr_push *ndr, int flags, const struct samr_SetGroupInfo *r)
    8391             : {
    8392          58 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8393          58 :         if (flags & NDR_IN) {
    8394          29 :                 if (r->in.group_handle == NULL) {
    8395           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8396             :                 }
    8397          29 :                 if (r->in.info == NULL) {
    8398           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8399             :                 }
    8400          29 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8401          29 :                 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
    8402          29 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
    8403          29 :                 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    8404             :         }
    8405          58 :         if (flags & NDR_OUT) {
    8406          29 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8407             :         }
    8408          58 :         return NDR_ERR_SUCCESS;
    8409             : }
    8410             : 
    8411          58 : static enum ndr_err_code ndr_pull_samr_SetGroupInfo(struct ndr_pull *ndr, int flags, struct samr_SetGroupInfo *r)
    8412             : {
    8413          58 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    8414          58 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    8415          58 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8416          58 :         if (flags & NDR_IN) {
    8417          29 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8418          29 :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8419             :                 }
    8420          29 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8421          29 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8422          29 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8423          29 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8424          29 :                 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
    8425          29 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8426          29 :                         NDR_PULL_ALLOC(ndr, r->in.info);
    8427             :                 }
    8428          29 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8429          29 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
    8430          29 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
    8431          29 :                 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    8432          29 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    8433             :         }
    8434          58 :         if (flags & NDR_OUT) {
    8435             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8436             :                 if (r->in.group_handle == NULL) {
    8437             :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8438             :                         NDR_ZERO_STRUCTP(r->in.group_handle);
    8439             :                 }
    8440             :                 if (r->in.info == NULL) {
    8441             :                         NDR_PULL_ALLOC(ndr, r->in.info);
    8442             :                         NDR_ZERO_STRUCTP(r->in.info);
    8443             :                 }
    8444             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8445          29 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8446             :         }
    8447          58 :         return NDR_ERR_SUCCESS;
    8448             : }
    8449             : 
    8450           0 : _PUBLIC_ void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r)
    8451             : {
    8452           0 :         ndr_print_struct(ndr, name, "samr_SetGroupInfo");
    8453           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8454           0 :         ndr->depth++;
    8455           0 :         if (flags & NDR_SET_VALUES) {
    8456           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8457             :         }
    8458           0 :         if (flags & NDR_IN) {
    8459           0 :                 ndr_print_struct(ndr, "in", "samr_SetGroupInfo");
    8460           0 :                 ndr->depth++;
    8461           0 :                 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
    8462           0 :                 ndr->depth++;
    8463           0 :                 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
    8464           0 :                 ndr->depth--;
    8465           0 :                 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
    8466           0 :                 ndr_print_ptr(ndr, "info", r->in.info);
    8467           0 :                 ndr->depth++;
    8468           0 :                 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
    8469           0 :                 ndr_print_samr_GroupInfo(ndr, "info", r->in.info);
    8470           0 :                 ndr->depth--;
    8471           0 :                 ndr->depth--;
    8472             :         }
    8473           0 :         if (flags & NDR_OUT) {
    8474           0 :                 ndr_print_struct(ndr, "out", "samr_SetGroupInfo");
    8475           0 :                 ndr->depth++;
    8476           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8477           0 :                 ndr->depth--;
    8478             :         }
    8479           0 :         ndr->depth--;
    8480             : }
    8481             : 
    8482         156 : static enum ndr_err_code ndr_push_samr_AddGroupMember(struct ndr_push *ndr, int flags, const struct samr_AddGroupMember *r)
    8483             : {
    8484         156 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8485         156 :         if (flags & NDR_IN) {
    8486          78 :                 if (r->in.group_handle == NULL) {
    8487           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8488             :                 }
    8489          78 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8490          78 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
    8491          78 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
    8492             :         }
    8493         156 :         if (flags & NDR_OUT) {
    8494          78 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8495             :         }
    8496         156 :         return NDR_ERR_SUCCESS;
    8497             : }
    8498             : 
    8499         156 : static enum ndr_err_code ndr_pull_samr_AddGroupMember(struct ndr_pull *ndr, int flags, struct samr_AddGroupMember *r)
    8500             : {
    8501         156 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    8502         156 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8503         156 :         if (flags & NDR_IN) {
    8504          78 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8505          78 :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8506             :                 }
    8507          78 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8508          78 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8509          78 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8510          78 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8511          78 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
    8512          78 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
    8513             :         }
    8514         156 :         if (flags & NDR_OUT) {
    8515             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8516             :                 if (r->in.group_handle == NULL) {
    8517             :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8518             :                         NDR_ZERO_STRUCTP(r->in.group_handle);
    8519             :                 }
    8520             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8521          78 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8522             :         }
    8523         156 :         return NDR_ERR_SUCCESS;
    8524             : }
    8525             : 
    8526           0 : _PUBLIC_ void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r)
    8527             : {
    8528           0 :         ndr_print_struct(ndr, name, "samr_AddGroupMember");
    8529           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8530           0 :         ndr->depth++;
    8531           0 :         if (flags & NDR_SET_VALUES) {
    8532           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8533             :         }
    8534           0 :         if (flags & NDR_IN) {
    8535           0 :                 ndr_print_struct(ndr, "in", "samr_AddGroupMember");
    8536           0 :                 ndr->depth++;
    8537           0 :                 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
    8538           0 :                 ndr->depth++;
    8539           0 :                 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
    8540           0 :                 ndr->depth--;
    8541           0 :                 ndr_print_uint32(ndr, "rid", r->in.rid);
    8542           0 :                 ndr_print_uint32(ndr, "flags", r->in.flags);
    8543           0 :                 ndr->depth--;
    8544             :         }
    8545           0 :         if (flags & NDR_OUT) {
    8546           0 :                 ndr_print_struct(ndr, "out", "samr_AddGroupMember");
    8547           0 :                 ndr->depth++;
    8548           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8549           0 :                 ndr->depth--;
    8550             :         }
    8551           0 :         ndr->depth--;
    8552             : }
    8553             : 
    8554        1071 : static enum ndr_err_code ndr_push_samr_DeleteDomainGroup(struct ndr_push *ndr, int flags, const struct samr_DeleteDomainGroup *r)
    8555             : {
    8556        1071 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8557        1071 :         if (flags & NDR_IN) {
    8558         535 :                 if (r->in.group_handle == NULL) {
    8559           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8560             :                 }
    8561         535 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8562             :         }
    8563        1071 :         if (flags & NDR_OUT) {
    8564         536 :                 if (r->out.group_handle == NULL) {
    8565           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8566             :                 }
    8567         536 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
    8568         536 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8569             :         }
    8570        1071 :         return NDR_ERR_SUCCESS;
    8571             : }
    8572             : 
    8573        1070 : static enum ndr_err_code ndr_pull_samr_DeleteDomainGroup(struct ndr_pull *ndr, int flags, struct samr_DeleteDomainGroup *r)
    8574             : {
    8575        1070 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    8576        1070 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8577        1070 :         if (flags & NDR_IN) {
    8578         535 :                 NDR_ZERO_STRUCT(r->out);
    8579             : 
    8580         535 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8581         535 :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8582             :                 }
    8583         535 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8584         535 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8585         535 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8586         535 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8587         535 :                 NDR_PULL_ALLOC(ndr, r->out.group_handle);
    8588         535 :                 *r->out.group_handle = *r->in.group_handle;
    8589             :         }
    8590        1070 :         if (flags & NDR_OUT) {
    8591             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8592             :                 if (r->in.group_handle == NULL) {
    8593             :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8594             :                         NDR_ZERO_STRUCTP(r->in.group_handle);
    8595             :                 }
    8596             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8597         535 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8598          74 :                         NDR_PULL_ALLOC(ndr, r->out.group_handle);
    8599             :                 }
    8600         535 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8601         535 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8602         535 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
    8603         535 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8604         535 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8605             :         }
    8606        1070 :         return NDR_ERR_SUCCESS;
    8607             : }
    8608             : 
    8609           6 : _PUBLIC_ void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r)
    8610             : {
    8611           6 :         ndr_print_struct(ndr, name, "samr_DeleteDomainGroup");
    8612           6 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8613           6 :         ndr->depth++;
    8614           6 :         if (flags & NDR_SET_VALUES) {
    8615           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8616             :         }
    8617           6 :         if (flags & NDR_IN) {
    8618           0 :                 ndr_print_struct(ndr, "in", "samr_DeleteDomainGroup");
    8619           0 :                 ndr->depth++;
    8620           0 :                 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
    8621           0 :                 ndr->depth++;
    8622           0 :                 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
    8623           0 :                 ndr->depth--;
    8624           0 :                 ndr->depth--;
    8625             :         }
    8626           6 :         if (flags & NDR_OUT) {
    8627           6 :                 ndr_print_struct(ndr, "out", "samr_DeleteDomainGroup");
    8628           6 :                 ndr->depth++;
    8629           6 :                 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
    8630           6 :                 ndr->depth++;
    8631           6 :                 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
    8632           6 :                 ndr->depth--;
    8633           6 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8634           6 :                 ndr->depth--;
    8635             :         }
    8636           6 :         ndr->depth--;
    8637             : }
    8638             : 
    8639         160 : static enum ndr_err_code ndr_push_samr_DeleteGroupMember(struct ndr_push *ndr, int flags, const struct samr_DeleteGroupMember *r)
    8640             : {
    8641         160 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8642         160 :         if (flags & NDR_IN) {
    8643          80 :                 if (r->in.group_handle == NULL) {
    8644           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8645             :                 }
    8646          80 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8647          80 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
    8648             :         }
    8649         160 :         if (flags & NDR_OUT) {
    8650          80 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8651             :         }
    8652         160 :         return NDR_ERR_SUCCESS;
    8653             : }
    8654             : 
    8655         160 : static enum ndr_err_code ndr_pull_samr_DeleteGroupMember(struct ndr_pull *ndr, int flags, struct samr_DeleteGroupMember *r)
    8656             : {
    8657         160 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    8658         160 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8659         160 :         if (flags & NDR_IN) {
    8660          80 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8661          80 :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8662             :                 }
    8663          80 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8664          80 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8665          80 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8666          80 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8667          80 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
    8668             :         }
    8669         160 :         if (flags & NDR_OUT) {
    8670             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8671             :                 if (r->in.group_handle == NULL) {
    8672             :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8673             :                         NDR_ZERO_STRUCTP(r->in.group_handle);
    8674             :                 }
    8675             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8676          80 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8677             :         }
    8678         160 :         return NDR_ERR_SUCCESS;
    8679             : }
    8680             : 
    8681           0 : _PUBLIC_ void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r)
    8682             : {
    8683           0 :         ndr_print_struct(ndr, name, "samr_DeleteGroupMember");
    8684           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8685           0 :         ndr->depth++;
    8686           0 :         if (flags & NDR_SET_VALUES) {
    8687           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8688             :         }
    8689           0 :         if (flags & NDR_IN) {
    8690           0 :                 ndr_print_struct(ndr, "in", "samr_DeleteGroupMember");
    8691           0 :                 ndr->depth++;
    8692           0 :                 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
    8693           0 :                 ndr->depth++;
    8694           0 :                 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
    8695           0 :                 ndr->depth--;
    8696           0 :                 ndr_print_uint32(ndr, "rid", r->in.rid);
    8697           0 :                 ndr->depth--;
    8698             :         }
    8699           0 :         if (flags & NDR_OUT) {
    8700           0 :                 ndr_print_struct(ndr, "out", "samr_DeleteGroupMember");
    8701           0 :                 ndr->depth++;
    8702           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8703           0 :                 ndr->depth--;
    8704             :         }
    8705           0 :         ndr->depth--;
    8706             : }
    8707             : 
    8708        1364 : static enum ndr_err_code ndr_push_samr_QueryGroupMember(struct ndr_push *ndr, int flags, const struct samr_QueryGroupMember *r)
    8709             : {
    8710        1364 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8711        1364 :         if (flags & NDR_IN) {
    8712         828 :                 if (r->in.group_handle == NULL) {
    8713           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8714             :                 }
    8715         828 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8716             :         }
    8717        1364 :         if (flags & NDR_OUT) {
    8718         536 :                 if (r->out.rids == NULL) {
    8719           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8720             :                 }
    8721         536 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
    8722         536 :                 if (*r->out.rids) {
    8723         536 :                         NDR_CHECK(ndr_push_samr_RidAttrArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
    8724             :                 }
    8725         536 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8726             :         }
    8727        1364 :         return NDR_ERR_SUCCESS;
    8728             : }
    8729             : 
    8730        1352 : static enum ndr_err_code ndr_pull_samr_QueryGroupMember(struct ndr_pull *ndr, int flags, struct samr_QueryGroupMember *r)
    8731             : {
    8732             :         uint32_t _ptr_rids;
    8733        1352 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    8734        1352 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    8735        1352 :         TALLOC_CTX *_mem_save_rids_1 = NULL;
    8736        1352 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8737        1352 :         if (flags & NDR_IN) {
    8738         524 :                 NDR_ZERO_STRUCT(r->out);
    8739             : 
    8740         524 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8741         524 :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8742             :                 }
    8743         524 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8744         524 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8745         524 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8746         524 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8747         524 :                 NDR_PULL_ALLOC(ndr, r->out.rids);
    8748         524 :                 NDR_ZERO_STRUCTP(r->out.rids);
    8749             :         }
    8750        1352 :         if (flags & NDR_OUT) {
    8751             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8752             :                 if (r->in.group_handle == NULL) {
    8753             :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8754             :                         NDR_ZERO_STRUCTP(r->in.group_handle);
    8755             :                 }
    8756             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8757         828 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8758          91 :                         NDR_PULL_ALLOC(ndr, r->out.rids);
    8759             :                 }
    8760         828 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8761         828 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
    8762         828 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
    8763         828 :                 if (_ptr_rids) {
    8764         828 :                         NDR_PULL_ALLOC(ndr, *r->out.rids);
    8765             :                 } else {
    8766           0 :                         *r->out.rids = NULL;
    8767             :                 }
    8768         828 :                 if (*r->out.rids) {
    8769         828 :                         _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    8770         828 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
    8771         828 :                         NDR_CHECK(ndr_pull_samr_RidAttrArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
    8772         828 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
    8773             :                 }
    8774         828 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
    8775         828 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8776             :         }
    8777        1352 :         return NDR_ERR_SUCCESS;
    8778             : }
    8779             : 
    8780          24 : _PUBLIC_ void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r)
    8781             : {
    8782          24 :         ndr_print_struct(ndr, name, "samr_QueryGroupMember");
    8783          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8784          24 :         ndr->depth++;
    8785          24 :         if (flags & NDR_SET_VALUES) {
    8786           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8787             :         }
    8788          24 :         if (flags & NDR_IN) {
    8789           0 :                 ndr_print_struct(ndr, "in", "samr_QueryGroupMember");
    8790           0 :                 ndr->depth++;
    8791           0 :                 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
    8792           0 :                 ndr->depth++;
    8793           0 :                 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
    8794           0 :                 ndr->depth--;
    8795           0 :                 ndr->depth--;
    8796             :         }
    8797          24 :         if (flags & NDR_OUT) {
    8798          24 :                 ndr_print_struct(ndr, "out", "samr_QueryGroupMember");
    8799          24 :                 ndr->depth++;
    8800          24 :                 ndr_print_ptr(ndr, "rids", r->out.rids);
    8801          24 :                 ndr->depth++;
    8802          24 :                 ndr_print_ptr(ndr, "rids", *r->out.rids);
    8803          24 :                 ndr->depth++;
    8804          24 :                 if (*r->out.rids) {
    8805          24 :                         ndr_print_samr_RidAttrArray(ndr, "rids", *r->out.rids);
    8806             :                 }
    8807          24 :                 ndr->depth--;
    8808          24 :                 ndr->depth--;
    8809          24 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8810          24 :                 ndr->depth--;
    8811             :         }
    8812          24 :         ndr->depth--;
    8813             : }
    8814             : 
    8815           0 : static enum ndr_err_code ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push *ndr, int flags, const struct samr_SetMemberAttributesOfGroup *r)
    8816             : {
    8817           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8818           0 :         if (flags & NDR_IN) {
    8819           0 :                 if (r->in.group_handle == NULL) {
    8820           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8821             :                 }
    8822           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8823           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
    8824           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
    8825             :         }
    8826           0 :         if (flags & NDR_OUT) {
    8827           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8828             :         }
    8829           0 :         return NDR_ERR_SUCCESS;
    8830             : }
    8831             : 
    8832           0 : static enum ndr_err_code ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull *ndr, int flags, struct samr_SetMemberAttributesOfGroup *r)
    8833             : {
    8834           0 :         TALLOC_CTX *_mem_save_group_handle_0 = NULL;
    8835           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8836           0 :         if (flags & NDR_IN) {
    8837           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8838           0 :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8839             :                 }
    8840           0 :                 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8841           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
    8842           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
    8843           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8844           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
    8845           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
    8846             :         }
    8847           0 :         if (flags & NDR_OUT) {
    8848             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8849             :                 if (r->in.group_handle == NULL) {
    8850             :                         NDR_PULL_ALLOC(ndr, r->in.group_handle);
    8851             :                         NDR_ZERO_STRUCTP(r->in.group_handle);
    8852             :                 }
    8853             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8854           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8855             :         }
    8856           0 :         return NDR_ERR_SUCCESS;
    8857             : }
    8858             : 
    8859           0 : _PUBLIC_ void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r)
    8860             : {
    8861           0 :         ndr_print_struct(ndr, name, "samr_SetMemberAttributesOfGroup");
    8862           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8863           0 :         ndr->depth++;
    8864           0 :         if (flags & NDR_SET_VALUES) {
    8865           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8866             :         }
    8867           0 :         if (flags & NDR_IN) {
    8868           0 :                 ndr_print_struct(ndr, "in", "samr_SetMemberAttributesOfGroup");
    8869           0 :                 ndr->depth++;
    8870           0 :                 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
    8871           0 :                 ndr->depth++;
    8872           0 :                 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
    8873           0 :                 ndr->depth--;
    8874           0 :                 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
    8875           0 :                 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
    8876           0 :                 ndr->depth--;
    8877             :         }
    8878           0 :         if (flags & NDR_OUT) {
    8879           0 :                 ndr_print_struct(ndr, "out", "samr_SetMemberAttributesOfGroup");
    8880           0 :                 ndr->depth++;
    8881           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8882           0 :                 ndr->depth--;
    8883             :         }
    8884           0 :         ndr->depth--;
    8885             : }
    8886             : 
    8887        1806 : static enum ndr_err_code ndr_push_samr_OpenAlias(struct ndr_push *ndr, int flags, const struct samr_OpenAlias *r)
    8888             : {
    8889        1806 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8890        1806 :         if (flags & NDR_IN) {
    8891        1365 :                 if (r->in.domain_handle == NULL) {
    8892           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8893             :                 }
    8894        1365 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    8895        1365 :                 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
    8896        1365 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
    8897             :         }
    8898        1806 :         if (flags & NDR_OUT) {
    8899         441 :                 if (r->out.alias_handle == NULL) {
    8900           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8901             :                 }
    8902         441 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
    8903         441 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8904             :         }
    8905        1806 :         return NDR_ERR_SUCCESS;
    8906             : }
    8907             : 
    8908        1806 : static enum ndr_err_code ndr_pull_samr_OpenAlias(struct ndr_pull *ndr, int flags, struct samr_OpenAlias *r)
    8909             : {
    8910        1806 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    8911        1806 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
    8912        1806 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    8913        1806 :         if (flags & NDR_IN) {
    8914         441 :                 NDR_ZERO_STRUCT(r->out);
    8915             : 
    8916         441 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8917         441 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    8918             :                 }
    8919         441 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8920         441 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    8921         441 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    8922         441 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8923         441 :                 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
    8924         441 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
    8925         441 :                 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
    8926         441 :                 NDR_ZERO_STRUCTP(r->out.alias_handle);
    8927             :         }
    8928        1806 :         if (flags & NDR_OUT) {
    8929             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    8930             :                 if (r->in.domain_handle == NULL) {
    8931             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    8932             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    8933             :                 }
    8934             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    8935        1365 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    8936        1224 :                         NDR_PULL_ALLOC(ndr, r->out.alias_handle);
    8937             :                 }
    8938        1365 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8939        1365 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    8940        1365 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
    8941        1365 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    8942        1365 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    8943             :         }
    8944        1806 :         return NDR_ERR_SUCCESS;
    8945             : }
    8946             : 
    8947           0 : _PUBLIC_ void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r)
    8948             : {
    8949           0 :         ndr_print_struct(ndr, name, "samr_OpenAlias");
    8950           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8951           0 :         ndr->depth++;
    8952           0 :         if (flags & NDR_SET_VALUES) {
    8953           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    8954             :         }
    8955           0 :         if (flags & NDR_IN) {
    8956           0 :                 ndr_print_struct(ndr, "in", "samr_OpenAlias");
    8957           0 :                 ndr->depth++;
    8958           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    8959           0 :                 ndr->depth++;
    8960           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    8961           0 :                 ndr->depth--;
    8962           0 :                 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
    8963           0 :                 ndr_print_uint32(ndr, "rid", r->in.rid);
    8964           0 :                 ndr->depth--;
    8965             :         }
    8966           0 :         if (flags & NDR_OUT) {
    8967           0 :                 ndr_print_struct(ndr, "out", "samr_OpenAlias");
    8968           0 :                 ndr->depth++;
    8969           0 :                 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
    8970           0 :                 ndr->depth++;
    8971           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
    8972           0 :                 ndr->depth--;
    8973           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    8974           0 :                 ndr->depth--;
    8975             :         }
    8976           0 :         ndr->depth--;
    8977             : }
    8978             : 
    8979         898 : static enum ndr_err_code ndr_push_samr_QueryAliasInfo(struct ndr_push *ndr, int flags, const struct samr_QueryAliasInfo *r)
    8980             : {
    8981         898 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    8982         898 :         if (flags & NDR_IN) {
    8983         458 :                 if (r->in.alias_handle == NULL) {
    8984           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8985             :                 }
    8986         458 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    8987         458 :                 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
    8988             :         }
    8989         898 :         if (flags & NDR_OUT) {
    8990         440 :                 if (r->out.info == NULL) {
    8991           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    8992             :                 }
    8993         440 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
    8994         440 :                 if (*r->out.info) {
    8995         440 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
    8996         440 :                         NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
    8997             :                 }
    8998         440 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    8999             :         }
    9000         898 :         return NDR_ERR_SUCCESS;
    9001             : }
    9002             : 
    9003         898 : static enum ndr_err_code ndr_pull_samr_QueryAliasInfo(struct ndr_pull *ndr, int flags, struct samr_QueryAliasInfo *r)
    9004             : {
    9005             :         uint32_t _ptr_info;
    9006         898 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
    9007         898 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    9008         898 :         TALLOC_CTX *_mem_save_info_1 = NULL;
    9009         898 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9010         898 :         if (flags & NDR_IN) {
    9011         440 :                 NDR_ZERO_STRUCT(r->out);
    9012             : 
    9013         440 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9014         440 :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9015             :                 }
    9016         440 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9017         440 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    9018         440 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9019         440 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9020         440 :                 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
    9021         440 :                 NDR_PULL_ALLOC(ndr, r->out.info);
    9022         440 :                 NDR_ZERO_STRUCTP(r->out.info);
    9023             :         }
    9024         898 :         if (flags & NDR_OUT) {
    9025             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9026             :                 if (r->in.alias_handle == NULL) {
    9027             :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9028             :                         NDR_ZERO_STRUCTP(r->in.alias_handle);
    9029             :                 }
    9030             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9031         458 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9032           0 :                         NDR_PULL_ALLOC(ndr, r->out.info);
    9033             :                 }
    9034         458 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9035         458 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
    9036         458 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    9037         458 :                 if (_ptr_info) {
    9038         458 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
    9039             :                 } else {
    9040           0 :                         *r->out.info = NULL;
    9041             :                 }
    9042         458 :                 if (*r->out.info) {
    9043         458 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
    9044         458 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
    9045         458 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
    9046         458 :                         NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
    9047         458 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
    9048             :                 }
    9049         458 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    9050         458 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9051             :         }
    9052         898 :         return NDR_ERR_SUCCESS;
    9053             : }
    9054             : 
    9055           0 : _PUBLIC_ void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r)
    9056             : {
    9057           0 :         ndr_print_struct(ndr, name, "samr_QueryAliasInfo");
    9058           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9059           0 :         ndr->depth++;
    9060           0 :         if (flags & NDR_SET_VALUES) {
    9061           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9062             :         }
    9063           0 :         if (flags & NDR_IN) {
    9064           0 :                 ndr_print_struct(ndr, "in", "samr_QueryAliasInfo");
    9065           0 :                 ndr->depth++;
    9066           0 :                 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
    9067           0 :                 ndr->depth++;
    9068           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
    9069           0 :                 ndr->depth--;
    9070           0 :                 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
    9071           0 :                 ndr->depth--;
    9072             :         }
    9073           0 :         if (flags & NDR_OUT) {
    9074           0 :                 ndr_print_struct(ndr, "out", "samr_QueryAliasInfo");
    9075           0 :                 ndr->depth++;
    9076           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
    9077           0 :                 ndr->depth++;
    9078           0 :                 ndr_print_ptr(ndr, "info", *r->out.info);
    9079           0 :                 ndr->depth++;
    9080           0 :                 if (*r->out.info) {
    9081           0 :                         ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
    9082           0 :                         ndr_print_samr_AliasInfo(ndr, "info", *r->out.info);
    9083             :                 }
    9084           0 :                 ndr->depth--;
    9085           0 :                 ndr->depth--;
    9086           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9087           0 :                 ndr->depth--;
    9088             :         }
    9089           0 :         ndr->depth--;
    9090             : }
    9091             : 
    9092          28 : static enum ndr_err_code ndr_push_samr_SetAliasInfo(struct ndr_push *ndr, int flags, const struct samr_SetAliasInfo *r)
    9093             : {
    9094          28 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9095          28 :         if (flags & NDR_IN) {
    9096          14 :                 if (r->in.alias_handle == NULL) {
    9097           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9098             :                 }
    9099          14 :                 if (r->in.info == NULL) {
    9100           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9101             :                 }
    9102          14 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9103          14 :                 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
    9104          14 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
    9105          14 :                 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    9106             :         }
    9107          28 :         if (flags & NDR_OUT) {
    9108          14 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9109             :         }
    9110          28 :         return NDR_ERR_SUCCESS;
    9111             : }
    9112             : 
    9113          28 : static enum ndr_err_code ndr_pull_samr_SetAliasInfo(struct ndr_pull *ndr, int flags, struct samr_SetAliasInfo *r)
    9114             : {
    9115          28 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
    9116          28 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    9117          28 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9118          28 :         if (flags & NDR_IN) {
    9119          14 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9120          14 :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9121             :                 }
    9122          14 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9123          14 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    9124          14 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9125          14 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9126          14 :                 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
    9127          14 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9128          14 :                         NDR_PULL_ALLOC(ndr, r->in.info);
    9129             :                 }
    9130          14 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9131          14 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
    9132          14 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
    9133          14 :                 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    9134          14 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    9135             :         }
    9136          28 :         if (flags & NDR_OUT) {
    9137             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9138             :                 if (r->in.alias_handle == NULL) {
    9139             :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9140             :                         NDR_ZERO_STRUCTP(r->in.alias_handle);
    9141             :                 }
    9142             :                 if (r->in.info == NULL) {
    9143             :                         NDR_PULL_ALLOC(ndr, r->in.info);
    9144             :                         NDR_ZERO_STRUCTP(r->in.info);
    9145             :                 }
    9146             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9147          14 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9148             :         }
    9149          28 :         return NDR_ERR_SUCCESS;
    9150             : }
    9151             : 
    9152           0 : _PUBLIC_ void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r)
    9153             : {
    9154           0 :         ndr_print_struct(ndr, name, "samr_SetAliasInfo");
    9155           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9156           0 :         ndr->depth++;
    9157           0 :         if (flags & NDR_SET_VALUES) {
    9158           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9159             :         }
    9160           0 :         if (flags & NDR_IN) {
    9161           0 :                 ndr_print_struct(ndr, "in", "samr_SetAliasInfo");
    9162           0 :                 ndr->depth++;
    9163           0 :                 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
    9164           0 :                 ndr->depth++;
    9165           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
    9166           0 :                 ndr->depth--;
    9167           0 :                 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
    9168           0 :                 ndr_print_ptr(ndr, "info", r->in.info);
    9169           0 :                 ndr->depth++;
    9170           0 :                 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
    9171           0 :                 ndr_print_samr_AliasInfo(ndr, "info", r->in.info);
    9172           0 :                 ndr->depth--;
    9173           0 :                 ndr->depth--;
    9174             :         }
    9175           0 :         if (flags & NDR_OUT) {
    9176           0 :                 ndr_print_struct(ndr, "out", "samr_SetAliasInfo");
    9177           0 :                 ndr->depth++;
    9178           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9179           0 :                 ndr->depth--;
    9180             :         }
    9181           0 :         ndr->depth--;
    9182             : }
    9183             : 
    9184         914 : static enum ndr_err_code ndr_push_samr_DeleteDomAlias(struct ndr_push *ndr, int flags, const struct samr_DeleteDomAlias *r)
    9185             : {
    9186         914 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9187         914 :         if (flags & NDR_IN) {
    9188         457 :                 if (r->in.alias_handle == NULL) {
    9189           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9190             :                 }
    9191         457 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9192             :         }
    9193         914 :         if (flags & NDR_OUT) {
    9194         457 :                 if (r->out.alias_handle == NULL) {
    9195           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9196             :                 }
    9197         457 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
    9198         457 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9199             :         }
    9200         914 :         return NDR_ERR_SUCCESS;
    9201             : }
    9202             : 
    9203         914 : static enum ndr_err_code ndr_pull_samr_DeleteDomAlias(struct ndr_pull *ndr, int flags, struct samr_DeleteDomAlias *r)
    9204             : {
    9205         914 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
    9206         914 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9207         914 :         if (flags & NDR_IN) {
    9208         457 :                 NDR_ZERO_STRUCT(r->out);
    9209             : 
    9210         457 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9211         457 :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9212             :                 }
    9213         457 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9214         457 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    9215         457 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9216         457 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9217         457 :                 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
    9218         457 :                 *r->out.alias_handle = *r->in.alias_handle;
    9219             :         }
    9220         914 :         if (flags & NDR_OUT) {
    9221             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9222             :                 if (r->in.alias_handle == NULL) {
    9223             :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9224             :                         NDR_ZERO_STRUCTP(r->in.alias_handle);
    9225             :                 }
    9226             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9227         457 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9228           0 :                         NDR_PULL_ALLOC(ndr, r->out.alias_handle);
    9229             :                 }
    9230         457 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9231         457 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    9232         457 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
    9233         457 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9234         457 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9235             :         }
    9236         914 :         return NDR_ERR_SUCCESS;
    9237             : }
    9238             : 
    9239           0 : _PUBLIC_ void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r)
    9240             : {
    9241           0 :         ndr_print_struct(ndr, name, "samr_DeleteDomAlias");
    9242           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9243           0 :         ndr->depth++;
    9244           0 :         if (flags & NDR_SET_VALUES) {
    9245           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9246             :         }
    9247           0 :         if (flags & NDR_IN) {
    9248           0 :                 ndr_print_struct(ndr, "in", "samr_DeleteDomAlias");
    9249           0 :                 ndr->depth++;
    9250           0 :                 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
    9251           0 :                 ndr->depth++;
    9252           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
    9253           0 :                 ndr->depth--;
    9254           0 :                 ndr->depth--;
    9255             :         }
    9256           0 :         if (flags & NDR_OUT) {
    9257           0 :                 ndr_print_struct(ndr, "out", "samr_DeleteDomAlias");
    9258           0 :                 ndr->depth++;
    9259           0 :                 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
    9260           0 :                 ndr->depth++;
    9261           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
    9262           0 :                 ndr->depth--;
    9263           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9264           0 :                 ndr->depth--;
    9265             :         }
    9266           0 :         ndr->depth--;
    9267             : }
    9268             : 
    9269          14 : static enum ndr_err_code ndr_push_samr_AddAliasMember(struct ndr_push *ndr, int flags, const struct samr_AddAliasMember *r)
    9270             : {
    9271          14 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9272          14 :         if (flags & NDR_IN) {
    9273           7 :                 if (r->in.alias_handle == NULL) {
    9274           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9275             :                 }
    9276           7 :                 if (r->in.sid == NULL) {
    9277           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9278             :                 }
    9279           7 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9280           7 :                 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
    9281             :         }
    9282          14 :         if (flags & NDR_OUT) {
    9283           7 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9284             :         }
    9285          14 :         return NDR_ERR_SUCCESS;
    9286             : }
    9287             : 
    9288          14 : static enum ndr_err_code ndr_pull_samr_AddAliasMember(struct ndr_pull *ndr, int flags, struct samr_AddAliasMember *r)
    9289             : {
    9290          14 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
    9291          14 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    9292          14 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9293          14 :         if (flags & NDR_IN) {
    9294           7 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9295           7 :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9296             :                 }
    9297           7 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9298           7 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    9299           7 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9300           7 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9301           7 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9302           7 :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    9303             :                 }
    9304           7 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9305           7 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
    9306           7 :                 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
    9307           7 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
    9308             :         }
    9309          14 :         if (flags & NDR_OUT) {
    9310             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9311             :                 if (r->in.alias_handle == NULL) {
    9312             :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9313             :                         NDR_ZERO_STRUCTP(r->in.alias_handle);
    9314             :                 }
    9315             :                 if (r->in.sid == NULL) {
    9316             :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    9317             :                         NDR_ZERO_STRUCTP(r->in.sid);
    9318             :                 }
    9319             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9320           7 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9321             :         }
    9322          14 :         return NDR_ERR_SUCCESS;
    9323             : }
    9324             : 
    9325           0 : _PUBLIC_ void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r)
    9326             : {
    9327           0 :         ndr_print_struct(ndr, name, "samr_AddAliasMember");
    9328           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9329           0 :         ndr->depth++;
    9330           0 :         if (flags & NDR_SET_VALUES) {
    9331           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9332             :         }
    9333           0 :         if (flags & NDR_IN) {
    9334           0 :                 ndr_print_struct(ndr, "in", "samr_AddAliasMember");
    9335           0 :                 ndr->depth++;
    9336           0 :                 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
    9337           0 :                 ndr->depth++;
    9338           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
    9339           0 :                 ndr->depth--;
    9340           0 :                 ndr_print_ptr(ndr, "sid", r->in.sid);
    9341           0 :                 ndr->depth++;
    9342           0 :                 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
    9343           0 :                 ndr->depth--;
    9344           0 :                 ndr->depth--;
    9345             :         }
    9346           0 :         if (flags & NDR_OUT) {
    9347           0 :                 ndr_print_struct(ndr, "out", "samr_AddAliasMember");
    9348           0 :                 ndr->depth++;
    9349           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9350           0 :                 ndr->depth--;
    9351             :         }
    9352           0 :         ndr->depth--;
    9353             : }
    9354             : 
    9355          14 : static enum ndr_err_code ndr_push_samr_DeleteAliasMember(struct ndr_push *ndr, int flags, const struct samr_DeleteAliasMember *r)
    9356             : {
    9357          14 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9358          14 :         if (flags & NDR_IN) {
    9359           7 :                 if (r->in.alias_handle == NULL) {
    9360           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9361             :                 }
    9362           7 :                 if (r->in.sid == NULL) {
    9363           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9364             :                 }
    9365           7 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9366           7 :                 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
    9367             :         }
    9368          14 :         if (flags & NDR_OUT) {
    9369           7 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9370             :         }
    9371          14 :         return NDR_ERR_SUCCESS;
    9372             : }
    9373             : 
    9374          14 : static enum ndr_err_code ndr_pull_samr_DeleteAliasMember(struct ndr_pull *ndr, int flags, struct samr_DeleteAliasMember *r)
    9375             : {
    9376          14 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
    9377          14 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    9378          14 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9379          14 :         if (flags & NDR_IN) {
    9380           7 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9381           7 :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9382             :                 }
    9383           7 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9384           7 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    9385           7 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9386           7 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9387           7 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9388           7 :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    9389             :                 }
    9390           7 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9391           7 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
    9392           7 :                 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
    9393           7 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
    9394             :         }
    9395          14 :         if (flags & NDR_OUT) {
    9396             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9397             :                 if (r->in.alias_handle == NULL) {
    9398             :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9399             :                         NDR_ZERO_STRUCTP(r->in.alias_handle);
    9400             :                 }
    9401             :                 if (r->in.sid == NULL) {
    9402             :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    9403             :                         NDR_ZERO_STRUCTP(r->in.sid);
    9404             :                 }
    9405             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9406           7 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9407             :         }
    9408          14 :         return NDR_ERR_SUCCESS;
    9409             : }
    9410             : 
    9411           0 : _PUBLIC_ void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r)
    9412             : {
    9413           0 :         ndr_print_struct(ndr, name, "samr_DeleteAliasMember");
    9414           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9415           0 :         ndr->depth++;
    9416           0 :         if (flags & NDR_SET_VALUES) {
    9417           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9418             :         }
    9419           0 :         if (flags & NDR_IN) {
    9420           0 :                 ndr_print_struct(ndr, "in", "samr_DeleteAliasMember");
    9421           0 :                 ndr->depth++;
    9422           0 :                 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
    9423           0 :                 ndr->depth++;
    9424           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
    9425           0 :                 ndr->depth--;
    9426           0 :                 ndr_print_ptr(ndr, "sid", r->in.sid);
    9427           0 :                 ndr->depth++;
    9428           0 :                 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
    9429           0 :                 ndr->depth--;
    9430           0 :                 ndr->depth--;
    9431             :         }
    9432           0 :         if (flags & NDR_OUT) {
    9433           0 :                 ndr_print_struct(ndr, "out", "samr_DeleteAliasMember");
    9434           0 :                 ndr->depth++;
    9435           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9436           0 :                 ndr->depth--;
    9437             :         }
    9438           0 :         ndr->depth--;
    9439             : }
    9440             : 
    9441        1806 : static enum ndr_err_code ndr_push_samr_GetMembersInAlias(struct ndr_push *ndr, int flags, const struct samr_GetMembersInAlias *r)
    9442             : {
    9443        1806 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9444        1806 :         if (flags & NDR_IN) {
    9445        1365 :                 if (r->in.alias_handle == NULL) {
    9446           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9447             :                 }
    9448        1365 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9449             :         }
    9450        1806 :         if (flags & NDR_OUT) {
    9451         441 :                 if (r->out.sids == NULL) {
    9452           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9453             :                 }
    9454         441 :                 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
    9455         441 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9456             :         }
    9457        1806 :         return NDR_ERR_SUCCESS;
    9458             : }
    9459             : 
    9460        1806 : static enum ndr_err_code ndr_pull_samr_GetMembersInAlias(struct ndr_pull *ndr, int flags, struct samr_GetMembersInAlias *r)
    9461             : {
    9462        1806 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
    9463        1806 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    9464        1806 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9465        1806 :         if (flags & NDR_IN) {
    9466         441 :                 NDR_ZERO_STRUCT(r->out);
    9467             : 
    9468         441 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9469         441 :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9470             :                 }
    9471         441 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9472         441 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
    9473         441 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
    9474         441 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9475         441 :                 NDR_PULL_ALLOC(ndr, r->out.sids);
    9476         441 :                 NDR_ZERO_STRUCTP(r->out.sids);
    9477             :         }
    9478        1806 :         if (flags & NDR_OUT) {
    9479             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9480             :                 if (r->in.alias_handle == NULL) {
    9481             :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
    9482             :                         NDR_ZERO_STRUCTP(r->in.alias_handle);
    9483             :                 }
    9484             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9485        1365 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9486        1224 :                         NDR_PULL_ALLOC(ndr, r->out.sids);
    9487             :                 }
    9488        1365 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9489        1365 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
    9490        1365 :                 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
    9491        1365 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
    9492        1365 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9493             :         }
    9494        1806 :         return NDR_ERR_SUCCESS;
    9495             : }
    9496             : 
    9497           0 : _PUBLIC_ void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r)
    9498             : {
    9499           0 :         ndr_print_struct(ndr, name, "samr_GetMembersInAlias");
    9500           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9501           0 :         ndr->depth++;
    9502           0 :         if (flags & NDR_SET_VALUES) {
    9503           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9504             :         }
    9505           0 :         if (flags & NDR_IN) {
    9506           0 :                 ndr_print_struct(ndr, "in", "samr_GetMembersInAlias");
    9507           0 :                 ndr->depth++;
    9508           0 :                 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
    9509           0 :                 ndr->depth++;
    9510           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
    9511           0 :                 ndr->depth--;
    9512           0 :                 ndr->depth--;
    9513             :         }
    9514           0 :         if (flags & NDR_OUT) {
    9515           0 :                 ndr_print_struct(ndr, "out", "samr_GetMembersInAlias");
    9516           0 :                 ndr->depth++;
    9517           0 :                 ndr_print_ptr(ndr, "sids", r->out.sids);
    9518           0 :                 ndr->depth++;
    9519           0 :                 ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
    9520           0 :                 ndr->depth--;
    9521           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9522           0 :                 ndr->depth--;
    9523             :         }
    9524           0 :         ndr->depth--;
    9525             : }
    9526             : 
    9527        5006 : _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r)
    9528             : {
    9529        5006 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9530        5006 :         if (flags & NDR_IN) {
    9531        2459 :                 if (r->in.domain_handle == NULL) {
    9532           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9533             :                 }
    9534        2459 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    9535        2459 :                 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
    9536        2459 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
    9537             :         }
    9538        5006 :         if (flags & NDR_OUT) {
    9539        2547 :                 if (r->out.user_handle == NULL) {
    9540           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9541             :                 }
    9542        2547 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
    9543        2547 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9544             :         }
    9545        5006 :         return NDR_ERR_SUCCESS;
    9546             : }
    9547             : 
    9548        4910 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r)
    9549             : {
    9550        4910 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
    9551        4910 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
    9552        4910 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9553        4910 :         if (flags & NDR_IN) {
    9554        2457 :                 NDR_ZERO_STRUCT(r->out);
    9555             : 
    9556        2457 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9557        2457 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    9558             :                 }
    9559        2457 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9560        2457 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
    9561        2457 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
    9562        2457 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9563        2459 :                 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
    9564        2457 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
    9565        2457 :                 NDR_PULL_ALLOC(ndr, r->out.user_handle);
    9566        2457 :                 NDR_ZERO_STRUCTP(r->out.user_handle);
    9567             :         }
    9568        4910 :         if (flags & NDR_OUT) {
    9569             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9570             :                 if (r->in.domain_handle == NULL) {
    9571             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
    9572             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
    9573             :                 }
    9574             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9575        2453 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9576        1054 :                         NDR_PULL_ALLOC(ndr, r->out.user_handle);
    9577             :                 }
    9578        2453 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9579        2453 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
    9580        2453 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
    9581        2453 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9582        2453 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9583             :         }
    9584        4906 :         return NDR_ERR_SUCCESS;
    9585             : }
    9586             : 
    9587         204 : _PUBLIC_ void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r)
    9588             : {
    9589         204 :         ndr_print_struct(ndr, name, "samr_OpenUser");
    9590         204 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9591         204 :         ndr->depth++;
    9592         204 :         if (flags & NDR_SET_VALUES) {
    9593           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9594             :         }
    9595         204 :         if (flags & NDR_IN) {
    9596           2 :                 ndr_print_struct(ndr, "in", "samr_OpenUser");
    9597           2 :                 ndr->depth++;
    9598           2 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
    9599           2 :                 ndr->depth++;
    9600           2 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
    9601           2 :                 ndr->depth--;
    9602           2 :                 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
    9603           2 :                 ndr_print_uint32(ndr, "rid", r->in.rid);
    9604           2 :                 ndr->depth--;
    9605             :         }
    9606         204 :         if (flags & NDR_OUT) {
    9607         202 :                 ndr_print_struct(ndr, "out", "samr_OpenUser");
    9608         202 :                 ndr->depth++;
    9609         202 :                 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
    9610         202 :                 ndr->depth++;
    9611         202 :                 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
    9612         202 :                 ndr->depth--;
    9613         202 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9614         202 :                 ndr->depth--;
    9615             :         }
    9616         204 :         ndr->depth--;
    9617             : }
    9618             : 
    9619        2625 : static enum ndr_err_code ndr_push_samr_DeleteUser(struct ndr_push *ndr, int flags, const struct samr_DeleteUser *r)
    9620             : {
    9621        2625 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9622        2625 :         if (flags & NDR_IN) {
    9623        1266 :                 if (r->in.user_handle == NULL) {
    9624           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9625             :                 }
    9626        1266 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
    9627             :         }
    9628        2625 :         if (flags & NDR_OUT) {
    9629        1359 :                 if (r->out.user_handle == NULL) {
    9630           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9631             :                 }
    9632        1359 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
    9633        1359 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9634             :         }
    9635        2427 :         return NDR_ERR_SUCCESS;
    9636             : }
    9637             : 
    9638        2531 : static enum ndr_err_code ndr_pull_samr_DeleteUser(struct ndr_pull *ndr, int flags, struct samr_DeleteUser *r)
    9639             : {
    9640        2531 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
    9641        2531 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9642        2531 :         if (flags & NDR_IN) {
    9643        1265 :                 NDR_ZERO_STRUCT(r->out);
    9644             : 
    9645        1265 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9646        1265 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
    9647             :                 }
    9648        1265 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9649        1265 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
    9650        1265 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
    9651        1265 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9652        1265 :                 NDR_PULL_ALLOC(ndr, r->out.user_handle);
    9653        1265 :                 *r->out.user_handle = *r->in.user_handle;
    9654             :         }
    9655        2531 :         if (flags & NDR_OUT) {
    9656             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9657             :                 if (r->in.user_handle == NULL) {
    9658             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
    9659             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
    9660             :                 }
    9661             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9662        1266 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9663         140 :                         NDR_PULL_ALLOC(ndr, r->out.user_handle);
    9664             :                 }
    9665        1266 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9666        1266 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
    9667        1266 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
    9668        1266 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9669        1266 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9670             :         }
    9671        2351 :         return NDR_ERR_SUCCESS;
    9672             : }
    9673             : 
    9674         268 : _PUBLIC_ void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r)
    9675             : {
    9676         268 :         ndr_print_struct(ndr, name, "samr_DeleteUser");
    9677         268 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9678         268 :         ndr->depth++;
    9679         268 :         if (flags & NDR_SET_VALUES) {
    9680           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9681             :         }
    9682         268 :         if (flags & NDR_IN) {
    9683           0 :                 ndr_print_struct(ndr, "in", "samr_DeleteUser");
    9684           0 :                 ndr->depth++;
    9685           0 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
    9686           0 :                 ndr->depth++;
    9687           0 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
    9688           0 :                 ndr->depth--;
    9689           0 :                 ndr->depth--;
    9690             :         }
    9691         268 :         if (flags & NDR_OUT) {
    9692         268 :                 ndr_print_struct(ndr, "out", "samr_DeleteUser");
    9693         268 :                 ndr->depth++;
    9694         268 :                 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
    9695         268 :                 ndr->depth++;
    9696         268 :                 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
    9697         268 :                 ndr->depth--;
    9698         268 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9699         268 :                 ndr->depth--;
    9700             :         }
    9701         268 :         ndr->depth--;
    9702             : }
    9703             : 
    9704       24520 : _PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r)
    9705             : {
    9706       24520 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9707       24520 :         if (flags & NDR_IN) {
    9708       12480 :                 if (r->in.user_handle == NULL) {
    9709           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9710             :                 }
    9711       12480 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
    9712       12570 :                 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
    9713             :         }
    9714       24520 :         if (flags & NDR_OUT) {
    9715       12040 :                 if (r->out.info == NULL) {
    9716           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9717             :                 }
    9718       12040 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
    9719       12040 :                 if (*r->out.info) {
    9720       12040 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
    9721       12040 :                         NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
    9722             :                 }
    9723       12040 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9724             :         }
    9725       24322 :         return NDR_ERR_SUCCESS;
    9726             : }
    9727             : 
    9728       24312 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r)
    9729             : {
    9730             :         uint32_t _ptr_info;
    9731       24312 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
    9732       24312 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    9733       24312 :         TALLOC_CTX *_mem_save_info_1 = NULL;
    9734       24312 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9735       24312 :         if (flags & NDR_IN) {
    9736       11830 :                 NDR_ZERO_STRUCT(r->out);
    9737             : 
    9738       11830 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9739       11830 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
    9740             :                 }
    9741       11830 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9742       11830 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
    9743       11830 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
    9744       11830 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9745       11924 :                 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
    9746       11830 :                 NDR_PULL_ALLOC(ndr, r->out.info);
    9747       11830 :                 NDR_ZERO_STRUCTP(r->out.info);
    9748             :         }
    9749       24312 :         if (flags & NDR_OUT) {
    9750             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9751             :                 if (r->in.user_handle == NULL) {
    9752             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
    9753             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
    9754             :                 }
    9755             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9756       12482 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9757        2940 :                         NDR_PULL_ALLOC(ndr, r->out.info);
    9758             :                 }
    9759       12482 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9760       12482 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
    9761       12482 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    9762       12482 :                 if (_ptr_info) {
    9763       12482 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
    9764             :                 } else {
    9765           0 :                         *r->out.info = NULL;
    9766             :                 }
    9767       12482 :                 if (*r->out.info) {
    9768       12482 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
    9769       12482 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
    9770       12482 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
    9771       12482 :                         NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
    9772       12482 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
    9773             :                 }
    9774       12482 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    9775       12482 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9776             :         }
    9777       24126 :         return NDR_ERR_SUCCESS;
    9778             : }
    9779             : 
    9780         434 : _PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r)
    9781             : {
    9782         434 :         ndr_print_struct(ndr, name, "samr_QueryUserInfo");
    9783         434 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9784         434 :         ndr->depth++;
    9785         434 :         if (flags & NDR_SET_VALUES) {
    9786           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9787             :         }
    9788         434 :         if (flags & NDR_IN) {
    9789           4 :                 ndr_print_struct(ndr, "in", "samr_QueryUserInfo");
    9790           4 :                 ndr->depth++;
    9791           4 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
    9792           4 :                 ndr->depth++;
    9793           4 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
    9794           4 :                 ndr->depth--;
    9795           4 :                 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
    9796           4 :                 ndr->depth--;
    9797             :         }
    9798         434 :         if (flags & NDR_OUT) {
    9799         430 :                 ndr_print_struct(ndr, "out", "samr_QueryUserInfo");
    9800         430 :                 ndr->depth++;
    9801         430 :                 ndr_print_ptr(ndr, "info", r->out.info);
    9802         430 :                 ndr->depth++;
    9803         430 :                 ndr_print_ptr(ndr, "info", *r->out.info);
    9804         430 :                 ndr->depth++;
    9805         430 :                 if (*r->out.info) {
    9806         430 :                         ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
    9807         430 :                         ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
    9808             :                 }
    9809         430 :                 ndr->depth--;
    9810         430 :                 ndr->depth--;
    9811         430 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9812         430 :                 ndr->depth--;
    9813             :         }
    9814         434 :         ndr->depth--;
    9815             : }
    9816             : 
    9817        7124 : _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r)
    9818             : {
    9819        7124 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9820        7124 :         if (flags & NDR_IN) {
    9821        3470 :                 if (r->in.user_handle == NULL) {
    9822           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9823             :                 }
    9824        3470 :                 if (r->in.info == NULL) {
    9825           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9826             :                 }
    9827        3470 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
    9828        3560 :                 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
    9829        3470 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
    9830        3470 :                 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    9831             :         }
    9832        7124 :         if (flags & NDR_OUT) {
    9833        3654 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9834             :         }
    9835        6926 :         return NDR_ERR_SUCCESS;
    9836             : }
    9837             : 
    9838        6944 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r)
    9839             : {
    9840        6944 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
    9841        6944 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    9842        6944 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9843        6944 :         if (flags & NDR_IN) {
    9844        3472 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9845        3472 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
    9846             :                 }
    9847        3472 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9848        3472 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
    9849        3472 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
    9850        3472 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9851        3564 :                 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
    9852        3472 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9853        3472 :                         NDR_PULL_ALLOC(ndr, r->in.info);
    9854             :                 }
    9855        3472 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9856        3472 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
    9857        3472 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
    9858        3472 :                 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    9859        3472 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    9860             :         }
    9861        6944 :         if (flags & NDR_OUT) {
    9862             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    9863             :                 if (r->in.user_handle == NULL) {
    9864             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
    9865             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
    9866             :                 }
    9867             :                 if (r->in.info == NULL) {
    9868             :                         NDR_PULL_ALLOC(ndr, r->in.info);
    9869             :                         NDR_ZERO_STRUCTP(r->in.info);
    9870             :                 }
    9871             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    9872        3472 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    9873             :         }
    9874        6760 :         return NDR_ERR_SUCCESS;
    9875             : }
    9876             : 
    9877         372 : _PUBLIC_ void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r)
    9878             : {
    9879         372 :         ndr_print_struct(ndr, name, "samr_SetUserInfo");
    9880         372 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9881         372 :         ndr->depth++;
    9882         372 :         if (flags & NDR_SET_VALUES) {
    9883           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    9884             :         }
    9885         372 :         if (flags & NDR_IN) {
    9886           2 :                 ndr_print_struct(ndr, "in", "samr_SetUserInfo");
    9887           2 :                 ndr->depth++;
    9888           2 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
    9889           2 :                 ndr->depth++;
    9890           2 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
    9891           2 :                 ndr->depth--;
    9892           2 :                 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
    9893           2 :                 ndr_print_ptr(ndr, "info", r->in.info);
    9894           2 :                 ndr->depth++;
    9895           2 :                 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
    9896           2 :                 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
    9897           2 :                 ndr->depth--;
    9898           2 :                 ndr->depth--;
    9899             :         }
    9900         372 :         if (flags & NDR_OUT) {
    9901         370 :                 ndr_print_struct(ndr, "out", "samr_SetUserInfo");
    9902         370 :                 ndr->depth++;
    9903         370 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    9904         370 :                 ndr->depth--;
    9905             :         }
    9906         372 :         ndr->depth--;
    9907             : }
    9908             : 
    9909          16 : static enum ndr_err_code ndr_push_samr_ChangePasswordUser(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser *r)
    9910             : {
    9911          16 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    9912          16 :         if (flags & NDR_IN) {
    9913           8 :                 if (r->in.user_handle == NULL) {
    9914           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    9915             :                 }
    9916           8 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
    9917           8 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_present));
    9918           8 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_lm_crypted));
    9919           8 :                 if (r->in.old_lm_crypted) {
    9920           8 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
    9921             :                 }
    9922           8 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_lm_crypted));
    9923           8 :                 if (r->in.new_lm_crypted) {
    9924           8 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
    9925             :                 }
    9926           8 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.nt_present));
    9927           8 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_nt_crypted));
    9928           8 :                 if (r->in.old_nt_crypted) {
    9929           8 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
    9930             :                 }
    9931           8 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_nt_crypted));
    9932           8 :                 if (r->in.new_nt_crypted) {
    9933           8 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
    9934             :                 }
    9935           8 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross1_present));
    9936           8 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_cross));
    9937           8 :                 if (r->in.nt_cross) {
    9938           8 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
    9939             :                 }
    9940           8 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross2_present));
    9941           8 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_cross));
    9942           8 :                 if (r->in.lm_cross) {
    9943           8 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
    9944             :                 }
    9945             :         }
    9946          16 :         if (flags & NDR_OUT) {
    9947           8 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    9948             :         }
    9949          16 :         return NDR_ERR_SUCCESS;
    9950             : }
    9951             : 
    9952          16 : static enum ndr_err_code ndr_pull_samr_ChangePasswordUser(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser *r)
    9953             : {
    9954             :         uint32_t _ptr_old_lm_crypted;
    9955             :         uint32_t _ptr_new_lm_crypted;
    9956             :         uint32_t _ptr_old_nt_crypted;
    9957             :         uint32_t _ptr_new_nt_crypted;
    9958             :         uint32_t _ptr_nt_cross;
    9959             :         uint32_t _ptr_lm_cross;
    9960          16 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
    9961          16 :         TALLOC_CTX *_mem_save_old_lm_crypted_0 = NULL;
    9962          16 :         TALLOC_CTX *_mem_save_new_lm_crypted_0 = NULL;
    9963          16 :         TALLOC_CTX *_mem_save_old_nt_crypted_0 = NULL;
    9964          16 :         TALLOC_CTX *_mem_save_new_nt_crypted_0 = NULL;
    9965          16 :         TALLOC_CTX *_mem_save_nt_cross_0 = NULL;
    9966          16 :         TALLOC_CTX *_mem_save_lm_cross_0 = NULL;
    9967          16 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    9968          16 :         if (flags & NDR_IN) {
    9969           8 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    9970           8 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
    9971             :                 }
    9972           8 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9973           8 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
    9974           8 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
    9975           8 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
    9976           8 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_present));
    9977           8 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_lm_crypted));
    9978           8 :                 if (_ptr_old_lm_crypted) {
    9979           8 :                         NDR_PULL_ALLOC(ndr, r->in.old_lm_crypted);
    9980             :                 } else {
    9981           0 :                         r->in.old_lm_crypted = NULL;
    9982             :                 }
    9983           8 :                 if (r->in.old_lm_crypted) {
    9984           8 :                         _mem_save_old_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9985           8 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.old_lm_crypted, 0);
    9986           8 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
    9987           8 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_lm_crypted_0, 0);
    9988             :                 }
    9989           8 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_lm_crypted));
    9990           8 :                 if (_ptr_new_lm_crypted) {
    9991           8 :                         NDR_PULL_ALLOC(ndr, r->in.new_lm_crypted);
    9992             :                 } else {
    9993           0 :                         r->in.new_lm_crypted = NULL;
    9994             :                 }
    9995           8 :                 if (r->in.new_lm_crypted) {
    9996           8 :                         _mem_save_new_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9997           8 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.new_lm_crypted, 0);
    9998           8 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
    9999           8 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_lm_crypted_0, 0);
   10000             :                 }
   10001           8 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.nt_present));
   10002           8 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_nt_crypted));
   10003           8 :                 if (_ptr_old_nt_crypted) {
   10004           8 :                         NDR_PULL_ALLOC(ndr, r->in.old_nt_crypted);
   10005             :                 } else {
   10006           0 :                         r->in.old_nt_crypted = NULL;
   10007             :                 }
   10008           8 :                 if (r->in.old_nt_crypted) {
   10009           8 :                         _mem_save_old_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10010           8 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.old_nt_crypted, 0);
   10011           8 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
   10012           8 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_nt_crypted_0, 0);
   10013             :                 }
   10014           8 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_nt_crypted));
   10015           8 :                 if (_ptr_new_nt_crypted) {
   10016           8 :                         NDR_PULL_ALLOC(ndr, r->in.new_nt_crypted);
   10017             :                 } else {
   10018           0 :                         r->in.new_nt_crypted = NULL;
   10019             :                 }
   10020           8 :                 if (r->in.new_nt_crypted) {
   10021           8 :                         _mem_save_new_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10022           8 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.new_nt_crypted, 0);
   10023           8 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
   10024           8 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_nt_crypted_0, 0);
   10025             :                 }
   10026           8 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross1_present));
   10027           8 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_cross));
   10028           8 :                 if (_ptr_nt_cross) {
   10029           8 :                         NDR_PULL_ALLOC(ndr, r->in.nt_cross);
   10030             :                 } else {
   10031           0 :                         r->in.nt_cross = NULL;
   10032             :                 }
   10033           8 :                 if (r->in.nt_cross) {
   10034           8 :                         _mem_save_nt_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10035           8 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_cross, 0);
   10036           8 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
   10037           8 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_cross_0, 0);
   10038             :                 }
   10039           8 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross2_present));
   10040           8 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_cross));
   10041           8 :                 if (_ptr_lm_cross) {
   10042           8 :                         NDR_PULL_ALLOC(ndr, r->in.lm_cross);
   10043             :                 } else {
   10044           0 :                         r->in.lm_cross = NULL;
   10045             :                 }
   10046           8 :                 if (r->in.lm_cross) {
   10047           8 :                         _mem_save_lm_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10048           8 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_cross, 0);
   10049           8 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
   10050           8 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_cross_0, 0);
   10051             :                 }
   10052             :         }
   10053          16 :         if (flags & NDR_OUT) {
   10054             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10055             :                 if (r->in.user_handle == NULL) {
   10056             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10057             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
   10058             :                 }
   10059             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10060           8 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10061             :         }
   10062          16 :         return NDR_ERR_SUCCESS;
   10063             : }
   10064             : 
   10065           0 : _PUBLIC_ void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r)
   10066             : {
   10067           0 :         ndr_print_struct(ndr, name, "samr_ChangePasswordUser");
   10068           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10069           0 :         ndr->depth++;
   10070           0 :         if (flags & NDR_SET_VALUES) {
   10071           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10072             :         }
   10073           0 :         if (flags & NDR_IN) {
   10074           0 :                 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser");
   10075           0 :                 ndr->depth++;
   10076           0 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
   10077           0 :                 ndr->depth++;
   10078           0 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
   10079           0 :                 ndr->depth--;
   10080           0 :                 ndr_print_uint8(ndr, "lm_present", r->in.lm_present);
   10081           0 :                 ndr_print_ptr(ndr, "old_lm_crypted", r->in.old_lm_crypted);
   10082           0 :                 ndr->depth++;
   10083           0 :                 if (r->in.old_lm_crypted) {
   10084           0 :                         ndr_print_samr_Password(ndr, "old_lm_crypted", r->in.old_lm_crypted);
   10085             :                 }
   10086           0 :                 ndr->depth--;
   10087           0 :                 ndr_print_ptr(ndr, "new_lm_crypted", r->in.new_lm_crypted);
   10088           0 :                 ndr->depth++;
   10089           0 :                 if (r->in.new_lm_crypted) {
   10090           0 :                         ndr_print_samr_Password(ndr, "new_lm_crypted", r->in.new_lm_crypted);
   10091             :                 }
   10092           0 :                 ndr->depth--;
   10093           0 :                 ndr_print_uint8(ndr, "nt_present", r->in.nt_present);
   10094           0 :                 ndr_print_ptr(ndr, "old_nt_crypted", r->in.old_nt_crypted);
   10095           0 :                 ndr->depth++;
   10096           0 :                 if (r->in.old_nt_crypted) {
   10097           0 :                         ndr_print_samr_Password(ndr, "old_nt_crypted", r->in.old_nt_crypted);
   10098             :                 }
   10099           0 :                 ndr->depth--;
   10100           0 :                 ndr_print_ptr(ndr, "new_nt_crypted", r->in.new_nt_crypted);
   10101           0 :                 ndr->depth++;
   10102           0 :                 if (r->in.new_nt_crypted) {
   10103           0 :                         ndr_print_samr_Password(ndr, "new_nt_crypted", r->in.new_nt_crypted);
   10104             :                 }
   10105           0 :                 ndr->depth--;
   10106           0 :                 ndr_print_uint8(ndr, "cross1_present", r->in.cross1_present);
   10107           0 :                 ndr_print_ptr(ndr, "nt_cross", r->in.nt_cross);
   10108           0 :                 ndr->depth++;
   10109           0 :                 if (r->in.nt_cross) {
   10110           0 :                         ndr_print_samr_Password(ndr, "nt_cross", r->in.nt_cross);
   10111             :                 }
   10112           0 :                 ndr->depth--;
   10113           0 :                 ndr_print_uint8(ndr, "cross2_present", r->in.cross2_present);
   10114           0 :                 ndr_print_ptr(ndr, "lm_cross", r->in.lm_cross);
   10115           0 :                 ndr->depth++;
   10116           0 :                 if (r->in.lm_cross) {
   10117           0 :                         ndr_print_samr_Password(ndr, "lm_cross", r->in.lm_cross);
   10118             :                 }
   10119           0 :                 ndr->depth--;
   10120           0 :                 ndr->depth--;
   10121             :         }
   10122           0 :         if (flags & NDR_OUT) {
   10123           0 :                 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser");
   10124           0 :                 ndr->depth++;
   10125           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10126           0 :                 ndr->depth--;
   10127             :         }
   10128           0 :         ndr->depth--;
   10129             : }
   10130             : 
   10131        1605 : static enum ndr_err_code ndr_push_samr_GetGroupsForUser(struct ndr_push *ndr, int flags, const struct samr_GetGroupsForUser *r)
   10132             : {
   10133        1605 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10134        1605 :         if (flags & NDR_IN) {
   10135         779 :                 if (r->in.user_handle == NULL) {
   10136           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10137             :                 }
   10138         779 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   10139             :         }
   10140        1605 :         if (flags & NDR_OUT) {
   10141         826 :                 if (r->out.rids == NULL) {
   10142           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10143             :                 }
   10144         826 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
   10145         826 :                 if (*r->out.rids) {
   10146         826 :                         NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
   10147             :                 }
   10148         826 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10149             :         }
   10150        1605 :         return NDR_ERR_SUCCESS;
   10151             : }
   10152             : 
   10153        1593 : static enum ndr_err_code ndr_pull_samr_GetGroupsForUser(struct ndr_pull *ndr, int flags, struct samr_GetGroupsForUser *r)
   10154             : {
   10155             :         uint32_t _ptr_rids;
   10156        1593 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
   10157        1593 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
   10158        1593 :         TALLOC_CTX *_mem_save_rids_1 = NULL;
   10159        1593 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10160        1593 :         if (flags & NDR_IN) {
   10161         814 :                 NDR_ZERO_STRUCT(r->out);
   10162             : 
   10163         814 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10164         814 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10165             :                 }
   10166         814 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10167         814 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
   10168         814 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   10169         814 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10170         814 :                 NDR_PULL_ALLOC(ndr, r->out.rids);
   10171         814 :                 NDR_ZERO_STRUCTP(r->out.rids);
   10172             :         }
   10173        1593 :         if (flags & NDR_OUT) {
   10174             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10175             :                 if (r->in.user_handle == NULL) {
   10176             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10177             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
   10178             :                 }
   10179             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10180         779 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10181         104 :                         NDR_PULL_ALLOC(ndr, r->out.rids);
   10182             :                 }
   10183         779 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10184         779 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
   10185         779 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
   10186         779 :                 if (_ptr_rids) {
   10187         779 :                         NDR_PULL_ALLOC(ndr, *r->out.rids);
   10188             :                 } else {
   10189           0 :                         *r->out.rids = NULL;
   10190             :                 }
   10191         779 :                 if (*r->out.rids) {
   10192         779 :                         _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10193         779 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
   10194         779 :                         NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
   10195         779 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
   10196             :                 }
   10197         779 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
   10198         779 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10199             :         }
   10200        1593 :         return NDR_ERR_SUCCESS;
   10201             : }
   10202             : 
   10203          24 : _PUBLIC_ void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r)
   10204             : {
   10205          24 :         ndr_print_struct(ndr, name, "samr_GetGroupsForUser");
   10206          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10207          24 :         ndr->depth++;
   10208          24 :         if (flags & NDR_SET_VALUES) {
   10209           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10210             :         }
   10211          24 :         if (flags & NDR_IN) {
   10212           0 :                 ndr_print_struct(ndr, "in", "samr_GetGroupsForUser");
   10213           0 :                 ndr->depth++;
   10214           0 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
   10215           0 :                 ndr->depth++;
   10216           0 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
   10217           0 :                 ndr->depth--;
   10218           0 :                 ndr->depth--;
   10219             :         }
   10220          24 :         if (flags & NDR_OUT) {
   10221          24 :                 ndr_print_struct(ndr, "out", "samr_GetGroupsForUser");
   10222          24 :                 ndr->depth++;
   10223          24 :                 ndr_print_ptr(ndr, "rids", r->out.rids);
   10224          24 :                 ndr->depth++;
   10225          24 :                 ndr_print_ptr(ndr, "rids", *r->out.rids);
   10226          24 :                 ndr->depth++;
   10227          24 :                 if (*r->out.rids) {
   10228          24 :                         ndr_print_samr_RidWithAttributeArray(ndr, "rids", *r->out.rids);
   10229             :                 }
   10230          24 :                 ndr->depth--;
   10231          24 :                 ndr->depth--;
   10232          24 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10233          24 :                 ndr->depth--;
   10234             :         }
   10235          24 :         ndr->depth--;
   10236             : }
   10237             : 
   10238        1097 : static enum ndr_err_code ndr_push_samr_QueryDisplayInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo *r)
   10239             : {
   10240        1097 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10241        1097 :         if (flags & NDR_IN) {
   10242         552 :                 if (r->in.domain_handle == NULL) {
   10243           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10244             :                 }
   10245         552 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10246         552 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
   10247         552 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
   10248         552 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
   10249         552 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
   10250             :         }
   10251        1097 :         if (flags & NDR_OUT) {
   10252         545 :                 if (r->out.total_size == NULL) {
   10253           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10254             :                 }
   10255         545 :                 if (r->out.returned_size == NULL) {
   10256           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10257             :                 }
   10258         545 :                 if (r->out.info == NULL) {
   10259           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10260             :                 }
   10261         545 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
   10262         545 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
   10263         545 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
   10264         545 :                 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   10265         545 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10266             :         }
   10267        1097 :         return NDR_ERR_SUCCESS;
   10268             : }
   10269             : 
   10270        1096 : static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo *r)
   10271             : {
   10272        1096 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   10273        1096 :         TALLOC_CTX *_mem_save_total_size_0 = NULL;
   10274        1096 :         TALLOC_CTX *_mem_save_returned_size_0 = NULL;
   10275        1096 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   10276        1096 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10277        1096 :         if (flags & NDR_IN) {
   10278         544 :                 NDR_ZERO_STRUCT(r->out);
   10279             : 
   10280         544 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10281         544 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10282             :                 }
   10283         544 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10284         544 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   10285         544 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10286         544 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10287         544 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
   10288         544 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
   10289         544 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
   10290         544 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
   10291         544 :                 NDR_PULL_ALLOC(ndr, r->out.total_size);
   10292         544 :                 NDR_ZERO_STRUCTP(r->out.total_size);
   10293         544 :                 NDR_PULL_ALLOC(ndr, r->out.returned_size);
   10294         544 :                 NDR_ZERO_STRUCTP(r->out.returned_size);
   10295         544 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   10296         544 :                 NDR_ZERO_STRUCTP(r->out.info);
   10297             :         }
   10298        1096 :         if (flags & NDR_OUT) {
   10299             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10300             :                 if (r->in.domain_handle == NULL) {
   10301             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10302             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   10303             :                 }
   10304             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10305         552 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10306          46 :                         NDR_PULL_ALLOC(ndr, r->out.total_size);
   10307             :                 }
   10308         552 :                 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10309         552 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
   10310         552 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
   10311         552 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
   10312         552 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10313          46 :                         NDR_PULL_ALLOC(ndr, r->out.returned_size);
   10314             :                 }
   10315         552 :                 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10316         552 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
   10317         552 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
   10318         552 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
   10319         552 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10320          46 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   10321             :                 }
   10322         552 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10323         552 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   10324         552 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
   10325         552 :                 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   10326         552 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   10327         552 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10328             :         }
   10329        1096 :         return NDR_ERR_SUCCESS;
   10330             : }
   10331             : 
   10332           2 : _PUBLIC_ void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r)
   10333             : {
   10334           2 :         ndr_print_struct(ndr, name, "samr_QueryDisplayInfo");
   10335           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10336           2 :         ndr->depth++;
   10337           2 :         if (flags & NDR_SET_VALUES) {
   10338           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10339             :         }
   10340           2 :         if (flags & NDR_IN) {
   10341           0 :                 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo");
   10342           0 :                 ndr->depth++;
   10343           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   10344           0 :                 ndr->depth++;
   10345           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   10346           0 :                 ndr->depth--;
   10347           0 :                 ndr_print_uint16(ndr, "level", r->in.level);
   10348           0 :                 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
   10349           0 :                 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
   10350           0 :                 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
   10351           0 :                 ndr->depth--;
   10352             :         }
   10353           2 :         if (flags & NDR_OUT) {
   10354           2 :                 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo");
   10355           2 :                 ndr->depth++;
   10356           2 :                 ndr_print_ptr(ndr, "total_size", r->out.total_size);
   10357           2 :                 ndr->depth++;
   10358           2 :                 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
   10359           2 :                 ndr->depth--;
   10360           2 :                 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
   10361           2 :                 ndr->depth++;
   10362           2 :                 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
   10363           2 :                 ndr->depth--;
   10364           2 :                 ndr_print_ptr(ndr, "info", r->out.info);
   10365           2 :                 ndr->depth++;
   10366           2 :                 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
   10367           2 :                 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
   10368           2 :                 ndr->depth--;
   10369           2 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10370           2 :                 ndr->depth--;
   10371             :         }
   10372           2 :         ndr->depth--;
   10373             : }
   10374             : 
   10375          64 : static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex *r)
   10376             : {
   10377          64 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10378          64 :         if (flags & NDR_IN) {
   10379          44 :                 if (r->in.domain_handle == NULL) {
   10380           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10381             :                 }
   10382          44 :                 if (r->in.name == NULL) {
   10383           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10384             :                 }
   10385          44 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10386          44 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
   10387          44 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
   10388             :         }
   10389          64 :         if (flags & NDR_OUT) {
   10390          20 :                 if (r->out.idx == NULL) {
   10391           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10392             :                 }
   10393          20 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
   10394          20 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10395             :         }
   10396          64 :         return NDR_ERR_SUCCESS;
   10397             : }
   10398             : 
   10399          64 : static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex *r)
   10400             : {
   10401          64 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   10402          64 :         TALLOC_CTX *_mem_save_name_0 = NULL;
   10403          64 :         TALLOC_CTX *_mem_save_idx_0 = NULL;
   10404          64 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10405          64 :         if (flags & NDR_IN) {
   10406          24 :                 NDR_ZERO_STRUCT(r->out);
   10407             : 
   10408          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10409          24 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10410             :                 }
   10411          24 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10412          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   10413          24 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10414          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10415          24 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
   10416          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10417          24 :                         NDR_PULL_ALLOC(ndr, r->in.name);
   10418             :                 }
   10419          24 :                 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10420          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
   10421          24 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
   10422          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
   10423          24 :                 NDR_PULL_ALLOC(ndr, r->out.idx);
   10424          24 :                 NDR_ZERO_STRUCTP(r->out.idx);
   10425             :         }
   10426          64 :         if (flags & NDR_OUT) {
   10427             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10428             :                 if (r->in.domain_handle == NULL) {
   10429             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10430             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   10431             :                 }
   10432             :                 if (r->in.name == NULL) {
   10433             :                         NDR_PULL_ALLOC(ndr, r->in.name);
   10434             :                         NDR_ZERO_STRUCTP(r->in.name);
   10435             :                 }
   10436             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10437          40 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10438           0 :                         NDR_PULL_ALLOC(ndr, r->out.idx);
   10439             :                 }
   10440          40 :                 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10441          40 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
   10442          40 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
   10443          40 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
   10444          40 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10445             :         }
   10446          64 :         return NDR_ERR_SUCCESS;
   10447             : }
   10448             : 
   10449           0 : _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r)
   10450             : {
   10451           0 :         ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex");
   10452           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10453           0 :         ndr->depth++;
   10454           0 :         if (flags & NDR_SET_VALUES) {
   10455           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10456             :         }
   10457           0 :         if (flags & NDR_IN) {
   10458           0 :                 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex");
   10459           0 :                 ndr->depth++;
   10460           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   10461           0 :                 ndr->depth++;
   10462           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   10463           0 :                 ndr->depth--;
   10464           0 :                 ndr_print_uint16(ndr, "level", r->in.level);
   10465           0 :                 ndr_print_ptr(ndr, "name", r->in.name);
   10466           0 :                 ndr->depth++;
   10467           0 :                 ndr_print_lsa_String(ndr, "name", r->in.name);
   10468           0 :                 ndr->depth--;
   10469           0 :                 ndr->depth--;
   10470             :         }
   10471           0 :         if (flags & NDR_OUT) {
   10472           0 :                 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex");
   10473           0 :                 ndr->depth++;
   10474           0 :                 ndr_print_ptr(ndr, "idx", r->out.idx);
   10475           0 :                 ndr->depth++;
   10476           0 :                 ndr_print_uint32(ndr, "idx", *r->out.idx);
   10477           0 :                 ndr->depth--;
   10478           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10479           0 :                 ndr->depth--;
   10480             :         }
   10481           0 :         ndr->depth--;
   10482             : }
   10483             : 
   10484          24 : static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsDomain *r)
   10485             : {
   10486          24 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10487          24 :         if (flags & NDR_IN) {
   10488          14 :                 if (r->in.domain_handle == NULL) {
   10489           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10490             :                 }
   10491          14 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10492             :         }
   10493          24 :         if (flags & NDR_OUT) {
   10494          10 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10495             :         }
   10496          24 :         return NDR_ERR_SUCCESS;
   10497             : }
   10498             : 
   10499          22 : static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsDomain *r)
   10500             : {
   10501          22 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   10502          22 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10503          22 :         if (flags & NDR_IN) {
   10504          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10505          12 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10506             :                 }
   10507          12 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10508          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   10509          12 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10510          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10511             :         }
   10512          22 :         if (flags & NDR_OUT) {
   10513             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10514             :                 if (r->in.domain_handle == NULL) {
   10515             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10516             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   10517             :                 }
   10518             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10519          10 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10520             :         }
   10521          22 :         return NDR_ERR_SUCCESS;
   10522             : }
   10523             : 
   10524           0 : _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r)
   10525             : {
   10526           0 :         ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsDomain");
   10527           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10528           0 :         ndr->depth++;
   10529           0 :         if (flags & NDR_SET_VALUES) {
   10530           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10531             :         }
   10532           0 :         if (flags & NDR_IN) {
   10533           0 :                 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsDomain");
   10534           0 :                 ndr->depth++;
   10535           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   10536           0 :                 ndr->depth++;
   10537           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   10538           0 :                 ndr->depth--;
   10539           0 :                 ndr->depth--;
   10540             :         }
   10541           0 :         if (flags & NDR_OUT) {
   10542           0 :                 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsDomain");
   10543           0 :                 ndr->depth++;
   10544           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10545           0 :                 ndr->depth--;
   10546             :         }
   10547           0 :         ndr->depth--;
   10548             : }
   10549             : 
   10550          30 : static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsUser *r)
   10551             : {
   10552          30 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10553          30 :         if (flags & NDR_IN) {
   10554          16 :                 if (r->in.user_handle == NULL) {
   10555           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10556             :                 }
   10557          16 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   10558             :         }
   10559          30 :         if (flags & NDR_OUT) {
   10560          14 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10561             :         }
   10562          30 :         return NDR_ERR_SUCCESS;
   10563             : }
   10564             : 
   10565          30 : static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsUser *r)
   10566             : {
   10567          30 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
   10568          30 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10569          30 :         if (flags & NDR_IN) {
   10570          16 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10571          16 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10572             :                 }
   10573          16 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10574          16 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
   10575          16 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   10576          16 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10577             :         }
   10578          30 :         if (flags & NDR_OUT) {
   10579             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10580             :                 if (r->in.user_handle == NULL) {
   10581             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10582             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
   10583             :                 }
   10584             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10585          14 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10586             :         }
   10587          30 :         return NDR_ERR_SUCCESS;
   10588             : }
   10589             : 
   10590           0 : _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r)
   10591             : {
   10592           0 :         ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsUser");
   10593           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10594           0 :         ndr->depth++;
   10595           0 :         if (flags & NDR_SET_VALUES) {
   10596           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10597             :         }
   10598           0 :         if (flags & NDR_IN) {
   10599           0 :                 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsUser");
   10600           0 :                 ndr->depth++;
   10601           0 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
   10602           0 :                 ndr->depth++;
   10603           0 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
   10604           0 :                 ndr->depth--;
   10605           0 :                 ndr->depth--;
   10606             :         }
   10607           0 :         if (flags & NDR_OUT) {
   10608           0 :                 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsUser");
   10609           0 :                 ndr->depth++;
   10610           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10611           0 :                 ndr->depth--;
   10612             :         }
   10613           0 :         ndr->depth--;
   10614             : }
   10615             : 
   10616        3745 : _PUBLIC_ enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r)
   10617             : {
   10618        3745 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10619        3745 :         if (flags & NDR_IN) {
   10620        1811 :                 if (r->in.user_handle == NULL) {
   10621           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10622             :                 }
   10623        1811 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   10624             :         }
   10625        3745 :         if (flags & NDR_OUT) {
   10626        1934 :                 if (r->out.info == NULL) {
   10627           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10628             :                 }
   10629        1934 :                 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
   10630        1934 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10631             :         }
   10632        3547 :         return NDR_ERR_SUCCESS;
   10633             : }
   10634             : 
   10635        3625 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r)
   10636             : {
   10637        3625 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
   10638        3625 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   10639        3625 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10640        3625 :         if (flags & NDR_IN) {
   10641        1812 :                 NDR_ZERO_STRUCT(r->out);
   10642             : 
   10643        1812 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10644        1812 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10645             :                 }
   10646        1812 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10647        1812 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
   10648        1812 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   10649        1812 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10650        1812 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   10651        1812 :                 NDR_ZERO_STRUCTP(r->out.info);
   10652             :         }
   10653        3625 :         if (flags & NDR_OUT) {
   10654             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10655             :                 if (r->in.user_handle == NULL) {
   10656             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10657             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
   10658             :                 }
   10659             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10660        1813 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10661         132 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   10662             :                 }
   10663        1813 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10664        1813 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   10665        1813 :                 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
   10666        1813 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   10667        1813 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10668             :         }
   10669        3441 :         return NDR_ERR_SUCCESS;
   10670             : }
   10671             : 
   10672         252 : _PUBLIC_ void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r)
   10673             : {
   10674         252 :         ndr_print_struct(ndr, name, "samr_GetUserPwInfo");
   10675         252 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10676         252 :         ndr->depth++;
   10677         252 :         if (flags & NDR_SET_VALUES) {
   10678           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10679             :         }
   10680         252 :         if (flags & NDR_IN) {
   10681           2 :                 ndr_print_struct(ndr, "in", "samr_GetUserPwInfo");
   10682           2 :                 ndr->depth++;
   10683           2 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
   10684           2 :                 ndr->depth++;
   10685           2 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
   10686           2 :                 ndr->depth--;
   10687           2 :                 ndr->depth--;
   10688             :         }
   10689         252 :         if (flags & NDR_OUT) {
   10690         250 :                 ndr_print_struct(ndr, "out", "samr_GetUserPwInfo");
   10691         250 :                 ndr->depth++;
   10692         250 :                 ndr_print_ptr(ndr, "info", r->out.info);
   10693         250 :                 ndr->depth++;
   10694         250 :                 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
   10695         250 :                 ndr->depth--;
   10696         250 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10697         250 :                 ndr->depth--;
   10698             :         }
   10699         252 :         ndr->depth--;
   10700             : }
   10701             : 
   10702          37 : static enum ndr_err_code ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push *ndr, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
   10703             : {
   10704          37 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10705          37 :         if (flags & NDR_IN) {
   10706          20 :                 if (r->in.domain_handle == NULL) {
   10707           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10708             :                 }
   10709          20 :                 if (r->in.sid == NULL) {
   10710           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10711             :                 }
   10712          20 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10713          20 :                 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
   10714             :         }
   10715          37 :         if (flags & NDR_OUT) {
   10716          17 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10717             :         }
   10718          37 :         return NDR_ERR_SUCCESS;
   10719             : }
   10720             : 
   10721          37 : static enum ndr_err_code ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull *ndr, int flags, struct samr_RemoveMemberFromForeignDomain *r)
   10722             : {
   10723          37 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   10724          37 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
   10725          37 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10726          37 :         if (flags & NDR_IN) {
   10727          17 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10728          17 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10729             :                 }
   10730          17 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10731          17 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   10732          17 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10733          17 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10734          17 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10735          17 :                         NDR_PULL_ALLOC(ndr, r->in.sid);
   10736             :                 }
   10737          17 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10738          17 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
   10739          17 :                 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
   10740          17 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
   10741             :         }
   10742          37 :         if (flags & NDR_OUT) {
   10743             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10744             :                 if (r->in.domain_handle == NULL) {
   10745             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10746             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   10747             :                 }
   10748             :                 if (r->in.sid == NULL) {
   10749             :                         NDR_PULL_ALLOC(ndr, r->in.sid);
   10750             :                         NDR_ZERO_STRUCTP(r->in.sid);
   10751             :                 }
   10752             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10753          20 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10754             :         }
   10755          37 :         return NDR_ERR_SUCCESS;
   10756             : }
   10757             : 
   10758           0 : _PUBLIC_ void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
   10759             : {
   10760           0 :         ndr_print_struct(ndr, name, "samr_RemoveMemberFromForeignDomain");
   10761           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10762           0 :         ndr->depth++;
   10763           0 :         if (flags & NDR_SET_VALUES) {
   10764           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10765             :         }
   10766           0 :         if (flags & NDR_IN) {
   10767           0 :                 ndr_print_struct(ndr, "in", "samr_RemoveMemberFromForeignDomain");
   10768           0 :                 ndr->depth++;
   10769           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   10770           0 :                 ndr->depth++;
   10771           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   10772           0 :                 ndr->depth--;
   10773           0 :                 ndr_print_ptr(ndr, "sid", r->in.sid);
   10774           0 :                 ndr->depth++;
   10775           0 :                 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
   10776           0 :                 ndr->depth--;
   10777           0 :                 ndr->depth--;
   10778             :         }
   10779           0 :         if (flags & NDR_OUT) {
   10780           0 :                 ndr_print_struct(ndr, "out", "samr_RemoveMemberFromForeignDomain");
   10781           0 :                 ndr->depth++;
   10782           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10783           0 :                 ndr->depth--;
   10784             :         }
   10785           0 :         ndr->depth--;
   10786             : }
   10787             : 
   10788         451 : static enum ndr_err_code ndr_push_samr_QueryDomainInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo2 *r)
   10789             : {
   10790         451 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10791         451 :         if (flags & NDR_IN) {
   10792         239 :                 if (r->in.domain_handle == NULL) {
   10793           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10794             :                 }
   10795         239 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10796         239 :                 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
   10797             :         }
   10798         451 :         if (flags & NDR_OUT) {
   10799         212 :                 if (r->out.info == NULL) {
   10800           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10801             :                 }
   10802         212 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
   10803         212 :                 if (*r->out.info) {
   10804         212 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
   10805         212 :                         NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   10806             :                 }
   10807         212 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10808             :         }
   10809         451 :         return NDR_ERR_SUCCESS;
   10810             : }
   10811             : 
   10812         451 : static enum ndr_err_code ndr_pull_samr_QueryDomainInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo2 *r)
   10813             : {
   10814             :         uint32_t _ptr_info;
   10815         451 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   10816         451 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   10817         451 :         TALLOC_CTX *_mem_save_info_1 = NULL;
   10818         451 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10819         451 :         if (flags & NDR_IN) {
   10820         212 :                 NDR_ZERO_STRUCT(r->out);
   10821             : 
   10822         212 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10823         212 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10824             :                 }
   10825         212 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10826         212 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   10827         212 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   10828         212 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10829         212 :                 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
   10830         212 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   10831         212 :                 NDR_ZERO_STRUCTP(r->out.info);
   10832             :         }
   10833         451 :         if (flags & NDR_OUT) {
   10834             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10835             :                 if (r->in.domain_handle == NULL) {
   10836             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   10837             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   10838             :                 }
   10839             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10840         239 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10841           1 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   10842             :                 }
   10843         239 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10844         239 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   10845         239 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
   10846         239 :                 if (_ptr_info) {
   10847         239 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
   10848             :                 } else {
   10849           0 :                         *r->out.info = NULL;
   10850             :                 }
   10851         239 :                 if (*r->out.info) {
   10852         239 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10853         239 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
   10854         239 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
   10855         239 :                         NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   10856         239 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
   10857             :                 }
   10858         239 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   10859         239 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10860             :         }
   10861         451 :         return NDR_ERR_SUCCESS;
   10862             : }
   10863             : 
   10864           0 : _PUBLIC_ void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r)
   10865             : {
   10866           0 :         ndr_print_struct(ndr, name, "samr_QueryDomainInfo2");
   10867           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10868           0 :         ndr->depth++;
   10869           0 :         if (flags & NDR_SET_VALUES) {
   10870           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10871             :         }
   10872           0 :         if (flags & NDR_IN) {
   10873           0 :                 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo2");
   10874           0 :                 ndr->depth++;
   10875           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   10876           0 :                 ndr->depth++;
   10877           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   10878           0 :                 ndr->depth--;
   10879           0 :                 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
   10880           0 :                 ndr->depth--;
   10881             :         }
   10882           0 :         if (flags & NDR_OUT) {
   10883           0 :                 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo2");
   10884           0 :                 ndr->depth++;
   10885           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
   10886           0 :                 ndr->depth++;
   10887           0 :                 ndr_print_ptr(ndr, "info", *r->out.info);
   10888           0 :                 ndr->depth++;
   10889           0 :                 if (*r->out.info) {
   10890           0 :                         ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
   10891           0 :                         ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
   10892             :                 }
   10893           0 :                 ndr->depth--;
   10894           0 :                 ndr->depth--;
   10895           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10896           0 :                 ndr->depth--;
   10897             :         }
   10898           0 :         ndr->depth--;
   10899             : }
   10900             : 
   10901         878 : static enum ndr_err_code ndr_push_samr_QueryUserInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo2 *r)
   10902             : {
   10903         878 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10904         878 :         if (flags & NDR_IN) {
   10905         444 :                 if (r->in.user_handle == NULL) {
   10906           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10907             :                 }
   10908         444 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   10909         444 :                 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
   10910             :         }
   10911         878 :         if (flags & NDR_OUT) {
   10912         434 :                 if (r->out.info == NULL) {
   10913           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10914             :                 }
   10915         434 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
   10916         434 :                 if (*r->out.info) {
   10917         434 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
   10918         434 :                         NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   10919             :                 }
   10920         434 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10921             :         }
   10922         878 :         return NDR_ERR_SUCCESS;
   10923             : }
   10924             : 
   10925         878 : static enum ndr_err_code ndr_pull_samr_QueryUserInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo2 *r)
   10926             : {
   10927             :         uint32_t _ptr_info;
   10928         878 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
   10929         878 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   10930         878 :         TALLOC_CTX *_mem_save_info_1 = NULL;
   10931         878 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10932         878 :         if (flags & NDR_IN) {
   10933         434 :                 NDR_ZERO_STRUCT(r->out);
   10934             : 
   10935         434 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10936         434 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10937             :                 }
   10938         434 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10939         434 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
   10940         434 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   10941         434 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
   10942         434 :                 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
   10943         434 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   10944         434 :                 NDR_ZERO_STRUCTP(r->out.info);
   10945             :         }
   10946         878 :         if (flags & NDR_OUT) {
   10947             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10948             :                 if (r->in.user_handle == NULL) {
   10949             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   10950             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
   10951             :                 }
   10952             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10953         444 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10954         120 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   10955             :                 }
   10956         444 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10957         444 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   10958         444 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
   10959         444 :                 if (_ptr_info) {
   10960         444 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
   10961             :                 } else {
   10962           0 :                         *r->out.info = NULL;
   10963             :                 }
   10964         444 :                 if (*r->out.info) {
   10965         444 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10966         444 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
   10967         444 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
   10968         444 :                         NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   10969         444 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
   10970             :                 }
   10971         444 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   10972         444 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10973             :         }
   10974         878 :         return NDR_ERR_SUCCESS;
   10975             : }
   10976             : 
   10977           0 : _PUBLIC_ void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r)
   10978             : {
   10979           0 :         ndr_print_struct(ndr, name, "samr_QueryUserInfo2");
   10980           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10981           0 :         ndr->depth++;
   10982           0 :         if (flags & NDR_SET_VALUES) {
   10983           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10984             :         }
   10985           0 :         if (flags & NDR_IN) {
   10986           0 :                 ndr_print_struct(ndr, "in", "samr_QueryUserInfo2");
   10987           0 :                 ndr->depth++;
   10988           0 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
   10989           0 :                 ndr->depth++;
   10990           0 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
   10991           0 :                 ndr->depth--;
   10992           0 :                 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
   10993           0 :                 ndr->depth--;
   10994             :         }
   10995           0 :         if (flags & NDR_OUT) {
   10996           0 :                 ndr_print_struct(ndr, "out", "samr_QueryUserInfo2");
   10997           0 :                 ndr->depth++;
   10998           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
   10999           0 :                 ndr->depth++;
   11000           0 :                 ndr_print_ptr(ndr, "info", *r->out.info);
   11001           0 :                 ndr->depth++;
   11002           0 :                 if (*r->out.info) {
   11003           0 :                         ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
   11004           0 :                         ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
   11005             :                 }
   11006           0 :                 ndr->depth--;
   11007           0 :                 ndr->depth--;
   11008           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11009           0 :                 ndr->depth--;
   11010             :         }
   11011           0 :         ndr->depth--;
   11012             : }
   11013             : 
   11014         138 : static enum ndr_err_code ndr_push_samr_QueryDisplayInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo2 *r)
   11015             : {
   11016         138 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11017         138 :         if (flags & NDR_IN) {
   11018          74 :                 if (r->in.domain_handle == NULL) {
   11019           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11020             :                 }
   11021          74 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   11022          74 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
   11023          74 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
   11024          74 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
   11025          74 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
   11026             :         }
   11027         138 :         if (flags & NDR_OUT) {
   11028          64 :                 if (r->out.total_size == NULL) {
   11029           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11030             :                 }
   11031          64 :                 if (r->out.returned_size == NULL) {
   11032           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11033             :                 }
   11034          64 :                 if (r->out.info == NULL) {
   11035           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11036             :                 }
   11037          64 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
   11038          64 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
   11039          64 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
   11040          64 :                 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   11041          64 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11042             :         }
   11043         138 :         return NDR_ERR_SUCCESS;
   11044             : }
   11045             : 
   11046         138 : static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo2 *r)
   11047             : {
   11048         138 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   11049         138 :         TALLOC_CTX *_mem_save_total_size_0 = NULL;
   11050         138 :         TALLOC_CTX *_mem_save_returned_size_0 = NULL;
   11051         138 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   11052         138 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11053         138 :         if (flags & NDR_IN) {
   11054          64 :                 NDR_ZERO_STRUCT(r->out);
   11055             : 
   11056          64 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11057          64 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   11058             :                 }
   11059          64 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11060          64 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   11061          64 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   11062          64 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   11063          64 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
   11064          64 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
   11065          64 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
   11066          64 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
   11067          64 :                 NDR_PULL_ALLOC(ndr, r->out.total_size);
   11068          64 :                 NDR_ZERO_STRUCTP(r->out.total_size);
   11069          64 :                 NDR_PULL_ALLOC(ndr, r->out.returned_size);
   11070          64 :                 NDR_ZERO_STRUCTP(r->out.returned_size);
   11071          64 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   11072          64 :                 NDR_ZERO_STRUCTP(r->out.info);
   11073             :         }
   11074         138 :         if (flags & NDR_OUT) {
   11075             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11076             :                 if (r->in.domain_handle == NULL) {
   11077             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   11078             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   11079             :                 }
   11080             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11081          74 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11082           4 :                         NDR_PULL_ALLOC(ndr, r->out.total_size);
   11083             :                 }
   11084          74 :                 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11085          74 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
   11086          74 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
   11087          74 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
   11088          74 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11089           4 :                         NDR_PULL_ALLOC(ndr, r->out.returned_size);
   11090             :                 }
   11091          74 :                 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11092          74 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
   11093          74 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
   11094          74 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
   11095          74 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11096           4 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   11097             :                 }
   11098          74 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11099          74 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   11100          74 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
   11101          74 :                 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   11102          74 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   11103          74 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11104             :         }
   11105         138 :         return NDR_ERR_SUCCESS;
   11106             : }
   11107             : 
   11108           0 : _PUBLIC_ void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r)
   11109             : {
   11110           0 :         ndr_print_struct(ndr, name, "samr_QueryDisplayInfo2");
   11111           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11112           0 :         ndr->depth++;
   11113           0 :         if (flags & NDR_SET_VALUES) {
   11114           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11115             :         }
   11116           0 :         if (flags & NDR_IN) {
   11117           0 :                 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo2");
   11118           0 :                 ndr->depth++;
   11119           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   11120           0 :                 ndr->depth++;
   11121           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   11122           0 :                 ndr->depth--;
   11123           0 :                 ndr_print_uint16(ndr, "level", r->in.level);
   11124           0 :                 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
   11125           0 :                 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
   11126           0 :                 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
   11127           0 :                 ndr->depth--;
   11128             :         }
   11129           0 :         if (flags & NDR_OUT) {
   11130           0 :                 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo2");
   11131           0 :                 ndr->depth++;
   11132           0 :                 ndr_print_ptr(ndr, "total_size", r->out.total_size);
   11133           0 :                 ndr->depth++;
   11134           0 :                 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
   11135           0 :                 ndr->depth--;
   11136           0 :                 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
   11137           0 :                 ndr->depth++;
   11138           0 :                 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
   11139           0 :                 ndr->depth--;
   11140           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
   11141           0 :                 ndr->depth++;
   11142           0 :                 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
   11143           0 :                 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
   11144           0 :                 ndr->depth--;
   11145           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11146           0 :                 ndr->depth--;
   11147             :         }
   11148           0 :         ndr->depth--;
   11149             : }
   11150             : 
   11151          64 : static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
   11152             : {
   11153          64 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11154          64 :         if (flags & NDR_IN) {
   11155          44 :                 if (r->in.domain_handle == NULL) {
   11156           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11157             :                 }
   11158          44 :                 if (r->in.name == NULL) {
   11159           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11160             :                 }
   11161          44 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   11162          44 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
   11163          44 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
   11164             :         }
   11165          64 :         if (flags & NDR_OUT) {
   11166          20 :                 if (r->out.idx == NULL) {
   11167           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11168             :                 }
   11169          20 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
   11170          20 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11171             :         }
   11172          64 :         return NDR_ERR_SUCCESS;
   11173             : }
   11174             : 
   11175          64 : static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex2 *r)
   11176             : {
   11177          64 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   11178          64 :         TALLOC_CTX *_mem_save_name_0 = NULL;
   11179          64 :         TALLOC_CTX *_mem_save_idx_0 = NULL;
   11180          64 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11181          64 :         if (flags & NDR_IN) {
   11182          24 :                 NDR_ZERO_STRUCT(r->out);
   11183             : 
   11184          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11185          24 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   11186             :                 }
   11187          24 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11188          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   11189          24 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   11190          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   11191          24 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
   11192          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11193          24 :                         NDR_PULL_ALLOC(ndr, r->in.name);
   11194             :                 }
   11195          24 :                 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11196          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
   11197          24 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
   11198          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
   11199          24 :                 NDR_PULL_ALLOC(ndr, r->out.idx);
   11200          24 :                 NDR_ZERO_STRUCTP(r->out.idx);
   11201             :         }
   11202          64 :         if (flags & NDR_OUT) {
   11203             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11204             :                 if (r->in.domain_handle == NULL) {
   11205             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   11206             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   11207             :                 }
   11208             :                 if (r->in.name == NULL) {
   11209             :                         NDR_PULL_ALLOC(ndr, r->in.name);
   11210             :                         NDR_ZERO_STRUCTP(r->in.name);
   11211             :                 }
   11212             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11213          40 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11214           0 :                         NDR_PULL_ALLOC(ndr, r->out.idx);
   11215             :                 }
   11216          40 :                 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11217          40 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
   11218          40 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
   11219          40 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
   11220          40 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11221             :         }
   11222          64 :         return NDR_ERR_SUCCESS;
   11223             : }
   11224             : 
   11225           0 : _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
   11226             : {
   11227           0 :         ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex2");
   11228           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11229           0 :         ndr->depth++;
   11230           0 :         if (flags & NDR_SET_VALUES) {
   11231           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11232             :         }
   11233           0 :         if (flags & NDR_IN) {
   11234           0 :                 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex2");
   11235           0 :                 ndr->depth++;
   11236           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   11237           0 :                 ndr->depth++;
   11238           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   11239           0 :                 ndr->depth--;
   11240           0 :                 ndr_print_uint16(ndr, "level", r->in.level);
   11241           0 :                 ndr_print_ptr(ndr, "name", r->in.name);
   11242           0 :                 ndr->depth++;
   11243           0 :                 ndr_print_lsa_String(ndr, "name", r->in.name);
   11244           0 :                 ndr->depth--;
   11245           0 :                 ndr->depth--;
   11246             :         }
   11247           0 :         if (flags & NDR_OUT) {
   11248           0 :                 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex2");
   11249           0 :                 ndr->depth++;
   11250           0 :                 ndr_print_ptr(ndr, "idx", r->out.idx);
   11251           0 :                 ndr->depth++;
   11252           0 :                 ndr_print_uint32(ndr, "idx", *r->out.idx);
   11253           0 :                 ndr->depth--;
   11254           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11255           0 :                 ndr->depth--;
   11256             :         }
   11257           0 :         ndr->depth--;
   11258             : }
   11259             : 
   11260        2119 : static enum ndr_err_code ndr_push_samr_CreateUser2(struct ndr_push *ndr, int flags, const struct samr_CreateUser2 *r)
   11261             : {
   11262        2119 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11263        2119 :         if (flags & NDR_IN) {
   11264        1001 :                 if (r->in.domain_handle == NULL) {
   11265           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11266             :                 }
   11267        1001 :                 if (r->in.account_name == NULL) {
   11268           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11269             :                 }
   11270        1001 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   11271        1001 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
   11272        1001 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
   11273        1091 :                 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
   11274             :         }
   11275        2119 :         if (flags & NDR_OUT) {
   11276        1118 :                 if (r->out.user_handle == NULL) {
   11277           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11278             :                 }
   11279        1118 :                 if (r->out.access_granted == NULL) {
   11280           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11281             :                 }
   11282        1118 :                 if (r->out.rid == NULL) {
   11283           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11284             :                 }
   11285        1118 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
   11286        1118 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.access_granted));
   11287        1118 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
   11288        1118 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11289             :         }
   11290        1921 :         return NDR_ERR_SUCCESS;
   11291             : }
   11292             : 
   11293        1999 : static enum ndr_err_code ndr_pull_samr_CreateUser2(struct ndr_pull *ndr, int flags, struct samr_CreateUser2 *r)
   11294             : {
   11295        1999 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   11296        1999 :         TALLOC_CTX *_mem_save_account_name_0 = NULL;
   11297        1999 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
   11298        1999 :         TALLOC_CTX *_mem_save_access_granted_0 = NULL;
   11299        1999 :         TALLOC_CTX *_mem_save_rid_0 = NULL;
   11300        1999 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11301        1999 :         if (flags & NDR_IN) {
   11302         998 :                 NDR_ZERO_STRUCT(r->out);
   11303             : 
   11304         998 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11305         998 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   11306             :                 }
   11307         998 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11308         998 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   11309         998 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   11310         998 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   11311         998 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11312         998 :                         NDR_PULL_ALLOC(ndr, r->in.account_name);
   11313             :                 }
   11314         998 :                 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11315         998 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
   11316         998 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
   11317         998 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
   11318         998 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
   11319        1088 :                 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
   11320         998 :                 NDR_PULL_ALLOC(ndr, r->out.user_handle);
   11321         998 :                 NDR_ZERO_STRUCTP(r->out.user_handle);
   11322         998 :                 NDR_PULL_ALLOC(ndr, r->out.access_granted);
   11323         998 :                 NDR_ZERO_STRUCTP(r->out.access_granted);
   11324         998 :                 NDR_PULL_ALLOC(ndr, r->out.rid);
   11325         998 :                 NDR_ZERO_STRUCTP(r->out.rid);
   11326             :         }
   11327        1999 :         if (flags & NDR_OUT) {
   11328             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11329             :                 if (r->in.domain_handle == NULL) {
   11330             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   11331             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   11332             :                 }
   11333             :                 if (r->in.account_name == NULL) {
   11334             :                         NDR_PULL_ALLOC(ndr, r->in.account_name);
   11335             :                         NDR_ZERO_STRUCTP(r->in.account_name);
   11336             :                 }
   11337             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11338        1001 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11339         138 :                         NDR_PULL_ALLOC(ndr, r->out.user_handle);
   11340             :                 }
   11341        1001 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11342        1001 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
   11343        1001 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
   11344        1001 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
   11345        1001 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11346         138 :                         NDR_PULL_ALLOC(ndr, r->out.access_granted);
   11347             :                 }
   11348        1001 :                 _mem_save_access_granted_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11349        1001 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.access_granted, LIBNDR_FLAG_REF_ALLOC);
   11350        1001 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.access_granted));
   11351        1001 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_granted_0, LIBNDR_FLAG_REF_ALLOC);
   11352        1001 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11353         138 :                         NDR_PULL_ALLOC(ndr, r->out.rid);
   11354             :                 }
   11355        1001 :                 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11356        1001 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
   11357        1001 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
   11358        1001 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
   11359        1001 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11360             :         }
   11361        1819 :         return NDR_ERR_SUCCESS;
   11362             : }
   11363             : 
   11364         250 : _PUBLIC_ void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r)
   11365             : {
   11366         250 :         ndr_print_struct(ndr, name, "samr_CreateUser2");
   11367         250 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11368         250 :         ndr->depth++;
   11369         250 :         if (flags & NDR_SET_VALUES) {
   11370           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11371             :         }
   11372         250 :         if (flags & NDR_IN) {
   11373           0 :                 ndr_print_struct(ndr, "in", "samr_CreateUser2");
   11374           0 :                 ndr->depth++;
   11375           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   11376           0 :                 ndr->depth++;
   11377           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   11378           0 :                 ndr->depth--;
   11379           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   11380           0 :                 ndr->depth++;
   11381           0 :                 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
   11382           0 :                 ndr->depth--;
   11383           0 :                 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
   11384           0 :                 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
   11385           0 :                 ndr->depth--;
   11386             :         }
   11387         250 :         if (flags & NDR_OUT) {
   11388         250 :                 ndr_print_struct(ndr, "out", "samr_CreateUser2");
   11389         250 :                 ndr->depth++;
   11390         250 :                 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
   11391         250 :                 ndr->depth++;
   11392         250 :                 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
   11393         250 :                 ndr->depth--;
   11394         250 :                 ndr_print_ptr(ndr, "access_granted", r->out.access_granted);
   11395         250 :                 ndr->depth++;
   11396         250 :                 ndr_print_uint32(ndr, "access_granted", *r->out.access_granted);
   11397         250 :                 ndr->depth--;
   11398         250 :                 ndr_print_ptr(ndr, "rid", r->out.rid);
   11399         250 :                 ndr->depth++;
   11400         250 :                 ndr_print_uint32(ndr, "rid", *r->out.rid);
   11401         250 :                 ndr->depth--;
   11402         250 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11403         250 :                 ndr->depth--;
   11404             :         }
   11405         250 :         ndr->depth--;
   11406             : }
   11407             : 
   11408         130 : static enum ndr_err_code ndr_push_samr_QueryDisplayInfo3(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo3 *r)
   11409             : {
   11410         130 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11411         130 :         if (flags & NDR_IN) {
   11412          70 :                 if (r->in.domain_handle == NULL) {
   11413           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11414             :                 }
   11415          70 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   11416          70 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
   11417          70 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
   11418          70 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
   11419          70 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
   11420             :         }
   11421         130 :         if (flags & NDR_OUT) {
   11422          60 :                 if (r->out.total_size == NULL) {
   11423           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11424             :                 }
   11425          60 :                 if (r->out.returned_size == NULL) {
   11426           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11427             :                 }
   11428          60 :                 if (r->out.info == NULL) {
   11429           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11430             :                 }
   11431          60 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
   11432          60 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
   11433          60 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
   11434          60 :                 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   11435          60 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11436             :         }
   11437         130 :         return NDR_ERR_SUCCESS;
   11438             : }
   11439             : 
   11440         130 : static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo3 *r)
   11441             : {
   11442         130 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   11443         130 :         TALLOC_CTX *_mem_save_total_size_0 = NULL;
   11444         130 :         TALLOC_CTX *_mem_save_returned_size_0 = NULL;
   11445         130 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   11446         130 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11447         130 :         if (flags & NDR_IN) {
   11448          60 :                 NDR_ZERO_STRUCT(r->out);
   11449             : 
   11450          60 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11451          60 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   11452             :                 }
   11453          60 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11454          60 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   11455          60 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   11456          60 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   11457          60 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
   11458          60 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
   11459          60 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
   11460          60 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
   11461          60 :                 NDR_PULL_ALLOC(ndr, r->out.total_size);
   11462          60 :                 NDR_ZERO_STRUCTP(r->out.total_size);
   11463          60 :                 NDR_PULL_ALLOC(ndr, r->out.returned_size);
   11464          60 :                 NDR_ZERO_STRUCTP(r->out.returned_size);
   11465          60 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   11466          60 :                 NDR_ZERO_STRUCTP(r->out.info);
   11467             :         }
   11468         130 :         if (flags & NDR_OUT) {
   11469             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11470             :                 if (r->in.domain_handle == NULL) {
   11471             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   11472             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   11473             :                 }
   11474             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11475          70 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11476           0 :                         NDR_PULL_ALLOC(ndr, r->out.total_size);
   11477             :                 }
   11478          70 :                 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11479          70 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
   11480          70 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
   11481          70 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
   11482          70 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11483           0 :                         NDR_PULL_ALLOC(ndr, r->out.returned_size);
   11484             :                 }
   11485          70 :                 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11486          70 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
   11487          70 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
   11488          70 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
   11489          70 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11490           0 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   11491             :                 }
   11492          70 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11493          70 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   11494          70 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
   11495          70 :                 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   11496          70 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   11497          70 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11498             :         }
   11499         130 :         return NDR_ERR_SUCCESS;
   11500             : }
   11501             : 
   11502           0 : _PUBLIC_ void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r)
   11503             : {
   11504           0 :         ndr_print_struct(ndr, name, "samr_QueryDisplayInfo3");
   11505           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11506           0 :         ndr->depth++;
   11507           0 :         if (flags & NDR_SET_VALUES) {
   11508           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11509             :         }
   11510           0 :         if (flags & NDR_IN) {
   11511           0 :                 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo3");
   11512           0 :                 ndr->depth++;
   11513           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   11514           0 :                 ndr->depth++;
   11515           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   11516           0 :                 ndr->depth--;
   11517           0 :                 ndr_print_uint16(ndr, "level", r->in.level);
   11518           0 :                 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
   11519           0 :                 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
   11520           0 :                 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
   11521           0 :                 ndr->depth--;
   11522             :         }
   11523           0 :         if (flags & NDR_OUT) {
   11524           0 :                 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo3");
   11525           0 :                 ndr->depth++;
   11526           0 :                 ndr_print_ptr(ndr, "total_size", r->out.total_size);
   11527           0 :                 ndr->depth++;
   11528           0 :                 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
   11529           0 :                 ndr->depth--;
   11530           0 :                 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
   11531           0 :                 ndr->depth++;
   11532           0 :                 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
   11533           0 :                 ndr->depth--;
   11534           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
   11535           0 :                 ndr->depth++;
   11536           0 :                 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
   11537           0 :                 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
   11538           0 :                 ndr->depth--;
   11539           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11540           0 :                 ndr->depth--;
   11541             :         }
   11542           0 :         ndr->depth--;
   11543             : }
   11544             : 
   11545           0 : static enum ndr_err_code ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push *ndr, int flags, const struct samr_AddMultipleMembersToAlias *r)
   11546             : {
   11547           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11548           0 :         if (flags & NDR_IN) {
   11549           0 :                 if (r->in.alias_handle == NULL) {
   11550           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11551             :                 }
   11552           0 :                 if (r->in.sids == NULL) {
   11553           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11554             :                 }
   11555           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
   11556           0 :                 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
   11557             :         }
   11558           0 :         if (flags & NDR_OUT) {
   11559           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11560             :         }
   11561           0 :         return NDR_ERR_SUCCESS;
   11562             : }
   11563             : 
   11564           0 : static enum ndr_err_code ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull *ndr, int flags, struct samr_AddMultipleMembersToAlias *r)
   11565             : {
   11566           0 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
   11567           0 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
   11568           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11569           0 :         if (flags & NDR_IN) {
   11570           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11571           0 :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
   11572             :                 }
   11573           0 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11574           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
   11575           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
   11576           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
   11577           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11578           0 :                         NDR_PULL_ALLOC(ndr, r->in.sids);
   11579             :                 }
   11580           0 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11581           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
   11582           0 :                 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
   11583           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
   11584             :         }
   11585           0 :         if (flags & NDR_OUT) {
   11586             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11587             :                 if (r->in.alias_handle == NULL) {
   11588             :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
   11589             :                         NDR_ZERO_STRUCTP(r->in.alias_handle);
   11590             :                 }
   11591             :                 if (r->in.sids == NULL) {
   11592             :                         NDR_PULL_ALLOC(ndr, r->in.sids);
   11593             :                         NDR_ZERO_STRUCTP(r->in.sids);
   11594             :                 }
   11595             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11596           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11597             :         }
   11598           0 :         return NDR_ERR_SUCCESS;
   11599             : }
   11600             : 
   11601           0 : _PUBLIC_ void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r)
   11602             : {
   11603           0 :         ndr_print_struct(ndr, name, "samr_AddMultipleMembersToAlias");
   11604           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11605           0 :         ndr->depth++;
   11606           0 :         if (flags & NDR_SET_VALUES) {
   11607           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11608             :         }
   11609           0 :         if (flags & NDR_IN) {
   11610           0 :                 ndr_print_struct(ndr, "in", "samr_AddMultipleMembersToAlias");
   11611           0 :                 ndr->depth++;
   11612           0 :                 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
   11613           0 :                 ndr->depth++;
   11614           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
   11615           0 :                 ndr->depth--;
   11616           0 :                 ndr_print_ptr(ndr, "sids", r->in.sids);
   11617           0 :                 ndr->depth++;
   11618           0 :                 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
   11619           0 :                 ndr->depth--;
   11620           0 :                 ndr->depth--;
   11621             :         }
   11622           0 :         if (flags & NDR_OUT) {
   11623           0 :                 ndr_print_struct(ndr, "out", "samr_AddMultipleMembersToAlias");
   11624           0 :                 ndr->depth++;
   11625           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11626           0 :                 ndr->depth--;
   11627             :         }
   11628           0 :         ndr->depth--;
   11629             : }
   11630             : 
   11631           0 : static enum ndr_err_code ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push *ndr, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
   11632             : {
   11633           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11634           0 :         if (flags & NDR_IN) {
   11635           0 :                 if (r->in.alias_handle == NULL) {
   11636           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11637             :                 }
   11638           0 :                 if (r->in.sids == NULL) {
   11639           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11640             :                 }
   11641           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
   11642           0 :                 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
   11643             :         }
   11644           0 :         if (flags & NDR_OUT) {
   11645           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11646             :         }
   11647           0 :         return NDR_ERR_SUCCESS;
   11648             : }
   11649             : 
   11650           0 : static enum ndr_err_code ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull *ndr, int flags, struct samr_RemoveMultipleMembersFromAlias *r)
   11651             : {
   11652           0 :         TALLOC_CTX *_mem_save_alias_handle_0 = NULL;
   11653           0 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
   11654           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11655           0 :         if (flags & NDR_IN) {
   11656           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11657           0 :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
   11658             :                 }
   11659           0 :                 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11660           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
   11661           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
   11662           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
   11663           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11664           0 :                         NDR_PULL_ALLOC(ndr, r->in.sids);
   11665             :                 }
   11666           0 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11667           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
   11668           0 :                 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
   11669           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
   11670             :         }
   11671           0 :         if (flags & NDR_OUT) {
   11672             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11673             :                 if (r->in.alias_handle == NULL) {
   11674             :                         NDR_PULL_ALLOC(ndr, r->in.alias_handle);
   11675             :                         NDR_ZERO_STRUCTP(r->in.alias_handle);
   11676             :                 }
   11677             :                 if (r->in.sids == NULL) {
   11678             :                         NDR_PULL_ALLOC(ndr, r->in.sids);
   11679             :                         NDR_ZERO_STRUCTP(r->in.sids);
   11680             :                 }
   11681             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11682           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11683             :         }
   11684           0 :         return NDR_ERR_SUCCESS;
   11685             : }
   11686             : 
   11687           0 : _PUBLIC_ void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
   11688             : {
   11689           0 :         ndr_print_struct(ndr, name, "samr_RemoveMultipleMembersFromAlias");
   11690           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11691           0 :         ndr->depth++;
   11692           0 :         if (flags & NDR_SET_VALUES) {
   11693           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11694             :         }
   11695           0 :         if (flags & NDR_IN) {
   11696           0 :                 ndr_print_struct(ndr, "in", "samr_RemoveMultipleMembersFromAlias");
   11697           0 :                 ndr->depth++;
   11698           0 :                 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
   11699           0 :                 ndr->depth++;
   11700           0 :                 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
   11701           0 :                 ndr->depth--;
   11702           0 :                 ndr_print_ptr(ndr, "sids", r->in.sids);
   11703           0 :                 ndr->depth++;
   11704           0 :                 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
   11705           0 :                 ndr->depth--;
   11706           0 :                 ndr->depth--;
   11707             :         }
   11708           0 :         if (flags & NDR_OUT) {
   11709           0 :                 ndr_print_struct(ndr, "out", "samr_RemoveMultipleMembersFromAlias");
   11710           0 :                 ndr->depth++;
   11711           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11712           0 :                 ndr->depth--;
   11713             :         }
   11714           0 :         ndr->depth--;
   11715             : }
   11716             : 
   11717         120 : static enum ndr_err_code ndr_push_samr_OemChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_OemChangePasswordUser2 *r)
   11718             : {
   11719         120 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11720         120 :         if (flags & NDR_IN) {
   11721          61 :                 if (r->in.account == NULL) {
   11722           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11723             :                 }
   11724          61 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
   11725          61 :                 if (r->in.server) {
   11726          61 :                         NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
   11727             :                 }
   11728          61 :                 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
   11729          61 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
   11730          61 :                 if (r->in.password) {
   11731          53 :                         NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
   11732             :                 }
   11733          61 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
   11734          61 :                 if (r->in.hash) {
   11735          45 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
   11736             :                 }
   11737             :         }
   11738         120 :         if (flags & NDR_OUT) {
   11739          59 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11740             :         }
   11741         120 :         return NDR_ERR_SUCCESS;
   11742             : }
   11743             : 
   11744         120 : static enum ndr_err_code ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_OemChangePasswordUser2 *r)
   11745             : {
   11746             :         uint32_t _ptr_server;
   11747             :         uint32_t _ptr_password;
   11748             :         uint32_t _ptr_hash;
   11749         120 :         TALLOC_CTX *_mem_save_server_0 = NULL;
   11750         120 :         TALLOC_CTX *_mem_save_account_0 = NULL;
   11751         120 :         TALLOC_CTX *_mem_save_password_0 = NULL;
   11752         120 :         TALLOC_CTX *_mem_save_hash_0 = NULL;
   11753         120 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11754         120 :         if (flags & NDR_IN) {
   11755          59 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
   11756          59 :                 if (_ptr_server) {
   11757          59 :                         NDR_PULL_ALLOC(ndr, r->in.server);
   11758             :                 } else {
   11759           0 :                         r->in.server = NULL;
   11760             :                 }
   11761          59 :                 if (r->in.server) {
   11762          59 :                         _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11763          59 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
   11764          59 :                         NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
   11765          59 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
   11766             :                 }
   11767          59 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11768          59 :                         NDR_PULL_ALLOC(ndr, r->in.account);
   11769             :                 }
   11770          59 :                 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11771          59 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
   11772          59 :                 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
   11773          59 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
   11774          59 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
   11775          59 :                 if (_ptr_password) {
   11776          51 :                         NDR_PULL_ALLOC(ndr, r->in.password);
   11777             :                 } else {
   11778           8 :                         r->in.password = NULL;
   11779             :                 }
   11780          59 :                 if (r->in.password) {
   11781          51 :                         _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11782          51 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
   11783          51 :                         NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
   11784          51 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
   11785             :                 }
   11786          59 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
   11787          59 :                 if (_ptr_hash) {
   11788          43 :                         NDR_PULL_ALLOC(ndr, r->in.hash);
   11789             :                 } else {
   11790          16 :                         r->in.hash = NULL;
   11791             :                 }
   11792          59 :                 if (r->in.hash) {
   11793          43 :                         _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11794          43 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
   11795          43 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
   11796          43 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
   11797             :                 }
   11798             :         }
   11799         120 :         if (flags & NDR_OUT) {
   11800             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11801             :                 if (r->in.account == NULL) {
   11802             :                         NDR_PULL_ALLOC(ndr, r->in.account);
   11803             :                         NDR_ZERO_STRUCTP(r->in.account);
   11804             :                 }
   11805             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11806          61 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11807             :         }
   11808         120 :         return NDR_ERR_SUCCESS;
   11809             : }
   11810             : 
   11811           0 : _PUBLIC_ void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r)
   11812             : {
   11813           0 :         ndr_print_struct(ndr, name, "samr_OemChangePasswordUser2");
   11814           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11815           0 :         ndr->depth++;
   11816           0 :         if (flags & NDR_SET_VALUES) {
   11817           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11818             :         }
   11819           0 :         if (flags & NDR_IN) {
   11820           0 :                 ndr_print_struct(ndr, "in", "samr_OemChangePasswordUser2");
   11821           0 :                 ndr->depth++;
   11822           0 :                 ndr_print_ptr(ndr, "server", r->in.server);
   11823           0 :                 ndr->depth++;
   11824           0 :                 if (r->in.server) {
   11825           0 :                         ndr_print_lsa_AsciiString(ndr, "server", r->in.server);
   11826             :                 }
   11827           0 :                 ndr->depth--;
   11828           0 :                 ndr_print_ptr(ndr, "account", r->in.account);
   11829           0 :                 ndr->depth++;
   11830           0 :                 ndr_print_lsa_AsciiString(ndr, "account", r->in.account);
   11831           0 :                 ndr->depth--;
   11832           0 :                 ndr_print_ptr(ndr, "password", r->in.password);
   11833           0 :                 ndr->depth++;
   11834           0 :                 if (r->in.password) {
   11835           0 :                         ndr_print_samr_CryptPassword(ndr, "password", r->in.password);
   11836             :                 }
   11837           0 :                 ndr->depth--;
   11838           0 :                 ndr_print_ptr(ndr, "hash", r->in.hash);
   11839           0 :                 ndr->depth++;
   11840           0 :                 if (r->in.hash) {
   11841           0 :                         ndr_print_samr_Password(ndr, "hash", r->in.hash);
   11842             :                 }
   11843           0 :                 ndr->depth--;
   11844           0 :                 ndr->depth--;
   11845             :         }
   11846           0 :         if (flags & NDR_OUT) {
   11847           0 :                 ndr_print_struct(ndr, "out", "samr_OemChangePasswordUser2");
   11848           0 :                 ndr->depth++;
   11849           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11850           0 :                 ndr->depth--;
   11851             :         }
   11852           0 :         ndr->depth--;
   11853             : }
   11854             : 
   11855         294 : static enum ndr_err_code ndr_push_samr_ChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser2 *r)
   11856             : {
   11857         294 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11858         294 :         if (flags & NDR_IN) {
   11859         148 :                 if (r->in.account == NULL) {
   11860           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11861             :                 }
   11862         148 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
   11863         148 :                 if (r->in.server) {
   11864         148 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
   11865             :                 }
   11866         148 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
   11867         148 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
   11868         148 :                 if (r->in.nt_password) {
   11869         141 :                         NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
   11870             :                 }
   11871         148 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
   11872         148 :                 if (r->in.nt_verifier) {
   11873         141 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
   11874             :                 }
   11875         148 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
   11876         148 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
   11877         148 :                 if (r->in.lm_password) {
   11878         141 :                         NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
   11879             :                 }
   11880         148 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
   11881         148 :                 if (r->in.lm_verifier) {
   11882         141 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
   11883             :                 }
   11884             :         }
   11885         294 :         if (flags & NDR_OUT) {
   11886         146 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11887             :         }
   11888         294 :         return NDR_ERR_SUCCESS;
   11889             : }
   11890             : 
   11891         294 : static enum ndr_err_code ndr_pull_samr_ChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser2 *r)
   11892             : {
   11893             :         uint32_t _ptr_server;
   11894             :         uint32_t _ptr_nt_password;
   11895             :         uint32_t _ptr_nt_verifier;
   11896             :         uint32_t _ptr_lm_password;
   11897             :         uint32_t _ptr_lm_verifier;
   11898         294 :         TALLOC_CTX *_mem_save_server_0 = NULL;
   11899         294 :         TALLOC_CTX *_mem_save_account_0 = NULL;
   11900         294 :         TALLOC_CTX *_mem_save_nt_password_0 = NULL;
   11901         294 :         TALLOC_CTX *_mem_save_nt_verifier_0 = NULL;
   11902         294 :         TALLOC_CTX *_mem_save_lm_password_0 = NULL;
   11903         294 :         TALLOC_CTX *_mem_save_lm_verifier_0 = NULL;
   11904         294 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11905         294 :         if (flags & NDR_IN) {
   11906         146 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
   11907         146 :                 if (_ptr_server) {
   11908         146 :                         NDR_PULL_ALLOC(ndr, r->in.server);
   11909             :                 } else {
   11910           0 :                         r->in.server = NULL;
   11911             :                 }
   11912         146 :                 if (r->in.server) {
   11913         146 :                         _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11914         146 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
   11915         146 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
   11916         146 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
   11917             :                 }
   11918         146 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11919         146 :                         NDR_PULL_ALLOC(ndr, r->in.account);
   11920             :                 }
   11921         146 :                 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11922         146 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
   11923         146 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
   11924         146 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
   11925         146 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
   11926         146 :                 if (_ptr_nt_password) {
   11927         141 :                         NDR_PULL_ALLOC(ndr, r->in.nt_password);
   11928             :                 } else {
   11929           5 :                         r->in.nt_password = NULL;
   11930             :                 }
   11931         146 :                 if (r->in.nt_password) {
   11932         141 :                         _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11933         141 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
   11934         141 :                         NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
   11935         141 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
   11936             :                 }
   11937         146 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
   11938         146 :                 if (_ptr_nt_verifier) {
   11939         141 :                         NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
   11940             :                 } else {
   11941           5 :                         r->in.nt_verifier = NULL;
   11942             :                 }
   11943         146 :                 if (r->in.nt_verifier) {
   11944         141 :                         _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11945         141 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
   11946         141 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
   11947         141 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
   11948             :                 }
   11949         146 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
   11950         146 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
   11951         146 :                 if (_ptr_lm_password) {
   11952         141 :                         NDR_PULL_ALLOC(ndr, r->in.lm_password);
   11953             :                 } else {
   11954           5 :                         r->in.lm_password = NULL;
   11955             :                 }
   11956         146 :                 if (r->in.lm_password) {
   11957         141 :                         _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11958         141 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
   11959         141 :                         NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
   11960         141 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
   11961             :                 }
   11962         146 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
   11963         146 :                 if (_ptr_lm_verifier) {
   11964         141 :                         NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
   11965             :                 } else {
   11966           5 :                         r->in.lm_verifier = NULL;
   11967             :                 }
   11968         146 :                 if (r->in.lm_verifier) {
   11969         141 :                         _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11970         141 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
   11971         141 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
   11972         141 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
   11973             :                 }
   11974             :         }
   11975         294 :         if (flags & NDR_OUT) {
   11976             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11977             :                 if (r->in.account == NULL) {
   11978             :                         NDR_PULL_ALLOC(ndr, r->in.account);
   11979             :                         NDR_ZERO_STRUCTP(r->in.account);
   11980             :                 }
   11981             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11982         148 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11983             :         }
   11984         294 :         return NDR_ERR_SUCCESS;
   11985             : }
   11986             : 
   11987           0 : _PUBLIC_ void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r)
   11988             : {
   11989           0 :         ndr_print_struct(ndr, name, "samr_ChangePasswordUser2");
   11990           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11991           0 :         ndr->depth++;
   11992           0 :         if (flags & NDR_SET_VALUES) {
   11993           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11994             :         }
   11995           0 :         if (flags & NDR_IN) {
   11996           0 :                 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser2");
   11997           0 :                 ndr->depth++;
   11998           0 :                 ndr_print_ptr(ndr, "server", r->in.server);
   11999           0 :                 ndr->depth++;
   12000           0 :                 if (r->in.server) {
   12001           0 :                         ndr_print_lsa_String(ndr, "server", r->in.server);
   12002             :                 }
   12003           0 :                 ndr->depth--;
   12004           0 :                 ndr_print_ptr(ndr, "account", r->in.account);
   12005           0 :                 ndr->depth++;
   12006           0 :                 ndr_print_lsa_String(ndr, "account", r->in.account);
   12007           0 :                 ndr->depth--;
   12008           0 :                 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
   12009           0 :                 ndr->depth++;
   12010           0 :                 if (r->in.nt_password) {
   12011           0 :                         ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
   12012             :                 }
   12013           0 :                 ndr->depth--;
   12014           0 :                 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
   12015           0 :                 ndr->depth++;
   12016           0 :                 if (r->in.nt_verifier) {
   12017           0 :                         ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
   12018             :                 }
   12019           0 :                 ndr->depth--;
   12020           0 :                 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
   12021           0 :                 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
   12022           0 :                 ndr->depth++;
   12023           0 :                 if (r->in.lm_password) {
   12024           0 :                         ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
   12025             :                 }
   12026           0 :                 ndr->depth--;
   12027           0 :                 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
   12028           0 :                 ndr->depth++;
   12029           0 :                 if (r->in.lm_verifier) {
   12030           0 :                         ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
   12031             :                 }
   12032           0 :                 ndr->depth--;
   12033           0 :                 ndr->depth--;
   12034             :         }
   12035           0 :         if (flags & NDR_OUT) {
   12036           0 :                 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser2");
   12037           0 :                 ndr->depth++;
   12038           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12039           0 :                 ndr->depth--;
   12040             :         }
   12041           0 :         ndr->depth--;
   12042             : }
   12043             : 
   12044        8732 : static enum ndr_err_code ndr_push_samr_GetDomPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetDomPwInfo *r)
   12045             : {
   12046        8732 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12047        8732 :         if (flags & NDR_IN) {
   12048        4084 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
   12049        4084 :                 if (r->in.domain_name) {
   12050        4084 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
   12051             :                 }
   12052             :         }
   12053        8732 :         if (flags & NDR_OUT) {
   12054        4648 :                 if (r->out.info == NULL) {
   12055           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12056             :                 }
   12057        4648 :                 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
   12058        4648 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12059             :         }
   12060        7412 :         return NDR_ERR_SUCCESS;
   12061             : }
   12062             : 
   12063        8012 : static enum ndr_err_code ndr_pull_samr_GetDomPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetDomPwInfo *r)
   12064             : {
   12065             :         uint32_t _ptr_domain_name;
   12066        8012 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
   12067        8012 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   12068        8012 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12069        8012 :         if (flags & NDR_IN) {
   12070        3928 :                 NDR_ZERO_STRUCT(r->out);
   12071             : 
   12072        3928 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
   12073        3928 :                 if (_ptr_domain_name) {
   12074        3928 :                         NDR_PULL_ALLOC(ndr, r->in.domain_name);
   12075             :                 } else {
   12076           0 :                         r->in.domain_name = NULL;
   12077             :                 }
   12078        3928 :                 if (r->in.domain_name) {
   12079        3928 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12080        3928 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
   12081        3928 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
   12082        3928 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
   12083             :                 }
   12084        3928 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   12085        3928 :                 NDR_ZERO_STRUCTP(r->out.info);
   12086             :         }
   12087        8012 :         if (flags & NDR_OUT) {
   12088             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12089             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12090        4084 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12091         720 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   12092             :                 }
   12093        4084 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12094        4084 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   12095        4084 :                 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
   12096        4084 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   12097        4084 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12098             :         }
   12099        6812 :         return NDR_ERR_SUCCESS;
   12100             : }
   12101             : 
   12102        1440 : _PUBLIC_ void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r)
   12103             : {
   12104        1440 :         ndr_print_struct(ndr, name, "samr_GetDomPwInfo");
   12105        1440 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12106        1440 :         ndr->depth++;
   12107        1440 :         if (flags & NDR_SET_VALUES) {
   12108           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12109             :         }
   12110        1440 :         if (flags & NDR_IN) {
   12111           0 :                 ndr_print_struct(ndr, "in", "samr_GetDomPwInfo");
   12112           0 :                 ndr->depth++;
   12113           0 :                 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
   12114           0 :                 ndr->depth++;
   12115           0 :                 if (r->in.domain_name) {
   12116           0 :                         ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
   12117             :                 }
   12118           0 :                 ndr->depth--;
   12119           0 :                 ndr->depth--;
   12120             :         }
   12121        1440 :         if (flags & NDR_OUT) {
   12122        1440 :                 ndr_print_struct(ndr, "out", "samr_GetDomPwInfo");
   12123        1440 :                 ndr->depth++;
   12124        1440 :                 ndr_print_ptr(ndr, "info", r->out.info);
   12125        1440 :                 ndr->depth++;
   12126        1440 :                 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
   12127        1440 :                 ndr->depth--;
   12128        1440 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12129        1440 :                 ndr->depth--;
   12130             :         }
   12131        1440 :         ndr->depth--;
   12132             : }
   12133             : 
   12134        1292 : static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags, const struct samr_Connect2 *r)
   12135             : {
   12136        1292 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12137        1292 :         if (flags & NDR_IN) {
   12138         633 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
   12139         633 :                 if (r->in.system_name) {
   12140         267 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
   12141         267 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12142         267 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
   12143         267 :                         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));
   12144             :                 }
   12145         633 :                 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
   12146             :         }
   12147        1292 :         if (flags & NDR_OUT) {
   12148         659 :                 if (r->out.connect_handle == NULL) {
   12149           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12150             :                 }
   12151         659 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
   12152         659 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12153             :         }
   12154        1290 :         return NDR_ERR_SUCCESS;
   12155             : }
   12156             : 
   12157        1292 : static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r)
   12158             : {
   12159             :         uint32_t _ptr_system_name;
   12160        1292 :         uint32_t size_system_name_1 = 0;
   12161        1292 :         uint32_t length_system_name_1 = 0;
   12162        1292 :         TALLOC_CTX *_mem_save_system_name_0 = NULL;
   12163        1292 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
   12164        1292 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12165        1292 :         if (flags & NDR_IN) {
   12166         659 :                 NDR_ZERO_STRUCT(r->out);
   12167             : 
   12168         659 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
   12169         659 :                 if (_ptr_system_name) {
   12170         312 :                         NDR_PULL_ALLOC(ndr, r->in.system_name);
   12171             :                 } else {
   12172         347 :                         r->in.system_name = NULL;
   12173             :                 }
   12174         659 :                 if (r->in.system_name) {
   12175         312 :                         _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12176         312 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
   12177         312 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
   12178         312 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
   12179         312 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.system_name, &size_system_name_1));
   12180         312 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.system_name, &length_system_name_1));
   12181         312 :                         if (length_system_name_1 > size_system_name_1) {
   12182           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
   12183             :                         }
   12184         312 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
   12185         312 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
   12186         312 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
   12187             :                 }
   12188         661 :                 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
   12189         659 :                 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
   12190         659 :                 NDR_ZERO_STRUCTP(r->out.connect_handle);
   12191             :         }
   12192        1292 :         if (flags & NDR_OUT) {
   12193             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12194             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12195         633 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12196         423 :                         NDR_PULL_ALLOC(ndr, r->out.connect_handle);
   12197             :                 }
   12198         633 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12199         633 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
   12200         633 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
   12201         633 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
   12202         633 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12203             :         }
   12204        1290 :         return NDR_ERR_SUCCESS;
   12205             : }
   12206             : 
   12207           0 : _PUBLIC_ void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r)
   12208             : {
   12209           0 :         ndr_print_struct(ndr, name, "samr_Connect2");
   12210           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12211           0 :         ndr->depth++;
   12212           0 :         if (flags & NDR_SET_VALUES) {
   12213           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12214             :         }
   12215           0 :         if (flags & NDR_IN) {
   12216           0 :                 ndr_print_struct(ndr, "in", "samr_Connect2");
   12217           0 :                 ndr->depth++;
   12218           0 :                 ndr_print_ptr(ndr, "system_name", r->in.system_name);
   12219           0 :                 ndr->depth++;
   12220           0 :                 if (r->in.system_name) {
   12221           0 :                         ndr_print_string(ndr, "system_name", r->in.system_name);
   12222             :                 }
   12223           0 :                 ndr->depth--;
   12224           0 :                 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
   12225           0 :                 ndr->depth--;
   12226             :         }
   12227           0 :         if (flags & NDR_OUT) {
   12228           0 :                 ndr_print_struct(ndr, "out", "samr_Connect2");
   12229           0 :                 ndr->depth++;
   12230           0 :                 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
   12231           0 :                 ndr->depth++;
   12232           0 :                 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
   12233           0 :                 ndr->depth--;
   12234           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12235           0 :                 ndr->depth--;
   12236             :         }
   12237           0 :         ndr->depth--;
   12238             : }
   12239             : 
   12240        4253 : _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r)
   12241             : {
   12242        4253 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12243        4253 :         if (flags & NDR_IN) {
   12244        2073 :                 if (r->in.user_handle == NULL) {
   12245           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12246             :                 }
   12247        2073 :                 if (r->in.info == NULL) {
   12248           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12249             :                 }
   12250        2073 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   12251        2163 :                 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
   12252        2073 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
   12253        2073 :                 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
   12254             :         }
   12255        4253 :         if (flags & NDR_OUT) {
   12256        2180 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12257             :         }
   12258        4055 :         return NDR_ERR_SUCCESS;
   12259             : }
   12260             : 
   12261        4135 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r)
   12262             : {
   12263        4135 :         TALLOC_CTX *_mem_save_user_handle_0 = NULL;
   12264        4135 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   12265        4135 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12266        4135 :         if (flags & NDR_IN) {
   12267        2060 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12268        2060 :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   12269             :                 }
   12270        2060 :                 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12271        2060 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
   12272        2060 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
   12273        2060 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
   12274        2152 :                 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
   12275        2060 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12276        2060 :                         NDR_PULL_ALLOC(ndr, r->in.info);
   12277             :                 }
   12278        2060 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12279        2060 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
   12280        2060 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
   12281        2060 :                 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
   12282        2060 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   12283             :         }
   12284        4135 :         if (flags & NDR_OUT) {
   12285             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12286             :                 if (r->in.user_handle == NULL) {
   12287             :                         NDR_PULL_ALLOC(ndr, r->in.user_handle);
   12288             :                         NDR_ZERO_STRUCTP(r->in.user_handle);
   12289             :                 }
   12290             :                 if (r->in.info == NULL) {
   12291             :                         NDR_PULL_ALLOC(ndr, r->in.info);
   12292             :                         NDR_ZERO_STRUCTP(r->in.info);
   12293             :                 }
   12294             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12295        2075 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12296             :         }
   12297        3951 :         return NDR_ERR_SUCCESS;
   12298             : }
   12299             : 
   12300         248 : _PUBLIC_ void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r)
   12301             : {
   12302         248 :         ndr_print_struct(ndr, name, "samr_SetUserInfo2");
   12303         248 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12304         248 :         ndr->depth++;
   12305         248 :         if (flags & NDR_SET_VALUES) {
   12306           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12307             :         }
   12308         248 :         if (flags & NDR_IN) {
   12309           2 :                 ndr_print_struct(ndr, "in", "samr_SetUserInfo2");
   12310           2 :                 ndr->depth++;
   12311           2 :                 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
   12312           2 :                 ndr->depth++;
   12313           2 :                 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
   12314           2 :                 ndr->depth--;
   12315           2 :                 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
   12316           2 :                 ndr_print_ptr(ndr, "info", r->in.info);
   12317           2 :                 ndr->depth++;
   12318           2 :                 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
   12319           2 :                 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
   12320           2 :                 ndr->depth--;
   12321           2 :                 ndr->depth--;
   12322             :         }
   12323         248 :         if (flags & NDR_OUT) {
   12324         246 :                 ndr_print_struct(ndr, "out", "samr_SetUserInfo2");
   12325         246 :                 ndr->depth++;
   12326         246 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12327         246 :                 ndr->depth--;
   12328             :         }
   12329         248 :         ndr->depth--;
   12330             : }
   12331             : 
   12332           0 : static enum ndr_err_code ndr_push_samr_SetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_SetBootKeyInformation *r)
   12333             : {
   12334           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12335           0 :         if (flags & NDR_IN) {
   12336           0 :                 if (r->in.connect_handle == NULL) {
   12337           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12338             :                 }
   12339           0 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
   12340           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
   12341           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
   12342           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3));
   12343             :         }
   12344           0 :         if (flags & NDR_OUT) {
   12345           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12346             :         }
   12347           0 :         return NDR_ERR_SUCCESS;
   12348             : }
   12349             : 
   12350           0 : static enum ndr_err_code ndr_pull_samr_SetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_SetBootKeyInformation *r)
   12351             : {
   12352           0 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
   12353           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12354           0 :         if (flags & NDR_IN) {
   12355           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12356           0 :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
   12357             :                 }
   12358           0 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12359           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
   12360           0 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
   12361           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
   12362           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
   12363           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
   12364           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
   12365             :         }
   12366           0 :         if (flags & NDR_OUT) {
   12367             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12368             :                 if (r->in.connect_handle == NULL) {
   12369             :                         NDR_PULL_ALLOC(ndr, r->in.connect_handle);
   12370             :                         NDR_ZERO_STRUCTP(r->in.connect_handle);
   12371             :                 }
   12372             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12373           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12374             :         }
   12375           0 :         return NDR_ERR_SUCCESS;
   12376             : }
   12377             : 
   12378           0 : _PUBLIC_ void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r)
   12379             : {
   12380           0 :         ndr_print_struct(ndr, name, "samr_SetBootKeyInformation");
   12381           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12382           0 :         ndr->depth++;
   12383           0 :         if (flags & NDR_SET_VALUES) {
   12384           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12385             :         }
   12386           0 :         if (flags & NDR_IN) {
   12387           0 :                 ndr_print_struct(ndr, "in", "samr_SetBootKeyInformation");
   12388           0 :                 ndr->depth++;
   12389           0 :                 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
   12390           0 :                 ndr->depth++;
   12391           0 :                 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
   12392           0 :                 ndr->depth--;
   12393           0 :                 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
   12394           0 :                 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
   12395           0 :                 ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
   12396           0 :                 ndr->depth--;
   12397             :         }
   12398           0 :         if (flags & NDR_OUT) {
   12399           0 :                 ndr_print_struct(ndr, "out", "samr_SetBootKeyInformation");
   12400           0 :                 ndr->depth++;
   12401           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12402           0 :                 ndr->depth--;
   12403             :         }
   12404           0 :         ndr->depth--;
   12405             : }
   12406             : 
   12407          24 : static enum ndr_err_code ndr_push_samr_GetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_GetBootKeyInformation *r)
   12408             : {
   12409          24 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12410          24 :         if (flags & NDR_IN) {
   12411          14 :                 if (r->in.domain_handle == NULL) {
   12412           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12413             :                 }
   12414          14 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   12415             :         }
   12416          24 :         if (flags & NDR_OUT) {
   12417          10 :                 if (r->out.unknown == NULL) {
   12418           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12419             :                 }
   12420          10 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown));
   12421          10 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12422             :         }
   12423          24 :         return NDR_ERR_SUCCESS;
   12424             : }
   12425             : 
   12426          22 : static enum ndr_err_code ndr_pull_samr_GetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_GetBootKeyInformation *r)
   12427             : {
   12428          22 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   12429          22 :         TALLOC_CTX *_mem_save_unknown_0 = NULL;
   12430          22 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12431          22 :         if (flags & NDR_IN) {
   12432          12 :                 NDR_ZERO_STRUCT(r->out);
   12433             : 
   12434          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12435          12 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   12436             :                 }
   12437          12 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12438          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   12439          12 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   12440          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   12441          12 :                 NDR_PULL_ALLOC(ndr, r->out.unknown);
   12442          12 :                 NDR_ZERO_STRUCTP(r->out.unknown);
   12443             :         }
   12444          22 :         if (flags & NDR_OUT) {
   12445             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12446             :                 if (r->in.domain_handle == NULL) {
   12447             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   12448             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   12449             :                 }
   12450             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12451          10 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12452           0 :                         NDR_PULL_ALLOC(ndr, r->out.unknown);
   12453             :                 }
   12454          10 :                 _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12455          10 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, LIBNDR_FLAG_REF_ALLOC);
   12456          10 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown));
   12457          10 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, LIBNDR_FLAG_REF_ALLOC);
   12458          10 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12459             :         }
   12460          22 :         return NDR_ERR_SUCCESS;
   12461             : }
   12462             : 
   12463           0 : _PUBLIC_ void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r)
   12464             : {
   12465           0 :         ndr_print_struct(ndr, name, "samr_GetBootKeyInformation");
   12466           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12467           0 :         ndr->depth++;
   12468           0 :         if (flags & NDR_SET_VALUES) {
   12469           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12470             :         }
   12471           0 :         if (flags & NDR_IN) {
   12472           0 :                 ndr_print_struct(ndr, "in", "samr_GetBootKeyInformation");
   12473           0 :                 ndr->depth++;
   12474           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   12475           0 :                 ndr->depth++;
   12476           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   12477           0 :                 ndr->depth--;
   12478           0 :                 ndr->depth--;
   12479             :         }
   12480           0 :         if (flags & NDR_OUT) {
   12481           0 :                 ndr_print_struct(ndr, "out", "samr_GetBootKeyInformation");
   12482           0 :                 ndr->depth++;
   12483           0 :                 ndr_print_ptr(ndr, "unknown", r->out.unknown);
   12484           0 :                 ndr->depth++;
   12485           0 :                 ndr_print_uint32(ndr, "unknown", *r->out.unknown);
   12486           0 :                 ndr->depth--;
   12487           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12488           0 :                 ndr->depth--;
   12489             :         }
   12490           0 :         ndr->depth--;
   12491             : }
   12492             : 
   12493         331 : static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags, const struct samr_Connect3 *r)
   12494             : {
   12495         331 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12496         331 :         if (flags & NDR_IN) {
   12497         174 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
   12498         174 :                 if (r->in.system_name) {
   12499           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
   12500           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12501           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
   12502           0 :                         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));
   12503             :                 }
   12504         174 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
   12505         174 :                 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
   12506             :         }
   12507         331 :         if (flags & NDR_OUT) {
   12508         157 :                 if (r->out.connect_handle == NULL) {
   12509           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12510             :                 }
   12511         157 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
   12512         157 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12513             :         }
   12514         331 :         return NDR_ERR_SUCCESS;
   12515             : }
   12516             : 
   12517         331 : static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r)
   12518             : {
   12519             :         uint32_t _ptr_system_name;
   12520         331 :         uint32_t size_system_name_1 = 0;
   12521         331 :         uint32_t length_system_name_1 = 0;
   12522         331 :         TALLOC_CTX *_mem_save_system_name_0 = NULL;
   12523         331 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
   12524         331 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12525         331 :         if (flags & NDR_IN) {
   12526         157 :                 NDR_ZERO_STRUCT(r->out);
   12527             : 
   12528         157 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
   12529         157 :                 if (_ptr_system_name) {
   12530           0 :                         NDR_PULL_ALLOC(ndr, r->in.system_name);
   12531             :                 } else {
   12532         157 :                         r->in.system_name = NULL;
   12533             :                 }
   12534         157 :                 if (r->in.system_name) {
   12535           0 :                         _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12536           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
   12537           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
   12538           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
   12539           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.system_name, &size_system_name_1));
   12540           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.system_name, &length_system_name_1));
   12541           0 :                         if (length_system_name_1 > size_system_name_1) {
   12542           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
   12543             :                         }
   12544           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
   12545           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
   12546           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
   12547             :                 }
   12548         157 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
   12549         157 :                 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
   12550         157 :                 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
   12551         157 :                 NDR_ZERO_STRUCTP(r->out.connect_handle);
   12552             :         }
   12553         331 :         if (flags & NDR_OUT) {
   12554             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12555             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12556         174 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12557           0 :                         NDR_PULL_ALLOC(ndr, r->out.connect_handle);
   12558             :                 }
   12559         174 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12560         174 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
   12561         174 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
   12562         174 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
   12563         174 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12564             :         }
   12565         331 :         return NDR_ERR_SUCCESS;
   12566             : }
   12567             : 
   12568           0 : _PUBLIC_ void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r)
   12569             : {
   12570           0 :         ndr_print_struct(ndr, name, "samr_Connect3");
   12571           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12572           0 :         ndr->depth++;
   12573           0 :         if (flags & NDR_SET_VALUES) {
   12574           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12575             :         }
   12576           0 :         if (flags & NDR_IN) {
   12577           0 :                 ndr_print_struct(ndr, "in", "samr_Connect3");
   12578           0 :                 ndr->depth++;
   12579           0 :                 ndr_print_ptr(ndr, "system_name", r->in.system_name);
   12580           0 :                 ndr->depth++;
   12581           0 :                 if (r->in.system_name) {
   12582           0 :                         ndr_print_string(ndr, "system_name", r->in.system_name);
   12583             :                 }
   12584           0 :                 ndr->depth--;
   12585           0 :                 ndr_print_uint32(ndr, "unknown", r->in.unknown);
   12586           0 :                 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
   12587           0 :                 ndr->depth--;
   12588             :         }
   12589           0 :         if (flags & NDR_OUT) {
   12590           0 :                 ndr_print_struct(ndr, "out", "samr_Connect3");
   12591           0 :                 ndr->depth++;
   12592           0 :                 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
   12593           0 :                 ndr->depth++;
   12594           0 :                 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
   12595           0 :                 ndr->depth--;
   12596           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12597           0 :                 ndr->depth--;
   12598             :         }
   12599           0 :         ndr->depth--;
   12600             : }
   12601             : 
   12602         331 : static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags, const struct samr_Connect4 *r)
   12603             : {
   12604         331 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12605         331 :         if (flags & NDR_IN) {
   12606         174 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
   12607         174 :                 if (r->in.system_name) {
   12608         174 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
   12609         174 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12610         174 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
   12611         174 :                         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));
   12612             :                 }
   12613         174 :                 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->in.client_version));
   12614         174 :                 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
   12615             :         }
   12616         331 :         if (flags & NDR_OUT) {
   12617         157 :                 if (r->out.connect_handle == NULL) {
   12618           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12619             :                 }
   12620         157 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
   12621         157 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12622             :         }
   12623         331 :         return NDR_ERR_SUCCESS;
   12624             : }
   12625             : 
   12626         331 : static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r)
   12627             : {
   12628             :         uint32_t _ptr_system_name;
   12629         331 :         uint32_t size_system_name_1 = 0;
   12630         331 :         uint32_t length_system_name_1 = 0;
   12631         331 :         TALLOC_CTX *_mem_save_system_name_0 = NULL;
   12632         331 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
   12633         331 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12634         331 :         if (flags & NDR_IN) {
   12635         157 :                 NDR_ZERO_STRUCT(r->out);
   12636             : 
   12637         157 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
   12638         157 :                 if (_ptr_system_name) {
   12639         157 :                         NDR_PULL_ALLOC(ndr, r->in.system_name);
   12640             :                 } else {
   12641           0 :                         r->in.system_name = NULL;
   12642             :                 }
   12643         157 :                 if (r->in.system_name) {
   12644         157 :                         _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12645         157 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
   12646         157 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
   12647         157 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
   12648         157 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.system_name, &size_system_name_1));
   12649         157 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.system_name, &length_system_name_1));
   12650         157 :                         if (length_system_name_1 > size_system_name_1) {
   12651           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
   12652             :                         }
   12653         157 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
   12654         157 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
   12655         157 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
   12656             :                 }
   12657         157 :                 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version));
   12658         157 :                 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
   12659         157 :                 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
   12660         157 :                 NDR_ZERO_STRUCTP(r->out.connect_handle);
   12661             :         }
   12662         331 :         if (flags & NDR_OUT) {
   12663             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12664             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12665         174 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12666           0 :                         NDR_PULL_ALLOC(ndr, r->out.connect_handle);
   12667             :                 }
   12668         174 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12669         174 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
   12670         174 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
   12671         174 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
   12672         174 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12673             :         }
   12674         331 :         return NDR_ERR_SUCCESS;
   12675             : }
   12676             : 
   12677           0 : _PUBLIC_ void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r)
   12678             : {
   12679           0 :         ndr_print_struct(ndr, name, "samr_Connect4");
   12680           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12681           0 :         ndr->depth++;
   12682           0 :         if (flags & NDR_SET_VALUES) {
   12683           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12684             :         }
   12685           0 :         if (flags & NDR_IN) {
   12686           0 :                 ndr_print_struct(ndr, "in", "samr_Connect4");
   12687           0 :                 ndr->depth++;
   12688           0 :                 ndr_print_ptr(ndr, "system_name", r->in.system_name);
   12689           0 :                 ndr->depth++;
   12690           0 :                 if (r->in.system_name) {
   12691           0 :                         ndr_print_string(ndr, "system_name", r->in.system_name);
   12692             :                 }
   12693           0 :                 ndr->depth--;
   12694           0 :                 ndr_print_samr_ConnectVersion(ndr, "client_version", r->in.client_version);
   12695           0 :                 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
   12696           0 :                 ndr->depth--;
   12697             :         }
   12698           0 :         if (flags & NDR_OUT) {
   12699           0 :                 ndr_print_struct(ndr, "out", "samr_Connect4");
   12700           0 :                 ndr->depth++;
   12701           0 :                 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
   12702           0 :                 ndr->depth++;
   12703           0 :                 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
   12704           0 :                 ndr->depth--;
   12705           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12706           0 :                 ndr->depth--;
   12707             :         }
   12708           0 :         ndr->depth--;
   12709             : }
   12710             : 
   12711        1122 : _PUBLIC_ enum ndr_err_code ndr_push_samr_ChangePasswordUser3(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser3 *r)
   12712             : {
   12713        1122 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12714        1122 :         if (flags & NDR_IN) {
   12715         554 :                 if (r->in.account == NULL) {
   12716           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12717             :                 }
   12718         554 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
   12719         554 :                 if (r->in.server) {
   12720         554 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
   12721             :                 }
   12722         554 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
   12723         554 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
   12724         554 :                 if (r->in.nt_password) {
   12725         554 :                         NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
   12726             :                 }
   12727         554 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
   12728         554 :                 if (r->in.nt_verifier) {
   12729         554 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
   12730             :                 }
   12731         554 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
   12732         554 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
   12733         554 :                 if (r->in.lm_password) {
   12734         550 :                         NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
   12735             :                 }
   12736         554 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
   12737         554 :                 if (r->in.lm_verifier) {
   12738         550 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
   12739             :                 }
   12740         554 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password3));
   12741         554 :                 if (r->in.password3) {
   12742           0 :                         NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
   12743             :                 }
   12744             :         }
   12745        1122 :         if (flags & NDR_OUT) {
   12746         568 :                 if (r->out.dominfo == NULL) {
   12747           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12748             :                 }
   12749         568 :                 if (r->out.reject == NULL) {
   12750           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12751             :                 }
   12752         568 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
   12753         568 :                 if (*r->out.dominfo) {
   12754          69 :                         NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
   12755             :                 }
   12756         568 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.reject));
   12757         568 :                 if (*r->out.reject) {
   12758         368 :                         NDR_CHECK(ndr_push_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject));
   12759             :                 }
   12760         568 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12761             :         }
   12762        1122 :         return NDR_ERR_SUCCESS;
   12763             : }
   12764             : 
   12765        1126 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_ChangePasswordUser3(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser3 *r)
   12766             : {
   12767             :         uint32_t _ptr_server;
   12768             :         uint32_t _ptr_nt_password;
   12769             :         uint32_t _ptr_nt_verifier;
   12770             :         uint32_t _ptr_lm_password;
   12771             :         uint32_t _ptr_lm_verifier;
   12772             :         uint32_t _ptr_password3;
   12773             :         uint32_t _ptr_dominfo;
   12774             :         uint32_t _ptr_reject;
   12775        1126 :         TALLOC_CTX *_mem_save_server_0 = NULL;
   12776        1126 :         TALLOC_CTX *_mem_save_account_0 = NULL;
   12777        1126 :         TALLOC_CTX *_mem_save_nt_password_0 = NULL;
   12778        1126 :         TALLOC_CTX *_mem_save_nt_verifier_0 = NULL;
   12779        1126 :         TALLOC_CTX *_mem_save_lm_password_0 = NULL;
   12780        1126 :         TALLOC_CTX *_mem_save_lm_verifier_0 = NULL;
   12781        1126 :         TALLOC_CTX *_mem_save_password3_0 = NULL;
   12782        1126 :         TALLOC_CTX *_mem_save_dominfo_0 = NULL;
   12783        1126 :         TALLOC_CTX *_mem_save_dominfo_1 = NULL;
   12784        1126 :         TALLOC_CTX *_mem_save_reject_0 = NULL;
   12785        1126 :         TALLOC_CTX *_mem_save_reject_1 = NULL;
   12786        1126 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12787        1126 :         if (flags & NDR_IN) {
   12788         570 :                 NDR_ZERO_STRUCT(r->out);
   12789             : 
   12790         570 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
   12791         570 :                 if (_ptr_server) {
   12792         570 :                         NDR_PULL_ALLOC(ndr, r->in.server);
   12793             :                 } else {
   12794           0 :                         r->in.server = NULL;
   12795             :                 }
   12796         570 :                 if (r->in.server) {
   12797         570 :                         _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12798         570 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
   12799         570 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
   12800         570 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
   12801             :                 }
   12802         570 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12803         570 :                         NDR_PULL_ALLOC(ndr, r->in.account);
   12804             :                 }
   12805         570 :                 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12806         570 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
   12807         570 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
   12808         570 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
   12809         570 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
   12810         570 :                 if (_ptr_nt_password) {
   12811         570 :                         NDR_PULL_ALLOC(ndr, r->in.nt_password);
   12812             :                 } else {
   12813           0 :                         r->in.nt_password = NULL;
   12814             :                 }
   12815         570 :                 if (r->in.nt_password) {
   12816         570 :                         _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12817         570 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
   12818         570 :                         NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
   12819         570 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
   12820             :                 }
   12821         570 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
   12822         570 :                 if (_ptr_nt_verifier) {
   12823         570 :                         NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
   12824             :                 } else {
   12825           0 :                         r->in.nt_verifier = NULL;
   12826             :                 }
   12827         570 :                 if (r->in.nt_verifier) {
   12828         570 :                         _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12829         570 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
   12830         570 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
   12831         570 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
   12832             :                 }
   12833         570 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
   12834         570 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
   12835         570 :                 if (_ptr_lm_password) {
   12836         566 :                         NDR_PULL_ALLOC(ndr, r->in.lm_password);
   12837             :                 } else {
   12838           4 :                         r->in.lm_password = NULL;
   12839             :                 }
   12840         570 :                 if (r->in.lm_password) {
   12841         566 :                         _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12842         566 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
   12843         566 :                         NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
   12844         566 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
   12845             :                 }
   12846         570 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
   12847         570 :                 if (_ptr_lm_verifier) {
   12848         566 :                         NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
   12849             :                 } else {
   12850           4 :                         r->in.lm_verifier = NULL;
   12851             :                 }
   12852         570 :                 if (r->in.lm_verifier) {
   12853         566 :                         _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12854         566 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
   12855         566 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
   12856         566 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
   12857             :                 }
   12858         570 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password3));
   12859         570 :                 if (_ptr_password3) {
   12860           0 :                         NDR_PULL_ALLOC(ndr, r->in.password3);
   12861             :                 } else {
   12862         570 :                         r->in.password3 = NULL;
   12863             :                 }
   12864         570 :                 if (r->in.password3) {
   12865           0 :                         _mem_save_password3_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12866           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.password3, 0);
   12867           0 :                         NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
   12868           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password3_0, 0);
   12869             :                 }
   12870         570 :                 NDR_PULL_ALLOC(ndr, r->out.dominfo);
   12871         570 :                 NDR_ZERO_STRUCTP(r->out.dominfo);
   12872         570 :                 NDR_PULL_ALLOC(ndr, r->out.reject);
   12873         570 :                 NDR_ZERO_STRUCTP(r->out.reject);
   12874             :         }
   12875        1126 :         if (flags & NDR_OUT) {
   12876             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12877             :                 if (r->in.account == NULL) {
   12878             :                         NDR_PULL_ALLOC(ndr, r->in.account);
   12879             :                         NDR_ZERO_STRUCTP(r->in.account);
   12880             :                 }
   12881             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12882         556 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12883           2 :                         NDR_PULL_ALLOC(ndr, r->out.dominfo);
   12884             :                 }
   12885         556 :                 _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12886         556 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
   12887         556 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
   12888         556 :                 if (_ptr_dominfo) {
   12889          71 :                         NDR_PULL_ALLOC(ndr, *r->out.dominfo);
   12890             :                 } else {
   12891         485 :                         *r->out.dominfo = NULL;
   12892             :                 }
   12893         556 :                 if (*r->out.dominfo) {
   12894          71 :                         _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
   12895          71 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
   12896          71 :                         NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
   12897          71 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
   12898             :                 }
   12899         556 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
   12900         556 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12901           2 :                         NDR_PULL_ALLOC(ndr, r->out.reject);
   12902             :                 }
   12903         556 :                 _mem_save_reject_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12904         556 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.reject, LIBNDR_FLAG_REF_ALLOC);
   12905         556 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_reject));
   12906         556 :                 if (_ptr_reject) {
   12907         370 :                         NDR_PULL_ALLOC(ndr, *r->out.reject);
   12908             :                 } else {
   12909         186 :                         *r->out.reject = NULL;
   12910             :                 }
   12911         556 :                 if (*r->out.reject) {
   12912         370 :                         _mem_save_reject_1 = NDR_PULL_GET_MEM_CTX(ndr);
   12913         370 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.reject, 0);
   12914         370 :                         NDR_CHECK(ndr_pull_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject));
   12915         370 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_1, 0);
   12916             :                 }
   12917         556 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_0, LIBNDR_FLAG_REF_ALLOC);
   12918         556 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12919             :         }
   12920        1122 :         return NDR_ERR_SUCCESS;
   12921             : }
   12922             : 
   12923           4 : _PUBLIC_ void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r)
   12924             : {
   12925           4 :         ndr_print_struct(ndr, name, "samr_ChangePasswordUser3");
   12926           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12927           4 :         ndr->depth++;
   12928           4 :         if (flags & NDR_SET_VALUES) {
   12929           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12930             :         }
   12931           4 :         if (flags & NDR_IN) {
   12932           2 :                 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser3");
   12933           2 :                 ndr->depth++;
   12934           2 :                 ndr_print_ptr(ndr, "server", r->in.server);
   12935           2 :                 ndr->depth++;
   12936           2 :                 if (r->in.server) {
   12937           2 :                         ndr_print_lsa_String(ndr, "server", r->in.server);
   12938             :                 }
   12939           2 :                 ndr->depth--;
   12940           2 :                 ndr_print_ptr(ndr, "account", r->in.account);
   12941           2 :                 ndr->depth++;
   12942           2 :                 ndr_print_lsa_String(ndr, "account", r->in.account);
   12943           2 :                 ndr->depth--;
   12944           2 :                 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
   12945           2 :                 ndr->depth++;
   12946           2 :                 if (r->in.nt_password) {
   12947           2 :                         ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
   12948             :                 }
   12949           2 :                 ndr->depth--;
   12950           2 :                 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
   12951           2 :                 ndr->depth++;
   12952           2 :                 if (r->in.nt_verifier) {
   12953           2 :                         ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
   12954             :                 }
   12955           2 :                 ndr->depth--;
   12956           2 :                 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
   12957           2 :                 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
   12958           2 :                 ndr->depth++;
   12959           2 :                 if (r->in.lm_password) {
   12960           2 :                         ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
   12961             :                 }
   12962           2 :                 ndr->depth--;
   12963           2 :                 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
   12964           2 :                 ndr->depth++;
   12965           2 :                 if (r->in.lm_verifier) {
   12966           2 :                         ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
   12967             :                 }
   12968           2 :                 ndr->depth--;
   12969           2 :                 ndr_print_ptr(ndr, "password3", r->in.password3);
   12970           2 :                 ndr->depth++;
   12971           2 :                 if (r->in.password3) {
   12972           0 :                         ndr_print_samr_CryptPassword(ndr, "password3", r->in.password3);
   12973             :                 }
   12974           2 :                 ndr->depth--;
   12975           2 :                 ndr->depth--;
   12976             :         }
   12977           4 :         if (flags & NDR_OUT) {
   12978           2 :                 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser3");
   12979           2 :                 ndr->depth++;
   12980           2 :                 ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
   12981           2 :                 ndr->depth++;
   12982           2 :                 ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
   12983           2 :                 ndr->depth++;
   12984           2 :                 if (*r->out.dominfo) {
   12985           2 :                         ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
   12986             :                 }
   12987           2 :                 ndr->depth--;
   12988           2 :                 ndr->depth--;
   12989           2 :                 ndr_print_ptr(ndr, "reject", r->out.reject);
   12990           2 :                 ndr->depth++;
   12991           2 :                 ndr_print_ptr(ndr, "reject", *r->out.reject);
   12992           2 :                 ndr->depth++;
   12993           2 :                 if (*r->out.reject) {
   12994           2 :                         ndr_print_userPwdChangeFailureInformation(ndr, "reject", *r->out.reject);
   12995             :                 }
   12996           2 :                 ndr->depth--;
   12997           2 :                 ndr->depth--;
   12998           2 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12999           2 :                 ndr->depth--;
   13000             :         }
   13001           4 :         ndr->depth--;
   13002             : }
   13003             : 
   13004         544 : _PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r)
   13005             : {
   13006         544 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13007         544 :         if (flags & NDR_IN) {
   13008         281 :                 if (r->in.info_in == NULL) {
   13009           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13010             :                 }
   13011         281 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
   13012         281 :                 if (r->in.system_name) {
   13013         280 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
   13014         280 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13015         280 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
   13016         280 :                         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));
   13017             :                 }
   13018         281 :                 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
   13019         281 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level_in));
   13020         281 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info_in, r->in.level_in));
   13021         281 :                 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
   13022             :         }
   13023         544 :         if (flags & NDR_OUT) {
   13024         263 :                 if (r->out.level_out == NULL) {
   13025           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13026             :                 }
   13027         263 :                 if (r->out.info_out == NULL) {
   13028           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13029             :                 }
   13030         263 :                 if (r->out.connect_handle == NULL) {
   13031           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13032             :                 }
   13033         263 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
   13034         263 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
   13035         263 :                 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
   13036         263 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
   13037         263 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   13038             :         }
   13039         544 :         return NDR_ERR_SUCCESS;
   13040             : }
   13041             : 
   13042         545 : _PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r)
   13043             : {
   13044             :         uint32_t _ptr_system_name;
   13045         545 :         uint32_t size_system_name_1 = 0;
   13046         545 :         uint32_t length_system_name_1 = 0;
   13047         545 :         TALLOC_CTX *_mem_save_system_name_0 = NULL;
   13048         545 :         TALLOC_CTX *_mem_save_info_in_0 = NULL;
   13049         545 :         TALLOC_CTX *_mem_save_level_out_0 = NULL;
   13050         545 :         TALLOC_CTX *_mem_save_info_out_0 = NULL;
   13051         545 :         TALLOC_CTX *_mem_save_connect_handle_0 = NULL;
   13052         545 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13053         545 :         if (flags & NDR_IN) {
   13054         262 :                 NDR_ZERO_STRUCT(r->out);
   13055             : 
   13056         262 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
   13057         262 :                 if (_ptr_system_name) {
   13058         261 :                         NDR_PULL_ALLOC(ndr, r->in.system_name);
   13059             :                 } else {
   13060           1 :                         r->in.system_name = NULL;
   13061             :                 }
   13062         262 :                 if (r->in.system_name) {
   13063         261 :                         _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13064         261 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
   13065         261 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
   13066         261 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
   13067         261 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.system_name, &size_system_name_1));
   13068         261 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.system_name, &length_system_name_1));
   13069         261 :                         if (length_system_name_1 > size_system_name_1) {
   13070           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
   13071             :                         }
   13072         261 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
   13073         261 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
   13074         261 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
   13075             :                 }
   13076         264 :                 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
   13077         262 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level_in));
   13078         262 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13079         262 :                         NDR_PULL_ALLOC(ndr, r->in.info_in);
   13080             :                 }
   13081         262 :                 _mem_save_info_in_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13082         262 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.info_in, LIBNDR_FLAG_REF_ALLOC);
   13083         262 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info_in, r->in.level_in));
   13084         262 :                 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
   13085         262 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_in_0, LIBNDR_FLAG_REF_ALLOC);
   13086         262 :                 NDR_PULL_ALLOC(ndr, r->out.level_out);
   13087         262 :                 NDR_ZERO_STRUCTP(r->out.level_out);
   13088         262 :                 NDR_PULL_ALLOC(ndr, r->out.info_out);
   13089         262 :                 NDR_ZERO_STRUCTP(r->out.info_out);
   13090         262 :                 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
   13091         262 :                 NDR_ZERO_STRUCTP(r->out.connect_handle);
   13092             :         }
   13093         545 :         if (flags & NDR_OUT) {
   13094             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13095             :                 if (r->in.info_in == NULL) {
   13096             :                         NDR_PULL_ALLOC(ndr, r->in.info_in);
   13097             :                         NDR_ZERO_STRUCTP(r->in.info_in);
   13098             :                 }
   13099             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13100         283 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13101          88 :                         NDR_PULL_ALLOC(ndr, r->out.level_out);
   13102             :                 }
   13103         283 :                 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13104         283 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
   13105         283 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
   13106         283 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
   13107         283 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13108          88 :                         NDR_PULL_ALLOC(ndr, r->out.info_out);
   13109             :                 }
   13110         283 :                 _mem_save_info_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13111         283 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_out, LIBNDR_FLAG_REF_ALLOC);
   13112         283 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
   13113         283 :                 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
   13114         283 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_out_0, LIBNDR_FLAG_REF_ALLOC);
   13115         283 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13116          88 :                         NDR_PULL_ALLOC(ndr, r->out.connect_handle);
   13117             :                 }
   13118         283 :                 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13119         283 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
   13120         283 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
   13121         283 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
   13122         283 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   13123             :         }
   13124         541 :         return NDR_ERR_SUCCESS;
   13125             : }
   13126             : 
   13127          10 : _PUBLIC_ void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r)
   13128             : {
   13129          10 :         ndr_print_struct(ndr, name, "samr_Connect5");
   13130          10 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13131          10 :         ndr->depth++;
   13132          10 :         if (flags & NDR_SET_VALUES) {
   13133           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13134             :         }
   13135          10 :         if (flags & NDR_IN) {
   13136           2 :                 ndr_print_struct(ndr, "in", "samr_Connect5");
   13137           2 :                 ndr->depth++;
   13138           2 :                 ndr_print_ptr(ndr, "system_name", r->in.system_name);
   13139           2 :                 ndr->depth++;
   13140           2 :                 if (r->in.system_name) {
   13141           2 :                         ndr_print_string(ndr, "system_name", r->in.system_name);
   13142             :                 }
   13143           2 :                 ndr->depth--;
   13144           2 :                 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
   13145           2 :                 ndr_print_uint32(ndr, "level_in", r->in.level_in);
   13146           2 :                 ndr_print_ptr(ndr, "info_in", r->in.info_in);
   13147           2 :                 ndr->depth++;
   13148           2 :                 ndr_print_set_switch_value(ndr, r->in.info_in, r->in.level_in);
   13149           2 :                 ndr_print_samr_ConnectInfo(ndr, "info_in", r->in.info_in);
   13150           2 :                 ndr->depth--;
   13151           2 :                 ndr->depth--;
   13152             :         }
   13153          10 :         if (flags & NDR_OUT) {
   13154           8 :                 ndr_print_struct(ndr, "out", "samr_Connect5");
   13155           8 :                 ndr->depth++;
   13156           8 :                 ndr_print_ptr(ndr, "level_out", r->out.level_out);
   13157           8 :                 ndr->depth++;
   13158           8 :                 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
   13159           8 :                 ndr->depth--;
   13160           8 :                 ndr_print_ptr(ndr, "info_out", r->out.info_out);
   13161           8 :                 ndr->depth++;
   13162           8 :                 ndr_print_set_switch_value(ndr, r->out.info_out, *r->out.level_out);
   13163           8 :                 ndr_print_samr_ConnectInfo(ndr, "info_out", r->out.info_out);
   13164           8 :                 ndr->depth--;
   13165           8 :                 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
   13166           8 :                 ndr->depth++;
   13167           8 :                 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
   13168           8 :                 ndr->depth--;
   13169           8 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   13170           8 :                 ndr->depth--;
   13171             :         }
   13172          10 :         ndr->depth--;
   13173             : }
   13174             : 
   13175         104 : static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags, const struct samr_RidToSid *r)
   13176             : {
   13177         104 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13178         104 :         if (flags & NDR_IN) {
   13179          56 :                 if (r->in.domain_handle == NULL) {
   13180           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13181             :                 }
   13182          56 :                 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   13183          56 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
   13184             :         }
   13185         104 :         if (flags & NDR_OUT) {
   13186          48 :                 if (r->out.sid == NULL) {
   13187           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13188             :                 }
   13189          48 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
   13190          48 :                 if (*r->out.sid) {
   13191          48 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
   13192             :                 }
   13193          48 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   13194             :         }
   13195         104 :         return NDR_ERR_SUCCESS;
   13196             : }
   13197             : 
   13198         104 : static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r)
   13199             : {
   13200             :         uint32_t _ptr_sid;
   13201         104 :         TALLOC_CTX *_mem_save_domain_handle_0 = NULL;
   13202         104 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
   13203         104 :         TALLOC_CTX *_mem_save_sid_1 = NULL;
   13204         104 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13205         104 :         if (flags & NDR_IN) {
   13206          48 :                 NDR_ZERO_STRUCT(r->out);
   13207             : 
   13208          48 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13209          48 :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   13210             :                 }
   13211          48 :                 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13212          48 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
   13213          48 :                 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
   13214          48 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
   13215          48 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
   13216          48 :                 NDR_PULL_ALLOC(ndr, r->out.sid);
   13217          48 :                 NDR_ZERO_STRUCTP(r->out.sid);
   13218             :         }
   13219         104 :         if (flags & NDR_OUT) {
   13220             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13221             :                 if (r->in.domain_handle == NULL) {
   13222             :                         NDR_PULL_ALLOC(ndr, r->in.domain_handle);
   13223             :                         NDR_ZERO_STRUCTP(r->in.domain_handle);
   13224             :                 }
   13225             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13226          56 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13227           0 :                         NDR_PULL_ALLOC(ndr, r->out.sid);
   13228             :                 }
   13229          56 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13230          56 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
   13231          56 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
   13232          56 :                 if (_ptr_sid) {
   13233          56 :                         NDR_PULL_ALLOC(ndr, *r->out.sid);
   13234             :                 } else {
   13235           0 :                         *r->out.sid = NULL;
   13236             :                 }
   13237          56 :                 if (*r->out.sid) {
   13238          56 :                         _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
   13239          56 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
   13240          56 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
   13241          56 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
   13242             :                 }
   13243          56 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
   13244          56 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   13245             :         }
   13246         104 :         return NDR_ERR_SUCCESS;
   13247             : }
   13248             : 
   13249           0 : _PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r)
   13250             : {
   13251           0 :         ndr_print_struct(ndr, name, "samr_RidToSid");
   13252           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13253           0 :         ndr->depth++;
   13254           0 :         if (flags & NDR_SET_VALUES) {
   13255           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13256             :         }
   13257           0 :         if (flags & NDR_IN) {
   13258           0 :                 ndr_print_struct(ndr, "in", "samr_RidToSid");
   13259           0 :                 ndr->depth++;
   13260           0 :                 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
   13261           0 :                 ndr->depth++;
   13262           0 :                 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
   13263           0 :                 ndr->depth--;
   13264           0 :                 ndr_print_uint32(ndr, "rid", r->in.rid);
   13265           0 :                 ndr->depth--;
   13266             :         }
   13267           0 :         if (flags & NDR_OUT) {
   13268           0 :                 ndr_print_struct(ndr, "out", "samr_RidToSid");
   13269           0 :                 ndr->depth++;
   13270           0 :                 ndr_print_ptr(ndr, "sid", r->out.sid);
   13271           0 :                 ndr->depth++;
   13272           0 :                 ndr_print_ptr(ndr, "sid", *r->out.sid);
   13273           0 :                 ndr->depth++;
   13274           0 :                 if (*r->out.sid) {
   13275           0 :                         ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
   13276             :                 }
   13277           0 :                 ndr->depth--;
   13278           0 :                 ndr->depth--;
   13279           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   13280           0 :                 ndr->depth--;
   13281             :         }
   13282           0 :         ndr->depth--;
   13283             : }
   13284             : 
   13285           0 : static enum ndr_err_code ndr_push_samr_SetDsrmPassword(struct ndr_push *ndr, int flags, const struct samr_SetDsrmPassword *r)
   13286             : {
   13287           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13288           0 :         if (flags & NDR_IN) {
   13289           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name));
   13290           0 :                 if (r->in.name) {
   13291           0 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
   13292             :                 }
   13293           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
   13294           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
   13295           0 :                 if (r->in.hash) {
   13296           0 :                         NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
   13297             :                 }
   13298             :         }
   13299           0 :         if (flags & NDR_OUT) {
   13300           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   13301             :         }
   13302           0 :         return NDR_ERR_SUCCESS;
   13303             : }
   13304             : 
   13305           0 : static enum ndr_err_code ndr_pull_samr_SetDsrmPassword(struct ndr_pull *ndr, int flags, struct samr_SetDsrmPassword *r)
   13306             : {
   13307             :         uint32_t _ptr_name;
   13308             :         uint32_t _ptr_hash;
   13309           0 :         TALLOC_CTX *_mem_save_name_0 = NULL;
   13310           0 :         TALLOC_CTX *_mem_save_hash_0 = NULL;
   13311           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13312           0 :         if (flags & NDR_IN) {
   13313           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
   13314           0 :                 if (_ptr_name) {
   13315           0 :                         NDR_PULL_ALLOC(ndr, r->in.name);
   13316             :                 } else {
   13317           0 :                         r->in.name = NULL;
   13318             :                 }
   13319           0 :                 if (r->in.name) {
   13320           0 :                         _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13321           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0);
   13322           0 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
   13323           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
   13324             :                 }
   13325           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
   13326           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
   13327           0 :                 if (_ptr_hash) {
   13328           0 :                         NDR_PULL_ALLOC(ndr, r->in.hash);
   13329             :                 } else {
   13330           0 :                         r->in.hash = NULL;
   13331             :                 }
   13332           0 :                 if (r->in.hash) {
   13333           0 :                         _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13334           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
   13335           0 :                         NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
   13336           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
   13337             :                 }
   13338             :         }
   13339           0 :         if (flags & NDR_OUT) {
   13340             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13341             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13342           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   13343             :         }
   13344           0 :         return NDR_ERR_SUCCESS;
   13345             : }
   13346             : 
   13347           0 : _PUBLIC_ void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r)
   13348             : {
   13349           0 :         ndr_print_struct(ndr, name, "samr_SetDsrmPassword");
   13350           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13351           0 :         ndr->depth++;
   13352           0 :         if (flags & NDR_SET_VALUES) {
   13353           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13354             :         }
   13355           0 :         if (flags & NDR_IN) {
   13356           0 :                 ndr_print_struct(ndr, "in", "samr_SetDsrmPassword");
   13357           0 :                 ndr->depth++;
   13358           0 :                 ndr_print_ptr(ndr, "name", r->in.name);
   13359           0 :                 ndr->depth++;
   13360           0 :                 if (r->in.name) {
   13361           0 :                         ndr_print_lsa_String(ndr, "name", r->in.name);
   13362             :                 }
   13363           0 :                 ndr->depth--;
   13364           0 :                 ndr_print_uint32(ndr, "unknown", r->in.unknown);
   13365           0 :                 ndr_print_ptr(ndr, "hash", r->in.hash);
   13366           0 :                 ndr->depth++;
   13367           0 :                 if (r->in.hash) {
   13368           0 :                         ndr_print_samr_Password(ndr, "hash", r->in.hash);
   13369             :                 }
   13370           0 :                 ndr->depth--;
   13371           0 :                 ndr->depth--;
   13372             :         }
   13373           0 :         if (flags & NDR_OUT) {
   13374           0 :                 ndr_print_struct(ndr, "out", "samr_SetDsrmPassword");
   13375           0 :                 ndr->depth++;
   13376           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   13377           0 :                 ndr->depth--;
   13378             :         }
   13379           0 :         ndr->depth--;
   13380             : }
   13381             : 
   13382          27 : static enum ndr_err_code ndr_push_samr_ValidatePassword(struct ndr_push *ndr, int flags, const struct samr_ValidatePassword *r)
   13383             : {
   13384          27 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13385          27 :         if (flags & NDR_IN) {
   13386          18 :                 if (r->in.req == NULL) {
   13387           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13388             :                 }
   13389          18 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, r->in.level));
   13390          18 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
   13391          18 :                 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   13392             :         }
   13393          27 :         if (flags & NDR_OUT) {
   13394           9 :                 if (r->out.rep == NULL) {
   13395           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13396             :                 }
   13397           9 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rep));
   13398           9 :                 if (*r->out.rep) {
   13399           9 :                         NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.rep, r->in.level));
   13400           9 :                         NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
   13401             :                 }
   13402           9 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   13403             :         }
   13404          27 :         return NDR_ERR_SUCCESS;
   13405             : }
   13406             : 
   13407          27 : static enum ndr_err_code ndr_pull_samr_ValidatePassword(struct ndr_pull *ndr, int flags, struct samr_ValidatePassword *r)
   13408             : {
   13409             :         uint32_t _ptr_rep;
   13410          27 :         TALLOC_CTX *_mem_save_req_0 = NULL;
   13411          27 :         TALLOC_CTX *_mem_save_rep_0 = NULL;
   13412          27 :         TALLOC_CTX *_mem_save_rep_1 = NULL;
   13413          27 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13414          27 :         if (flags & NDR_IN) {
   13415          12 :                 NDR_ZERO_STRUCT(r->out);
   13416             : 
   13417          12 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, &r->in.level));
   13418          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13419          12 :                         NDR_PULL_ALLOC(ndr, r->in.req);
   13420             :                 }
   13421          12 :                 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13422          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
   13423          12 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
   13424          12 :                 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
   13425          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
   13426          12 :                 NDR_PULL_ALLOC(ndr, r->out.rep);
   13427          12 :                 NDR_ZERO_STRUCTP(r->out.rep);
   13428             :         }
   13429          27 :         if (flags & NDR_OUT) {
   13430             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13431             :                 if (r->in.req == NULL) {
   13432             :                         NDR_PULL_ALLOC(ndr, r->in.req);
   13433             :                         NDR_ZERO_STRUCTP(r->in.req);
   13434             :                 }
   13435             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13436          15 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13437           0 :                         NDR_PULL_ALLOC(ndr, r->out.rep);
   13438             :                 }
   13439          15 :                 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13440          15 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
   13441          15 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rep));
   13442          15 :                 if (_ptr_rep) {
   13443          15 :                         NDR_PULL_ALLOC(ndr, *r->out.rep);
   13444             :                 } else {
   13445           0 :                         *r->out.rep = NULL;
   13446             :                 }
   13447          15 :                 if (*r->out.rep) {
   13448          15 :                         _mem_save_rep_1 = NDR_PULL_GET_MEM_CTX(ndr);
   13449          15 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.rep, 0);
   13450          15 :                         NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.rep, r->in.level));
   13451          15 :                         NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
   13452          15 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_1, 0);
   13453             :                 }
   13454          15 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
   13455          15 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   13456             :         }
   13457          27 :         return NDR_ERR_SUCCESS;
   13458             : }
   13459             : 
   13460           0 : _PUBLIC_ void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r)
   13461             : {
   13462           0 :         ndr_print_struct(ndr, name, "samr_ValidatePassword");
   13463           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13464           0 :         ndr->depth++;
   13465           0 :         if (flags & NDR_SET_VALUES) {
   13466           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13467             :         }
   13468           0 :         if (flags & NDR_IN) {
   13469           0 :                 ndr_print_struct(ndr, "in", "samr_ValidatePassword");
   13470           0 :                 ndr->depth++;
   13471           0 :                 ndr_print_samr_ValidatePasswordLevel(ndr, "level", r->in.level);
   13472           0 :                 ndr_print_ptr(ndr, "req", r->in.req);
   13473           0 :                 ndr->depth++;
   13474           0 :                 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
   13475           0 :                 ndr_print_samr_ValidatePasswordReq(ndr, "req", r->in.req);
   13476           0 :                 ndr->depth--;
   13477           0 :                 ndr->depth--;
   13478             :         }
   13479           0 :         if (flags & NDR_OUT) {
   13480           0 :                 ndr_print_struct(ndr, "out", "samr_ValidatePassword");
   13481           0 :                 ndr->depth++;
   13482           0 :                 ndr_print_ptr(ndr, "rep", r->out.rep);
   13483           0 :                 ndr->depth++;
   13484           0 :                 ndr_print_ptr(ndr, "rep", *r->out.rep);
   13485           0 :                 ndr->depth++;
   13486           0 :                 if (*r->out.rep) {
   13487           0 :                         ndr_print_set_switch_value(ndr, *r->out.rep, r->in.level);
   13488           0 :                         ndr_print_samr_ValidatePasswordRep(ndr, "rep", *r->out.rep);
   13489             :                 }
   13490           0 :                 ndr->depth--;
   13491           0 :                 ndr->depth--;
   13492           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   13493           0 :                 ndr->depth--;
   13494             :         }
   13495           0 :         ndr->depth--;
   13496             : }
   13497             : 
   13498             : #ifndef SKIP_NDR_TABLE_samr
   13499             : static const struct ndr_interface_public_struct samr_public_structs[] = {
   13500             :         {
   13501             :                 .name = "samr_LogonHours",
   13502             :                 .struct_size = sizeof(struct samr_LogonHours ),
   13503             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_LogonHours,
   13504             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_LogonHours,
   13505             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_LogonHours,
   13506             :         },
   13507             :         {
   13508             :                 .name = "samr_Password",
   13509             :                 .struct_size = sizeof(struct samr_Password ),
   13510             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_Password,
   13511             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_Password,
   13512             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_Password,
   13513             :         },
   13514             :         {
   13515             :                 .name = "samr_CryptPassword",
   13516             :                 .struct_size = sizeof(struct samr_CryptPassword ),
   13517             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_CryptPassword,
   13518             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_CryptPassword,
   13519             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_CryptPassword,
   13520             :         },
   13521             :         {
   13522             :                 .name = "samr_RidWithAttribute",
   13523             :                 .struct_size = sizeof(struct samr_RidWithAttribute ),
   13524             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_RidWithAttribute,
   13525             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_RidWithAttribute,
   13526             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_RidWithAttribute,
   13527             :         },
   13528             :         {
   13529             :                 .name = "samr_RidWithAttributeArray",
   13530             :                 .struct_size = sizeof(struct samr_RidWithAttributeArray ),
   13531             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_samr_RidWithAttributeArray,
   13532             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_samr_RidWithAttributeArray,
   13533             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_samr_RidWithAttributeArray,
   13534             :         },
   13535             :         { .name = NULL }
   13536             : };
   13537             : 
   13538             : static const struct ndr_interface_call samr_calls[] = {
   13539             :         {
   13540             :                 "samr_Connect",
   13541             :                 sizeof(struct samr_Connect),
   13542             :                 (ndr_push_flags_fn_t) ndr_push_samr_Connect,
   13543             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect,
   13544             :                 (ndr_print_function_t) ndr_print_samr_Connect,
   13545             :                 { 0, NULL },
   13546             :                 { 0, NULL },
   13547             :         },
   13548             :         {
   13549             :                 "samr_Close",
   13550             :                 sizeof(struct samr_Close),
   13551             :                 (ndr_push_flags_fn_t) ndr_push_samr_Close,
   13552             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_Close,
   13553             :                 (ndr_print_function_t) ndr_print_samr_Close,
   13554             :                 { 0, NULL },
   13555             :                 { 0, NULL },
   13556             :         },
   13557             :         {
   13558             :                 "samr_SetSecurity",
   13559             :                 sizeof(struct samr_SetSecurity),
   13560             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetSecurity,
   13561             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetSecurity,
   13562             :                 (ndr_print_function_t) ndr_print_samr_SetSecurity,
   13563             :                 { 0, NULL },
   13564             :                 { 0, NULL },
   13565             :         },
   13566             :         {
   13567             :                 "samr_QuerySecurity",
   13568             :                 sizeof(struct samr_QuerySecurity),
   13569             :                 (ndr_push_flags_fn_t) ndr_push_samr_QuerySecurity,
   13570             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QuerySecurity,
   13571             :                 (ndr_print_function_t) ndr_print_samr_QuerySecurity,
   13572             :                 { 0, NULL },
   13573             :                 { 0, NULL },
   13574             :         },
   13575             :         {
   13576             :                 "samr_Shutdown",
   13577             :                 sizeof(struct samr_Shutdown),
   13578             :                 (ndr_push_flags_fn_t) ndr_push_samr_Shutdown,
   13579             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_Shutdown,
   13580             :                 (ndr_print_function_t) ndr_print_samr_Shutdown,
   13581             :                 { 0, NULL },
   13582             :                 { 0, NULL },
   13583             :         },
   13584             :         {
   13585             :                 "samr_LookupDomain",
   13586             :                 sizeof(struct samr_LookupDomain),
   13587             :                 (ndr_push_flags_fn_t) ndr_push_samr_LookupDomain,
   13588             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupDomain,
   13589             :                 (ndr_print_function_t) ndr_print_samr_LookupDomain,
   13590             :                 { 0, NULL },
   13591             :                 { 0, NULL },
   13592             :         },
   13593             :         {
   13594             :                 "samr_EnumDomains",
   13595             :                 sizeof(struct samr_EnumDomains),
   13596             :                 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomains,
   13597             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomains,
   13598             :                 (ndr_print_function_t) ndr_print_samr_EnumDomains,
   13599             :                 { 0, NULL },
   13600             :                 { 0, NULL },
   13601             :         },
   13602             :         {
   13603             :                 "samr_OpenDomain",
   13604             :                 sizeof(struct samr_OpenDomain),
   13605             :                 (ndr_push_flags_fn_t) ndr_push_samr_OpenDomain,
   13606             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenDomain,
   13607             :                 (ndr_print_function_t) ndr_print_samr_OpenDomain,
   13608             :                 { 0, NULL },
   13609             :                 { 0, NULL },
   13610             :         },
   13611             :         {
   13612             :                 "samr_QueryDomainInfo",
   13613             :                 sizeof(struct samr_QueryDomainInfo),
   13614             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo,
   13615             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo,
   13616             :                 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo,
   13617             :                 { 0, NULL },
   13618             :                 { 0, NULL },
   13619             :         },
   13620             :         {
   13621             :                 "samr_SetDomainInfo",
   13622             :                 sizeof(struct samr_SetDomainInfo),
   13623             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetDomainInfo,
   13624             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDomainInfo,
   13625             :                 (ndr_print_function_t) ndr_print_samr_SetDomainInfo,
   13626             :                 { 0, NULL },
   13627             :                 { 0, NULL },
   13628             :         },
   13629             :         {
   13630             :                 "samr_CreateDomainGroup",
   13631             :                 sizeof(struct samr_CreateDomainGroup),
   13632             :                 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomainGroup,
   13633             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomainGroup,
   13634             :                 (ndr_print_function_t) ndr_print_samr_CreateDomainGroup,
   13635             :                 { 0, NULL },
   13636             :                 { 0, NULL },
   13637             :         },
   13638             :         {
   13639             :                 "samr_EnumDomainGroups",
   13640             :                 sizeof(struct samr_EnumDomainGroups),
   13641             :                 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainGroups,
   13642             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainGroups,
   13643             :                 (ndr_print_function_t) ndr_print_samr_EnumDomainGroups,
   13644             :                 { 0, NULL },
   13645             :                 { 0, NULL },
   13646             :         },
   13647             :         {
   13648             :                 "samr_CreateUser",
   13649             :                 sizeof(struct samr_CreateUser),
   13650             :                 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser,
   13651             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser,
   13652             :                 (ndr_print_function_t) ndr_print_samr_CreateUser,
   13653             :                 { 0, NULL },
   13654             :                 { 0, NULL },
   13655             :         },
   13656             :         {
   13657             :                 "samr_EnumDomainUsers",
   13658             :                 sizeof(struct samr_EnumDomainUsers),
   13659             :                 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainUsers,
   13660             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainUsers,
   13661             :                 (ndr_print_function_t) ndr_print_samr_EnumDomainUsers,
   13662             :                 { 0, NULL },
   13663             :                 { 0, NULL },
   13664             :         },
   13665             :         {
   13666             :                 "samr_CreateDomAlias",
   13667             :                 sizeof(struct samr_CreateDomAlias),
   13668             :                 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomAlias,
   13669             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomAlias,
   13670             :                 (ndr_print_function_t) ndr_print_samr_CreateDomAlias,
   13671             :                 { 0, NULL },
   13672             :                 { 0, NULL },
   13673             :         },
   13674             :         {
   13675             :                 "samr_EnumDomainAliases",
   13676             :                 sizeof(struct samr_EnumDomainAliases),
   13677             :                 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainAliases,
   13678             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainAliases,
   13679             :                 (ndr_print_function_t) ndr_print_samr_EnumDomainAliases,
   13680             :                 { 0, NULL },
   13681             :                 { 0, NULL },
   13682             :         },
   13683             :         {
   13684             :                 "samr_GetAliasMembership",
   13685             :                 sizeof(struct samr_GetAliasMembership),
   13686             :                 (ndr_push_flags_fn_t) ndr_push_samr_GetAliasMembership,
   13687             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_GetAliasMembership,
   13688             :                 (ndr_print_function_t) ndr_print_samr_GetAliasMembership,
   13689             :                 { 0, NULL },
   13690             :                 { 0, NULL },
   13691             :         },
   13692             :         {
   13693             :                 "samr_LookupNames",
   13694             :                 sizeof(struct samr_LookupNames),
   13695             :                 (ndr_push_flags_fn_t) ndr_push_samr_LookupNames,
   13696             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupNames,
   13697             :                 (ndr_print_function_t) ndr_print_samr_LookupNames,
   13698             :                 { 0, NULL },
   13699             :                 { 0, NULL },
   13700             :         },
   13701             :         {
   13702             :                 "samr_LookupRids",
   13703             :                 sizeof(struct samr_LookupRids),
   13704             :                 (ndr_push_flags_fn_t) ndr_push_samr_LookupRids,
   13705             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupRids,
   13706             :                 (ndr_print_function_t) ndr_print_samr_LookupRids,
   13707             :                 { 0, NULL },
   13708             :                 { 0, NULL },
   13709             :         },
   13710             :         {
   13711             :                 "samr_OpenGroup",
   13712             :                 sizeof(struct samr_OpenGroup),
   13713             :                 (ndr_push_flags_fn_t) ndr_push_samr_OpenGroup,
   13714             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenGroup,
   13715             :                 (ndr_print_function_t) ndr_print_samr_OpenGroup,
   13716             :                 { 0, NULL },
   13717             :                 { 0, NULL },
   13718             :         },
   13719             :         {
   13720             :                 "samr_QueryGroupInfo",
   13721             :                 sizeof(struct samr_QueryGroupInfo),
   13722             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupInfo,
   13723             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupInfo,
   13724             :                 (ndr_print_function_t) ndr_print_samr_QueryGroupInfo,
   13725             :                 { 0, NULL },
   13726             :                 { 0, NULL },
   13727             :         },
   13728             :         {
   13729             :                 "samr_SetGroupInfo",
   13730             :                 sizeof(struct samr_SetGroupInfo),
   13731             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetGroupInfo,
   13732             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetGroupInfo,
   13733             :                 (ndr_print_function_t) ndr_print_samr_SetGroupInfo,
   13734             :                 { 0, NULL },
   13735             :                 { 0, NULL },
   13736             :         },
   13737             :         {
   13738             :                 "samr_AddGroupMember",
   13739             :                 sizeof(struct samr_AddGroupMember),
   13740             :                 (ndr_push_flags_fn_t) ndr_push_samr_AddGroupMember,
   13741             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_AddGroupMember,
   13742             :                 (ndr_print_function_t) ndr_print_samr_AddGroupMember,
   13743             :                 { 0, NULL },
   13744             :                 { 0, NULL },
   13745             :         },
   13746             :         {
   13747             :                 "samr_DeleteDomainGroup",
   13748             :                 sizeof(struct samr_DeleteDomainGroup),
   13749             :                 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomainGroup,
   13750             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomainGroup,
   13751             :                 (ndr_print_function_t) ndr_print_samr_DeleteDomainGroup,
   13752             :                 { 0, NULL },
   13753             :                 { 0, NULL },
   13754             :         },
   13755             :         {
   13756             :                 "samr_DeleteGroupMember",
   13757             :                 sizeof(struct samr_DeleteGroupMember),
   13758             :                 (ndr_push_flags_fn_t) ndr_push_samr_DeleteGroupMember,
   13759             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteGroupMember,
   13760             :                 (ndr_print_function_t) ndr_print_samr_DeleteGroupMember,
   13761             :                 { 0, NULL },
   13762             :                 { 0, NULL },
   13763             :         },
   13764             :         {
   13765             :                 "samr_QueryGroupMember",
   13766             :                 sizeof(struct samr_QueryGroupMember),
   13767             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupMember,
   13768             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupMember,
   13769             :                 (ndr_print_function_t) ndr_print_samr_QueryGroupMember,
   13770             :                 { 0, NULL },
   13771             :                 { 0, NULL },
   13772             :         },
   13773             :         {
   13774             :                 "samr_SetMemberAttributesOfGroup",
   13775             :                 sizeof(struct samr_SetMemberAttributesOfGroup),
   13776             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetMemberAttributesOfGroup,
   13777             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetMemberAttributesOfGroup,
   13778             :                 (ndr_print_function_t) ndr_print_samr_SetMemberAttributesOfGroup,
   13779             :                 { 0, NULL },
   13780             :                 { 0, NULL },
   13781             :         },
   13782             :         {
   13783             :                 "samr_OpenAlias",
   13784             :                 sizeof(struct samr_OpenAlias),
   13785             :                 (ndr_push_flags_fn_t) ndr_push_samr_OpenAlias,
   13786             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenAlias,
   13787             :                 (ndr_print_function_t) ndr_print_samr_OpenAlias,
   13788             :                 { 0, NULL },
   13789             :                 { 0, NULL },
   13790             :         },
   13791             :         {
   13792             :                 "samr_QueryAliasInfo",
   13793             :                 sizeof(struct samr_QueryAliasInfo),
   13794             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryAliasInfo,
   13795             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryAliasInfo,
   13796             :                 (ndr_print_function_t) ndr_print_samr_QueryAliasInfo,
   13797             :                 { 0, NULL },
   13798             :                 { 0, NULL },
   13799             :         },
   13800             :         {
   13801             :                 "samr_SetAliasInfo",
   13802             :                 sizeof(struct samr_SetAliasInfo),
   13803             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetAliasInfo,
   13804             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetAliasInfo,
   13805             :                 (ndr_print_function_t) ndr_print_samr_SetAliasInfo,
   13806             :                 { 0, NULL },
   13807             :                 { 0, NULL },
   13808             :         },
   13809             :         {
   13810             :                 "samr_DeleteDomAlias",
   13811             :                 sizeof(struct samr_DeleteDomAlias),
   13812             :                 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomAlias,
   13813             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomAlias,
   13814             :                 (ndr_print_function_t) ndr_print_samr_DeleteDomAlias,
   13815             :                 { 0, NULL },
   13816             :                 { 0, NULL },
   13817             :         },
   13818             :         {
   13819             :                 "samr_AddAliasMember",
   13820             :                 sizeof(struct samr_AddAliasMember),
   13821             :                 (ndr_push_flags_fn_t) ndr_push_samr_AddAliasMember,
   13822             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_AddAliasMember,
   13823             :                 (ndr_print_function_t) ndr_print_samr_AddAliasMember,
   13824             :                 { 0, NULL },
   13825             :                 { 0, NULL },
   13826             :         },
   13827             :         {
   13828             :                 "samr_DeleteAliasMember",
   13829             :                 sizeof(struct samr_DeleteAliasMember),
   13830             :                 (ndr_push_flags_fn_t) ndr_push_samr_DeleteAliasMember,
   13831             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteAliasMember,
   13832             :                 (ndr_print_function_t) ndr_print_samr_DeleteAliasMember,
   13833             :                 { 0, NULL },
   13834             :                 { 0, NULL },
   13835             :         },
   13836             :         {
   13837             :                 "samr_GetMembersInAlias",
   13838             :                 sizeof(struct samr_GetMembersInAlias),
   13839             :                 (ndr_push_flags_fn_t) ndr_push_samr_GetMembersInAlias,
   13840             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_GetMembersInAlias,
   13841             :                 (ndr_print_function_t) ndr_print_samr_GetMembersInAlias,
   13842             :                 { 0, NULL },
   13843             :                 { 0, NULL },
   13844             :         },
   13845             :         {
   13846             :                 "samr_OpenUser",
   13847             :                 sizeof(struct samr_OpenUser),
   13848             :                 (ndr_push_flags_fn_t) ndr_push_samr_OpenUser,
   13849             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenUser,
   13850             :                 (ndr_print_function_t) ndr_print_samr_OpenUser,
   13851             :                 { 0, NULL },
   13852             :                 { 0, NULL },
   13853             :         },
   13854             :         {
   13855             :                 "samr_DeleteUser",
   13856             :                 sizeof(struct samr_DeleteUser),
   13857             :                 (ndr_push_flags_fn_t) ndr_push_samr_DeleteUser,
   13858             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteUser,
   13859             :                 (ndr_print_function_t) ndr_print_samr_DeleteUser,
   13860             :                 { 0, NULL },
   13861             :                 { 0, NULL },
   13862             :         },
   13863             :         {
   13864             :                 "samr_QueryUserInfo",
   13865             :                 sizeof(struct samr_QueryUserInfo),
   13866             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo,
   13867             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo,
   13868             :                 (ndr_print_function_t) ndr_print_samr_QueryUserInfo,
   13869             :                 { 0, NULL },
   13870             :                 { 0, NULL },
   13871             :         },
   13872             :         {
   13873             :                 "samr_SetUserInfo",
   13874             :                 sizeof(struct samr_SetUserInfo),
   13875             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo,
   13876             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo,
   13877             :                 (ndr_print_function_t) ndr_print_samr_SetUserInfo,
   13878             :                 { 0, NULL },
   13879             :                 { 0, NULL },
   13880             :         },
   13881             :         {
   13882             :                 "samr_ChangePasswordUser",
   13883             :                 sizeof(struct samr_ChangePasswordUser),
   13884             :                 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser,
   13885             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser,
   13886             :                 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser,
   13887             :                 { 0, NULL },
   13888             :                 { 0, NULL },
   13889             :         },
   13890             :         {
   13891             :                 "samr_GetGroupsForUser",
   13892             :                 sizeof(struct samr_GetGroupsForUser),
   13893             :                 (ndr_push_flags_fn_t) ndr_push_samr_GetGroupsForUser,
   13894             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_GetGroupsForUser,
   13895             :                 (ndr_print_function_t) ndr_print_samr_GetGroupsForUser,
   13896             :                 { 0, NULL },
   13897             :                 { 0, NULL },
   13898             :         },
   13899             :         {
   13900             :                 "samr_QueryDisplayInfo",
   13901             :                 sizeof(struct samr_QueryDisplayInfo),
   13902             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo,
   13903             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo,
   13904             :                 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo,
   13905             :                 { 0, NULL },
   13906             :                 { 0, NULL },
   13907             :         },
   13908             :         {
   13909             :                 "samr_GetDisplayEnumerationIndex",
   13910             :                 sizeof(struct samr_GetDisplayEnumerationIndex),
   13911             :                 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex,
   13912             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex,
   13913             :                 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex,
   13914             :                 { 0, NULL },
   13915             :                 { 0, NULL },
   13916             :         },
   13917             :         {
   13918             :                 "samr_TestPrivateFunctionsDomain",
   13919             :                 sizeof(struct samr_TestPrivateFunctionsDomain),
   13920             :                 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsDomain,
   13921             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsDomain,
   13922             :                 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsDomain,
   13923             :                 { 0, NULL },
   13924             :                 { 0, NULL },
   13925             :         },
   13926             :         {
   13927             :                 "samr_TestPrivateFunctionsUser",
   13928             :                 sizeof(struct samr_TestPrivateFunctionsUser),
   13929             :                 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsUser,
   13930             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsUser,
   13931             :                 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsUser,
   13932             :                 { 0, NULL },
   13933             :                 { 0, NULL },
   13934             :         },
   13935             :         {
   13936             :                 "samr_GetUserPwInfo",
   13937             :                 sizeof(struct samr_GetUserPwInfo),
   13938             :                 (ndr_push_flags_fn_t) ndr_push_samr_GetUserPwInfo,
   13939             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_GetUserPwInfo,
   13940             :                 (ndr_print_function_t) ndr_print_samr_GetUserPwInfo,
   13941             :                 { 0, NULL },
   13942             :                 { 0, NULL },
   13943             :         },
   13944             :         {
   13945             :                 "samr_RemoveMemberFromForeignDomain",
   13946             :                 sizeof(struct samr_RemoveMemberFromForeignDomain),
   13947             :                 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMemberFromForeignDomain,
   13948             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMemberFromForeignDomain,
   13949             :                 (ndr_print_function_t) ndr_print_samr_RemoveMemberFromForeignDomain,
   13950             :                 { 0, NULL },
   13951             :                 { 0, NULL },
   13952             :         },
   13953             :         {
   13954             :                 "samr_QueryDomainInfo2",
   13955             :                 sizeof(struct samr_QueryDomainInfo2),
   13956             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo2,
   13957             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo2,
   13958             :                 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo2,
   13959             :                 { 0, NULL },
   13960             :                 { 0, NULL },
   13961             :         },
   13962             :         {
   13963             :                 "samr_QueryUserInfo2",
   13964             :                 sizeof(struct samr_QueryUserInfo2),
   13965             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo2,
   13966             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo2,
   13967             :                 (ndr_print_function_t) ndr_print_samr_QueryUserInfo2,
   13968             :                 { 0, NULL },
   13969             :                 { 0, NULL },
   13970             :         },
   13971             :         {
   13972             :                 "samr_QueryDisplayInfo2",
   13973             :                 sizeof(struct samr_QueryDisplayInfo2),
   13974             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo2,
   13975             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo2,
   13976             :                 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo2,
   13977             :                 { 0, NULL },
   13978             :                 { 0, NULL },
   13979             :         },
   13980             :         {
   13981             :                 "samr_GetDisplayEnumerationIndex2",
   13982             :                 sizeof(struct samr_GetDisplayEnumerationIndex2),
   13983             :                 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex2,
   13984             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex2,
   13985             :                 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex2,
   13986             :                 { 0, NULL },
   13987             :                 { 0, NULL },
   13988             :         },
   13989             :         {
   13990             :                 "samr_CreateUser2",
   13991             :                 sizeof(struct samr_CreateUser2),
   13992             :                 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser2,
   13993             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser2,
   13994             :                 (ndr_print_function_t) ndr_print_samr_CreateUser2,
   13995             :                 { 0, NULL },
   13996             :                 { 0, NULL },
   13997             :         },
   13998             :         {
   13999             :                 "samr_QueryDisplayInfo3",
   14000             :                 sizeof(struct samr_QueryDisplayInfo3),
   14001             :                 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo3,
   14002             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo3,
   14003             :                 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo3,
   14004             :                 { 0, NULL },
   14005             :                 { 0, NULL },
   14006             :         },
   14007             :         {
   14008             :                 "samr_AddMultipleMembersToAlias",
   14009             :                 sizeof(struct samr_AddMultipleMembersToAlias),
   14010             :                 (ndr_push_flags_fn_t) ndr_push_samr_AddMultipleMembersToAlias,
   14011             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_AddMultipleMembersToAlias,
   14012             :                 (ndr_print_function_t) ndr_print_samr_AddMultipleMembersToAlias,
   14013             :                 { 0, NULL },
   14014             :                 { 0, NULL },
   14015             :         },
   14016             :         {
   14017             :                 "samr_RemoveMultipleMembersFromAlias",
   14018             :                 sizeof(struct samr_RemoveMultipleMembersFromAlias),
   14019             :                 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMultipleMembersFromAlias,
   14020             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMultipleMembersFromAlias,
   14021             :                 (ndr_print_function_t) ndr_print_samr_RemoveMultipleMembersFromAlias,
   14022             :                 { 0, NULL },
   14023             :                 { 0, NULL },
   14024             :         },
   14025             :         {
   14026             :                 "samr_OemChangePasswordUser2",
   14027             :                 sizeof(struct samr_OemChangePasswordUser2),
   14028             :                 (ndr_push_flags_fn_t) ndr_push_samr_OemChangePasswordUser2,
   14029             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_OemChangePasswordUser2,
   14030             :                 (ndr_print_function_t) ndr_print_samr_OemChangePasswordUser2,
   14031             :                 { 0, NULL },
   14032             :                 { 0, NULL },
   14033             :         },
   14034             :         {
   14035             :                 "samr_ChangePasswordUser2",
   14036             :                 sizeof(struct samr_ChangePasswordUser2),
   14037             :                 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser2,
   14038             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser2,
   14039             :                 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser2,
   14040             :                 { 0, NULL },
   14041             :                 { 0, NULL },
   14042             :         },
   14043             :         {
   14044             :                 "samr_GetDomPwInfo",
   14045             :                 sizeof(struct samr_GetDomPwInfo),
   14046             :                 (ndr_push_flags_fn_t) ndr_push_samr_GetDomPwInfo,
   14047             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDomPwInfo,
   14048             :                 (ndr_print_function_t) ndr_print_samr_GetDomPwInfo,
   14049             :                 { 0, NULL },
   14050             :                 { 0, NULL },
   14051             :         },
   14052             :         {
   14053             :                 "samr_Connect2",
   14054             :                 sizeof(struct samr_Connect2),
   14055             :                 (ndr_push_flags_fn_t) ndr_push_samr_Connect2,
   14056             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect2,
   14057             :                 (ndr_print_function_t) ndr_print_samr_Connect2,
   14058             :                 { 0, NULL },
   14059             :                 { 0, NULL },
   14060             :         },
   14061             :         {
   14062             :                 "samr_SetUserInfo2",
   14063             :                 sizeof(struct samr_SetUserInfo2),
   14064             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo2,
   14065             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo2,
   14066             :                 (ndr_print_function_t) ndr_print_samr_SetUserInfo2,
   14067             :                 { 0, NULL },
   14068             :                 { 0, NULL },
   14069             :         },
   14070             :         {
   14071             :                 "samr_SetBootKeyInformation",
   14072             :                 sizeof(struct samr_SetBootKeyInformation),
   14073             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetBootKeyInformation,
   14074             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetBootKeyInformation,
   14075             :                 (ndr_print_function_t) ndr_print_samr_SetBootKeyInformation,
   14076             :                 { 0, NULL },
   14077             :                 { 0, NULL },
   14078             :         },
   14079             :         {
   14080             :                 "samr_GetBootKeyInformation",
   14081             :                 sizeof(struct samr_GetBootKeyInformation),
   14082             :                 (ndr_push_flags_fn_t) ndr_push_samr_GetBootKeyInformation,
   14083             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_GetBootKeyInformation,
   14084             :                 (ndr_print_function_t) ndr_print_samr_GetBootKeyInformation,
   14085             :                 { 0, NULL },
   14086             :                 { 0, NULL },
   14087             :         },
   14088             :         {
   14089             :                 "samr_Connect3",
   14090             :                 sizeof(struct samr_Connect3),
   14091             :                 (ndr_push_flags_fn_t) ndr_push_samr_Connect3,
   14092             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect3,
   14093             :                 (ndr_print_function_t) ndr_print_samr_Connect3,
   14094             :                 { 0, NULL },
   14095             :                 { 0, NULL },
   14096             :         },
   14097             :         {
   14098             :                 "samr_Connect4",
   14099             :                 sizeof(struct samr_Connect4),
   14100             :                 (ndr_push_flags_fn_t) ndr_push_samr_Connect4,
   14101             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect4,
   14102             :                 (ndr_print_function_t) ndr_print_samr_Connect4,
   14103             :                 { 0, NULL },
   14104             :                 { 0, NULL },
   14105             :         },
   14106             :         {
   14107             :                 "samr_ChangePasswordUser3",
   14108             :                 sizeof(struct samr_ChangePasswordUser3),
   14109             :                 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser3,
   14110             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser3,
   14111             :                 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser3,
   14112             :                 { 0, NULL },
   14113             :                 { 0, NULL },
   14114             :         },
   14115             :         {
   14116             :                 "samr_Connect5",
   14117             :                 sizeof(struct samr_Connect5),
   14118             :                 (ndr_push_flags_fn_t) ndr_push_samr_Connect5,
   14119             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect5,
   14120             :                 (ndr_print_function_t) ndr_print_samr_Connect5,
   14121             :                 { 0, NULL },
   14122             :                 { 0, NULL },
   14123             :         },
   14124             :         {
   14125             :                 "samr_RidToSid",
   14126             :                 sizeof(struct samr_RidToSid),
   14127             :                 (ndr_push_flags_fn_t) ndr_push_samr_RidToSid,
   14128             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_RidToSid,
   14129             :                 (ndr_print_function_t) ndr_print_samr_RidToSid,
   14130             :                 { 0, NULL },
   14131             :                 { 0, NULL },
   14132             :         },
   14133             :         {
   14134             :                 "samr_SetDsrmPassword",
   14135             :                 sizeof(struct samr_SetDsrmPassword),
   14136             :                 (ndr_push_flags_fn_t) ndr_push_samr_SetDsrmPassword,
   14137             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDsrmPassword,
   14138             :                 (ndr_print_function_t) ndr_print_samr_SetDsrmPassword,
   14139             :                 { 0, NULL },
   14140             :                 { 0, NULL },
   14141             :         },
   14142             :         {
   14143             :                 "samr_ValidatePassword",
   14144             :                 sizeof(struct samr_ValidatePassword),
   14145             :                 (ndr_push_flags_fn_t) ndr_push_samr_ValidatePassword,
   14146             :                 (ndr_pull_flags_fn_t) ndr_pull_samr_ValidatePassword,
   14147             :                 (ndr_print_function_t) ndr_print_samr_ValidatePassword,
   14148             :                 { 0, NULL },
   14149             :                 { 0, NULL },
   14150             :         },
   14151             :         { .name = NULL }
   14152             : };
   14153             : 
   14154             : static const char * const samr_endpoint_strings[] = {
   14155             :         "ncacn_np:[\\pipe\\samr]", 
   14156             :         "ncacn_ip_tcp:", 
   14157             :         "ncalrpc:", 
   14158             : };
   14159             : 
   14160             : static const struct ndr_interface_string_array samr_endpoints = {
   14161             :         .count  = 3,
   14162             :         .names  = samr_endpoint_strings
   14163             : };
   14164             : 
   14165             : static const char * const samr_authservice_strings[] = {
   14166             :         "host", 
   14167             : };
   14168             : 
   14169             : static const struct ndr_interface_string_array samr_authservices = {
   14170             :         .count  = 1,
   14171             :         .names  = samr_authservice_strings
   14172             : };
   14173             : 
   14174             : 
   14175             : const struct ndr_interface_table ndr_table_samr = {
   14176             :         .name           = "samr",
   14177             :         .syntax_id      = {
   14178             :                 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
   14179             :                 NDR_SAMR_VERSION
   14180             :         },
   14181             :         .helpstring     = NDR_SAMR_HELPSTRING,
   14182             :         .num_calls      = 68,
   14183             :         .calls          = samr_calls,
   14184             :         .num_public_structs     = 5,
   14185             :         .public_structs         = samr_public_structs,
   14186             :         .endpoints      = &samr_endpoints,
   14187             :         .authservices   = &samr_authservices
   14188             : };
   14189             : 
   14190             : #endif /* SKIP_NDR_TABLE_samr */

Generated by: LCOV version 1.13