LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_winbind.c (source / functions) Hit Total Coverage
Test: coverage report for abartlet/fix-coverage dd10fb34 Lines: 1079 2259 47.8 %
Date: 2021-09-23 10:06:22 Functions: 60 105 57.1 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_winbind.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_lsa.h"
       7             : #include "librpc/gen_ndr/ndr_netlogon.h"
       8             : #include "librpc/gen_ndr/ndr_misc.h"
       9             : #include "librpc/gen_ndr/ndr_security.h"
      10             : #include "librpc/gen_ndr/ndr_idmap.h"
      11        4212 : static enum ndr_err_code ndr_push_wbint_TransID(struct ndr_push *ndr, int ndr_flags, const struct wbint_TransID *r)
      12             : {
      13        4212 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      14        4212 :         if (ndr_flags & NDR_SCALARS) {
      15        4212 :                 NDR_CHECK(ndr_push_align(ndr, 4));
      16        4212 :                 NDR_CHECK(ndr_push_id_type(ndr, NDR_SCALARS, r->type_hint));
      17        4212 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->domain_index));
      18        4212 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
      19        4212 :                 NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->xid));
      20        4212 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
      21             :         }
      22        4206 :         if (ndr_flags & NDR_BUFFERS) {
      23             :         }
      24        4212 :         return NDR_ERR_SUCCESS;
      25             : }
      26             : 
      27        4173 : static enum ndr_err_code ndr_pull_wbint_TransID(struct ndr_pull *ndr, int ndr_flags, struct wbint_TransID *r)
      28             : {
      29        4173 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      30        4173 :         if (ndr_flags & NDR_SCALARS) {
      31        4173 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
      32        4173 :                 NDR_CHECK(ndr_pull_id_type(ndr, NDR_SCALARS, &r->type_hint));
      33        4173 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->domain_index));
      34        4173 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
      35        4173 :                 NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->xid));
      36        4173 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
      37             :         }
      38        4173 :         if (ndr_flags & NDR_BUFFERS) {
      39             :         }
      40        4173 :         return NDR_ERR_SUCCESS;
      41             : }
      42             : 
      43           0 : _PUBLIC_ void ndr_print_wbint_TransID(struct ndr_print *ndr, const char *name, const struct wbint_TransID *r)
      44             : {
      45           0 :         ndr_print_struct(ndr, name, "wbint_TransID");
      46           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
      47           0 :         ndr->depth++;
      48           0 :         ndr_print_id_type(ndr, "type_hint", r->type_hint);
      49           0 :         ndr_print_uint32(ndr, "domain_index", r->domain_index);
      50           0 :         ndr_print_uint32(ndr, "rid", r->rid);
      51           0 :         ndr_print_unixid(ndr, "xid", &r->xid);
      52           0 :         ndr->depth--;
      53             : }
      54             : 
      55        3877 : static enum ndr_err_code ndr_push_wbint_TransIDArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_TransIDArray *r)
      56             : {
      57             :         uint32_t cntr_ids_0;
      58        3877 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      59        3877 :         if (ndr_flags & NDR_SCALARS) {
      60        3877 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_ids));
      61        3877 :                 NDR_CHECK(ndr_push_align(ndr, 4));
      62        3877 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_ids));
      63        8087 :                 for (cntr_ids_0 = 0; cntr_ids_0 < (r->num_ids); cntr_ids_0++) {
      64        4212 :                         NDR_CHECK(ndr_push_wbint_TransID(ndr, NDR_SCALARS, &r->ids[cntr_ids_0]));
      65             :                 }
      66        3877 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
      67             :         }
      68        3875 :         if (ndr_flags & NDR_BUFFERS) {
      69             :         }
      70        3877 :         return NDR_ERR_SUCCESS;
      71             : }
      72             : 
      73        3864 : static enum ndr_err_code ndr_pull_wbint_TransIDArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_TransIDArray *r)
      74             : {
      75        3864 :         uint32_t size_ids_0 = 0;
      76             :         uint32_t cntr_ids_0;
      77        3864 :         TALLOC_CTX *_mem_save_ids_0 = NULL;
      78        3864 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      79        3864 :         if (ndr_flags & NDR_SCALARS) {
      80        3864 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
      81        3864 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
      82        3864 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_ids));
      83        3864 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->ids, &size_ids_0));
      84        3864 :                 NDR_PULL_ALLOC_N(ndr, r->ids, size_ids_0);
      85        3864 :                 _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
      86        3864 :                 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
      87        8037 :                 for (cntr_ids_0 = 0; cntr_ids_0 < (size_ids_0); cntr_ids_0++) {
      88        4173 :                         NDR_CHECK(ndr_pull_wbint_TransID(ndr, NDR_SCALARS, &r->ids[cntr_ids_0]));
      89             :                 }
      90        3864 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
      91        3864 :                 if (r->ids) {
      92        3864 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->ids, r->num_ids));
      93             :                 }
      94        3864 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
      95             :         }
      96        3864 :         if (ndr_flags & NDR_BUFFERS) {
      97             :         }
      98        3864 :         return NDR_ERR_SUCCESS;
      99             : }
     100             : 
     101           0 : _PUBLIC_ void ndr_print_wbint_TransIDArray(struct ndr_print *ndr, const char *name, const struct wbint_TransIDArray *r)
     102             : {
     103             :         uint32_t cntr_ids_0;
     104           0 :         ndr_print_struct(ndr, name, "wbint_TransIDArray");
     105           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     106           0 :         ndr->depth++;
     107           0 :         ndr_print_uint32(ndr, "num_ids", r->num_ids);
     108           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->num_ids);
     109           0 :         ndr->depth++;
     110           0 :         for (cntr_ids_0 = 0; cntr_ids_0 < (r->num_ids); cntr_ids_0++) {
     111           0 :                 ndr_print_wbint_TransID(ndr, "ids", &r->ids[cntr_ids_0]);
     112             :         }
     113           0 :         ndr->depth--;
     114           0 :         ndr->depth--;
     115             : }
     116             : 
     117       47910 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_userinfo(struct ndr_push *ndr, int ndr_flags, const struct wbint_userinfo *r)
     118             : {
     119       47910 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     120       47910 :         if (ndr_flags & NDR_SCALARS) {
     121       47910 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     122       47910 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
     123       47910 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->acct_name));
     124       47910 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->full_name));
     125       47910 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->homedir));
     126       47910 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->shell));
     127       47910 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
     128       47910 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->primary_gid));
     129       47910 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->primary_group_name));
     130       47910 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->user_sid));
     131       47910 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->group_sid));
     132       47910 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     133             :         }
     134       47910 :         if (ndr_flags & NDR_BUFFERS) {
     135       47910 :                 if (r->domain_name) {
     136       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
     137       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     138       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
     139       47910 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     140             :                 }
     141       47910 :                 if (r->acct_name) {
     142       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->acct_name, CH_UTF8)));
     143       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     144       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->acct_name, CH_UTF8)));
     145       47910 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->acct_name, ndr_charset_length(r->acct_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     146             :                 }
     147       47910 :                 if (r->full_name) {
     148       34369 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8)));
     149       34369 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     150       34369 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8)));
     151       34369 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->full_name, ndr_charset_length(r->full_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     152             :                 }
     153       47910 :                 if (r->homedir) {
     154       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
     155       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     156       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
     157       47910 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->homedir, ndr_charset_length(r->homedir, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     158             :                 }
     159       47910 :                 if (r->shell) {
     160       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
     161       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     162       47910 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
     163       47910 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->shell, ndr_charset_length(r->shell, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     164             :                 }
     165       47910 :                 if (r->primary_group_name) {
     166           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->primary_group_name, CH_UTF8)));
     167           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     168           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->primary_group_name, CH_UTF8)));
     169           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->primary_group_name, ndr_charset_length(r->primary_group_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     170             :                 }
     171             :         }
     172       47910 :         return NDR_ERR_SUCCESS;
     173             : }
     174             : 
     175       47910 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_userinfo(struct ndr_pull *ndr, int ndr_flags, struct wbint_userinfo *r)
     176             : {
     177             :         uint32_t _ptr_domain_name;
     178       47910 :         uint32_t size_domain_name_1 = 0;
     179       47910 :         uint32_t length_domain_name_1 = 0;
     180       47910 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
     181             :         uint32_t _ptr_acct_name;
     182       47910 :         uint32_t size_acct_name_1 = 0;
     183       47910 :         uint32_t length_acct_name_1 = 0;
     184       47910 :         TALLOC_CTX *_mem_save_acct_name_0 = NULL;
     185             :         uint32_t _ptr_full_name;
     186       47910 :         uint32_t size_full_name_1 = 0;
     187       47910 :         uint32_t length_full_name_1 = 0;
     188       47910 :         TALLOC_CTX *_mem_save_full_name_0 = NULL;
     189             :         uint32_t _ptr_homedir;
     190       47910 :         uint32_t size_homedir_1 = 0;
     191       47910 :         uint32_t length_homedir_1 = 0;
     192       47910 :         TALLOC_CTX *_mem_save_homedir_0 = NULL;
     193             :         uint32_t _ptr_shell;
     194       47910 :         uint32_t size_shell_1 = 0;
     195       47910 :         uint32_t length_shell_1 = 0;
     196       47910 :         TALLOC_CTX *_mem_save_shell_0 = NULL;
     197             :         uint32_t _ptr_primary_group_name;
     198       47910 :         uint32_t size_primary_group_name_1 = 0;
     199       47910 :         uint32_t length_primary_group_name_1 = 0;
     200       47910 :         TALLOC_CTX *_mem_save_primary_group_name_0 = NULL;
     201       47910 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     202       47910 :         if (ndr_flags & NDR_SCALARS) {
     203       47910 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     204       47910 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
     205       47910 :                 if (_ptr_domain_name) {
     206       47910 :                         NDR_PULL_ALLOC(ndr, r->domain_name);
     207             :                 } else {
     208           0 :                         r->domain_name = NULL;
     209             :                 }
     210       47910 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_acct_name));
     211       47910 :                 if (_ptr_acct_name) {
     212       47910 :                         NDR_PULL_ALLOC(ndr, r->acct_name);
     213             :                 } else {
     214           0 :                         r->acct_name = NULL;
     215             :                 }
     216       47910 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_full_name));
     217       47910 :                 if (_ptr_full_name) {
     218       34371 :                         NDR_PULL_ALLOC(ndr, r->full_name);
     219             :                 } else {
     220       13539 :                         r->full_name = NULL;
     221             :                 }
     222       47910 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_homedir));
     223       47910 :                 if (_ptr_homedir) {
     224       47910 :                         NDR_PULL_ALLOC(ndr, r->homedir);
     225             :                 } else {
     226           0 :                         r->homedir = NULL;
     227             :                 }
     228       47910 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_shell));
     229       47910 :                 if (_ptr_shell) {
     230       47910 :                         NDR_PULL_ALLOC(ndr, r->shell);
     231             :                 } else {
     232           0 :                         r->shell = NULL;
     233             :                 }
     234       47910 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
     235       47910 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->primary_gid));
     236       47910 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_primary_group_name));
     237       47910 :                 if (_ptr_primary_group_name) {
     238           0 :                         NDR_PULL_ALLOC(ndr, r->primary_group_name);
     239             :                 } else {
     240       47910 :                         r->primary_group_name = NULL;
     241             :                 }
     242       47910 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->user_sid));
     243       47910 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->group_sid));
     244       47910 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     245             :         }
     246       47910 :         if (ndr_flags & NDR_BUFFERS) {
     247       47910 :                 if (r->domain_name) {
     248       47910 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     249       47910 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
     250       47910 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
     251       47910 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
     252       47910 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_name, &size_domain_name_1));
     253       47910 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_name, &length_domain_name_1));
     254       47910 :                         if (length_domain_name_1 > size_domain_name_1) {
     255           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
     256             :                         }
     257       47910 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
     258       47910 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
     259       47910 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
     260             :                 }
     261       47910 :                 if (r->acct_name) {
     262       47910 :                         _mem_save_acct_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     263       47910 :                         NDR_PULL_SET_MEM_CTX(ndr, r->acct_name, 0);
     264       47910 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->acct_name));
     265       47910 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->acct_name));
     266       47910 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->acct_name, &size_acct_name_1));
     267       47910 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->acct_name, &length_acct_name_1));
     268       47910 :                         if (length_acct_name_1 > size_acct_name_1) {
     269           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_acct_name_1, length_acct_name_1);
     270             :                         }
     271       47910 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_acct_name_1, sizeof(uint8_t)));
     272       47910 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->acct_name, length_acct_name_1, sizeof(uint8_t), CH_UTF8));
     273       47910 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_acct_name_0, 0);
     274             :                 }
     275       47910 :                 if (r->full_name) {
     276       34371 :                         _mem_save_full_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     277       34371 :                         NDR_PULL_SET_MEM_CTX(ndr, r->full_name, 0);
     278       34371 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->full_name));
     279       34371 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->full_name));
     280       34371 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->full_name, &size_full_name_1));
     281       34371 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->full_name, &length_full_name_1));
     282       34371 :                         if (length_full_name_1 > size_full_name_1) {
     283           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_full_name_1, length_full_name_1);
     284             :                         }
     285       34371 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_full_name_1, sizeof(uint8_t)));
     286       34371 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->full_name, length_full_name_1, sizeof(uint8_t), CH_UTF8));
     287       34371 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_full_name_0, 0);
     288             :                 }
     289       47910 :                 if (r->homedir) {
     290       47910 :                         _mem_save_homedir_0 = NDR_PULL_GET_MEM_CTX(ndr);
     291       47910 :                         NDR_PULL_SET_MEM_CTX(ndr, r->homedir, 0);
     292       47910 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir));
     293       47910 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir));
     294       47910 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->homedir, &size_homedir_1));
     295       47910 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->homedir, &length_homedir_1));
     296       47910 :                         if (length_homedir_1 > size_homedir_1) {
     297           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_homedir_1, length_homedir_1);
     298             :                         }
     299       47910 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_homedir_1, sizeof(uint8_t)));
     300       47910 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, length_homedir_1, sizeof(uint8_t), CH_UTF8));
     301       47910 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_homedir_0, 0);
     302             :                 }
     303       47910 :                 if (r->shell) {
     304       47910 :                         _mem_save_shell_0 = NDR_PULL_GET_MEM_CTX(ndr);
     305       47910 :                         NDR_PULL_SET_MEM_CTX(ndr, r->shell, 0);
     306       47910 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->shell));
     307       47910 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->shell));
     308       47910 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->shell, &size_shell_1));
     309       47910 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->shell, &length_shell_1));
     310       47910 :                         if (length_shell_1 > size_shell_1) {
     311           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_shell_1, length_shell_1);
     312             :                         }
     313       47910 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_shell_1, sizeof(uint8_t)));
     314       47910 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, length_shell_1, sizeof(uint8_t), CH_UTF8));
     315       47910 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_shell_0, 0);
     316             :                 }
     317       47910 :                 if (r->primary_group_name) {
     318           0 :                         _mem_save_primary_group_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     319           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->primary_group_name, 0);
     320           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->primary_group_name));
     321           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->primary_group_name));
     322           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->primary_group_name, &size_primary_group_name_1));
     323           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->primary_group_name, &length_primary_group_name_1));
     324           0 :                         if (length_primary_group_name_1 > size_primary_group_name_1) {
     325           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_primary_group_name_1, length_primary_group_name_1);
     326             :                         }
     327           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_primary_group_name_1, sizeof(uint8_t)));
     328           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->primary_group_name, length_primary_group_name_1, sizeof(uint8_t), CH_UTF8));
     329           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_primary_group_name_0, 0);
     330             :                 }
     331             :         }
     332       47910 :         return NDR_ERR_SUCCESS;
     333             : }
     334             : 
     335           0 : static void ndr_print_flags_wbint_userinfo(struct ndr_print *ndr, const char *name, int unused, const struct wbint_userinfo *r)
     336             : {
     337           0 :         ndr_print_wbint_userinfo(ndr, name, r);
     338           0 : }
     339             : 
     340           0 : _PUBLIC_ void ndr_print_wbint_userinfo(struct ndr_print *ndr, const char *name, const struct wbint_userinfo *r)
     341             : {
     342           0 :         ndr_print_struct(ndr, name, "wbint_userinfo");
     343           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     344           0 :         ndr->depth++;
     345           0 :         ndr_print_ptr(ndr, "domain_name", r->domain_name);
     346           0 :         ndr->depth++;
     347           0 :         if (r->domain_name) {
     348           0 :                 ndr_print_string(ndr, "domain_name", r->domain_name);
     349             :         }
     350           0 :         ndr->depth--;
     351           0 :         ndr_print_ptr(ndr, "acct_name", r->acct_name);
     352           0 :         ndr->depth++;
     353           0 :         if (r->acct_name) {
     354           0 :                 ndr_print_string(ndr, "acct_name", r->acct_name);
     355             :         }
     356           0 :         ndr->depth--;
     357           0 :         ndr_print_ptr(ndr, "full_name", r->full_name);
     358           0 :         ndr->depth++;
     359           0 :         if (r->full_name) {
     360           0 :                 ndr_print_string(ndr, "full_name", r->full_name);
     361             :         }
     362           0 :         ndr->depth--;
     363           0 :         ndr_print_ptr(ndr, "homedir", r->homedir);
     364           0 :         ndr->depth++;
     365           0 :         if (r->homedir) {
     366           0 :                 ndr_print_string(ndr, "homedir", r->homedir);
     367             :         }
     368           0 :         ndr->depth--;
     369           0 :         ndr_print_ptr(ndr, "shell", r->shell);
     370           0 :         ndr->depth++;
     371           0 :         if (r->shell) {
     372           0 :                 ndr_print_string(ndr, "shell", r->shell);
     373             :         }
     374           0 :         ndr->depth--;
     375           0 :         ndr_print_hyper(ndr, "uid", r->uid);
     376           0 :         ndr_print_hyper(ndr, "primary_gid", r->primary_gid);
     377           0 :         ndr_print_ptr(ndr, "primary_group_name", r->primary_group_name);
     378           0 :         ndr->depth++;
     379           0 :         if (r->primary_group_name) {
     380           0 :                 ndr_print_string(ndr, "primary_group_name", r->primary_group_name);
     381             :         }
     382           0 :         ndr->depth--;
     383           0 :         ndr_print_dom_sid(ndr, "user_sid", &r->user_sid);
     384           0 :         ndr_print_dom_sid(ndr, "group_sid", &r->group_sid);
     385           0 :         ndr->depth--;
     386             : }
     387             : 
     388        4495 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_SidArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_SidArray *r)
     389             : {
     390             :         uint32_t cntr_sids_0;
     391        4495 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     392        4495 :         if (ndr_flags & NDR_SCALARS) {
     393        4495 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
     394        4495 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     395        4495 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
     396       13851 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
     397        9356 :                         NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
     398             :                 }
     399        4495 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     400             :         }
     401        4495 :         if (ndr_flags & NDR_BUFFERS) {
     402             :         }
     403        4495 :         return NDR_ERR_SUCCESS;
     404             : }
     405             : 
     406        2395 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_SidArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_SidArray *r)
     407             : {
     408        2395 :         uint32_t size_sids_0 = 0;
     409             :         uint32_t cntr_sids_0;
     410        2395 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
     411        2395 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     412        2395 :         if (ndr_flags & NDR_SCALARS) {
     413        2395 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
     414        2395 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     415        2395 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
     416        2395 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_0));
     417        2395 :                 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_0);
     418        2395 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
     419        2395 :                 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
     420        4830 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
     421        2435 :                         NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
     422             :                 }
     423        2395 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
     424        2395 :                 if (r->sids) {
     425        2395 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->sids, r->num_sids));
     426             :                 }
     427        2395 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     428             :         }
     429        2395 :         if (ndr_flags & NDR_BUFFERS) {
     430             :         }
     431        2395 :         return NDR_ERR_SUCCESS;
     432             : }
     433             : 
     434           0 : static void ndr_print_flags_wbint_SidArray(struct ndr_print *ndr, const char *name, int unused, const struct wbint_SidArray *r)
     435             : {
     436           0 :         ndr_print_wbint_SidArray(ndr, name, r);
     437           0 : }
     438             : 
     439           0 : _PUBLIC_ void ndr_print_wbint_SidArray(struct ndr_print *ndr, const char *name, const struct wbint_SidArray *r)
     440             : {
     441             :         uint32_t cntr_sids_0;
     442           0 :         ndr_print_struct(ndr, name, "wbint_SidArray");
     443           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     444           0 :         ndr->depth++;
     445           0 :         ndr_print_uint32(ndr, "num_sids", r->num_sids);
     446           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
     447           0 :         ndr->depth++;
     448           0 :         for (cntr_sids_0 = 0; cntr_sids_0 < (r->num_sids); cntr_sids_0++) {
     449           0 :                 ndr_print_dom_sid(ndr, "sids", &r->sids[cntr_sids_0]);
     450             :         }
     451           0 :         ndr->depth--;
     452           0 :         ndr->depth--;
     453             : }
     454             : 
     455          80 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_RidArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_RidArray *r)
     456             : {
     457             :         uint32_t cntr_rids_0;
     458          80 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     459          80 :         if (ndr_flags & NDR_SCALARS) {
     460          80 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
     461          80 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     462          80 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
     463        4019 :                 for (cntr_rids_0 = 0; cntr_rids_0 < (r->num_rids); cntr_rids_0++) {
     464        3939 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_0]));
     465             :                 }
     466          80 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     467             :         }
     468          80 :         if (ndr_flags & NDR_BUFFERS) {
     469             :         }
     470          80 :         return NDR_ERR_SUCCESS;
     471             : }
     472             : 
     473        4674 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_RidArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_RidArray *r)
     474             : {
     475        4674 :         uint32_t size_rids_0 = 0;
     476             :         uint32_t cntr_rids_0;
     477        4674 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
     478        4674 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     479        4674 :         if (ndr_flags & NDR_SCALARS) {
     480        4674 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
     481        4674 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     482        4674 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
     483        4674 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_0));
     484        4674 :                 NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_0);
     485        4674 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
     486        4674 :                 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
     487       14355 :                 for (cntr_rids_0 = 0; cntr_rids_0 < (size_rids_0); cntr_rids_0++) {
     488        9681 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_0]));
     489             :                 }
     490        4674 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
     491        4674 :                 if (r->rids) {
     492        4674 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->num_rids));
     493             :                 }
     494        4674 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     495             :         }
     496        4674 :         if (ndr_flags & NDR_BUFFERS) {
     497             :         }
     498        4674 :         return NDR_ERR_SUCCESS;
     499             : }
     500             : 
     501           0 : static void ndr_print_flags_wbint_RidArray(struct ndr_print *ndr, const char *name, int unused, const struct wbint_RidArray *r)
     502             : {
     503           0 :         ndr_print_wbint_RidArray(ndr, name, r);
     504           0 : }
     505             : 
     506           0 : _PUBLIC_ void ndr_print_wbint_RidArray(struct ndr_print *ndr, const char *name, const struct wbint_RidArray *r)
     507             : {
     508             :         uint32_t cntr_rids_0;
     509           0 :         ndr_print_struct(ndr, name, "wbint_RidArray");
     510           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     511           0 :         ndr->depth++;
     512           0 :         ndr_print_uint32(ndr, "num_rids", r->num_rids);
     513           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
     514           0 :         ndr->depth++;
     515           0 :         for (cntr_rids_0 = 0; cntr_rids_0 < (r->num_rids); cntr_rids_0++) {
     516           0 :                 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_0]);
     517             :         }
     518           0 :         ndr->depth--;
     519           0 :         ndr->depth--;
     520             : }
     521             : 
     522      131114 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_Principal(struct ndr_push *ndr, int ndr_flags, const struct wbint_Principal *r)
     523             : {
     524      131114 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     525      131114 :         if (ndr_flags & NDR_SCALARS) {
     526       65558 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     527       65558 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sid));
     528       65558 :                 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->type));
     529       65558 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
     530       65558 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     531             :         }
     532      131114 :         if (ndr_flags & NDR_BUFFERS) {
     533       65558 :                 if (r->name) {
     534       65547 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
     535       65547 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     536       65547 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
     537       65547 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     538             :                 }
     539             :         }
     540           0 :         return NDR_ERR_SUCCESS;
     541             : }
     542             : 
     543      145880 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_Principal(struct ndr_pull *ndr, int ndr_flags, struct wbint_Principal *r)
     544             : {
     545             :         uint32_t _ptr_name;
     546      145880 :         uint32_t size_name_1 = 0;
     547      145880 :         uint32_t length_name_1 = 0;
     548      145880 :         TALLOC_CTX *_mem_save_name_0 = NULL;
     549      145880 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     550      145880 :         if (ndr_flags & NDR_SCALARS) {
     551       72941 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     552       72941 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sid));
     553       72941 :                 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->type));
     554       72941 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
     555       72941 :                 if (_ptr_name) {
     556       72928 :                         NDR_PULL_ALLOC(ndr, r->name);
     557             :                 } else {
     558          13 :                         r->name = NULL;
     559             :                 }
     560       72941 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     561             :         }
     562      145880 :         if (ndr_flags & NDR_BUFFERS) {
     563       72941 :                 if (r->name) {
     564       72928 :                         _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     565       72928 :                         NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
     566       72928 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
     567       72928 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
     568       72928 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->name, &size_name_1));
     569       72928 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->name, &length_name_1));
     570       72928 :                         if (length_name_1 > size_name_1) {
     571           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
     572             :                         }
     573       72928 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint8_t)));
     574       72928 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint8_t), CH_UTF8));
     575       72928 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
     576             :                 }
     577             :         }
     578       14766 :         return NDR_ERR_SUCCESS;
     579             : }
     580             : 
     581           0 : static void ndr_print_flags_wbint_Principal(struct ndr_print *ndr, const char *name, int unused, const struct wbint_Principal *r)
     582             : {
     583           0 :         ndr_print_wbint_Principal(ndr, name, r);
     584           0 : }
     585             : 
     586           0 : _PUBLIC_ void ndr_print_wbint_Principal(struct ndr_print *ndr, const char *name, const struct wbint_Principal *r)
     587             : {
     588           0 :         ndr_print_struct(ndr, name, "wbint_Principal");
     589           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     590           0 :         ndr->depth++;
     591           0 :         ndr_print_dom_sid(ndr, "sid", &r->sid);
     592           0 :         ndr_print_lsa_SidType(ndr, "type", r->type);
     593           0 :         ndr_print_ptr(ndr, "name", r->name);
     594           0 :         ndr->depth++;
     595           0 :         if (r->name) {
     596           0 :                 ndr_print_string(ndr, "name", r->name);
     597             :         }
     598           0 :         ndr->depth--;
     599           0 :         ndr->depth--;
     600             : }
     601             : 
     602           3 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_Principals(struct ndr_push *ndr, int ndr_flags, const struct wbint_Principals *r)
     603             : {
     604             :         uint32_t cntr_principals_0;
     605           3 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     606           3 :         if (ndr_flags & NDR_SCALARS) {
     607           3 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_principals));
     608           3 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     609           3 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_principals));
     610       65556 :                 for (cntr_principals_0 = 0; cntr_principals_0 < (r->num_principals); cntr_principals_0++) {
     611       65556 :                         NDR_CHECK(ndr_push_wbint_Principal(ndr, NDR_SCALARS, &r->principals[cntr_principals_0]));
     612             :                 }
     613           3 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     614             :         }
     615           3 :         if (ndr_flags & NDR_BUFFERS) {
     616       65556 :                 for (cntr_principals_0 = 0; cntr_principals_0 < (r->num_principals); cntr_principals_0++) {
     617       65556 :                         NDR_CHECK(ndr_push_wbint_Principal(ndr, NDR_BUFFERS, &r->principals[cntr_principals_0]));
     618             :                 }
     619             :         }
     620           0 :         return NDR_ERR_SUCCESS;
     621             : }
     622             : 
     623         152 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_Principals(struct ndr_pull *ndr, int ndr_flags, struct wbint_Principals *r)
     624             : {
     625         152 :         uint32_t size_principals_0 = 0;
     626             :         uint32_t cntr_principals_0;
     627         152 :         TALLOC_CTX *_mem_save_principals_0 = NULL;
     628         152 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     629         152 :         if (ndr_flags & NDR_SCALARS) {
     630         152 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->principals));
     631         152 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     632         152 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_principals));
     633         152 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->principals, &size_principals_0));
     634         152 :                 NDR_PULL_ALLOC_N(ndr, r->principals, size_principals_0);
     635         152 :                 _mem_save_principals_0 = NDR_PULL_GET_MEM_CTX(ndr);
     636         152 :                 NDR_PULL_SET_MEM_CTX(ndr, r->principals, 0);
     637       73091 :                 for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
     638       72939 :                         NDR_CHECK(ndr_pull_wbint_Principal(ndr, NDR_SCALARS, &r->principals[cntr_principals_0]));
     639             :                 }
     640         152 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_principals_0, 0);
     641         152 :                 if (r->principals) {
     642         152 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->principals, r->num_principals));
     643             :                 }
     644         152 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     645             :         }
     646         152 :         if (ndr_flags & NDR_BUFFERS) {
     647         152 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->principals, &size_principals_0));
     648         152 :                 _mem_save_principals_0 = NDR_PULL_GET_MEM_CTX(ndr);
     649         152 :                 NDR_PULL_SET_MEM_CTX(ndr, r->principals, 0);
     650       73091 :                 for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
     651       72939 :                         NDR_CHECK(ndr_pull_wbint_Principal(ndr, NDR_BUFFERS, &r->principals[cntr_principals_0]));
     652             :                 }
     653         152 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_principals_0, 0);
     654         312 :                 for (cntr_principals_0 = 0; cntr_principals_0 < (size_principals_0); cntr_principals_0++) {
     655             :                 }
     656             :         }
     657         149 :         return NDR_ERR_SUCCESS;
     658             : }
     659             : 
     660           0 : static void ndr_print_flags_wbint_Principals(struct ndr_print *ndr, const char *name, int unused, const struct wbint_Principals *r)
     661             : {
     662           0 :         ndr_print_wbint_Principals(ndr, name, r);
     663           0 : }
     664             : 
     665           0 : _PUBLIC_ void ndr_print_wbint_Principals(struct ndr_print *ndr, const char *name, const struct wbint_Principals *r)
     666             : {
     667             :         uint32_t cntr_principals_0;
     668           0 :         ndr_print_struct(ndr, name, "wbint_Principals");
     669           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     670           0 :         ndr->depth++;
     671           0 :         ndr_print_uint32(ndr, "num_principals", r->num_principals);
     672           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "principals", (int)r->num_principals);
     673           0 :         ndr->depth++;
     674           0 :         for (cntr_principals_0 = 0; cntr_principals_0 < (r->num_principals); cntr_principals_0++) {
     675           0 :                 ndr_print_wbint_Principal(ndr, "principals", &r->principals[cntr_principals_0]);
     676             :         }
     677           0 :         ndr->depth--;
     678           0 :         ndr->depth--;
     679             : }
     680             : 
     681           0 : _PUBLIC_ enum ndr_err_code ndr_push_wbint_userinfos(struct ndr_push *ndr, int ndr_flags, const struct wbint_userinfos *r)
     682             : {
     683             :         uint32_t cntr_userinfos_0;
     684           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     685           0 :         if (ndr_flags & NDR_SCALARS) {
     686           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_userinfos));
     687           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     688           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_userinfos));
     689           0 :                 for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (r->num_userinfos); cntr_userinfos_0++) {
     690           0 :                         NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_SCALARS, &r->userinfos[cntr_userinfos_0]));
     691             :                 }
     692           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     693             :         }
     694           0 :         if (ndr_flags & NDR_BUFFERS) {
     695           0 :                 for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (r->num_userinfos); cntr_userinfos_0++) {
     696           0 :                         NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_BUFFERS, &r->userinfos[cntr_userinfos_0]));
     697             :                 }
     698             :         }
     699           0 :         return NDR_ERR_SUCCESS;
     700             : }
     701             : 
     702           0 : _PUBLIC_ enum ndr_err_code ndr_pull_wbint_userinfos(struct ndr_pull *ndr, int ndr_flags, struct wbint_userinfos *r)
     703             : {
     704           0 :         uint32_t size_userinfos_0 = 0;
     705             :         uint32_t cntr_userinfos_0;
     706           0 :         TALLOC_CTX *_mem_save_userinfos_0 = NULL;
     707           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     708           0 :         if (ndr_flags & NDR_SCALARS) {
     709           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->userinfos));
     710           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     711           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_userinfos));
     712           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->userinfos, &size_userinfos_0));
     713           0 :                 NDR_PULL_ALLOC_N(ndr, r->userinfos, size_userinfos_0);
     714           0 :                 _mem_save_userinfos_0 = NDR_PULL_GET_MEM_CTX(ndr);
     715           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->userinfos, 0);
     716           0 :                 for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (size_userinfos_0); cntr_userinfos_0++) {
     717           0 :                         NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_SCALARS, &r->userinfos[cntr_userinfos_0]));
     718             :                 }
     719           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userinfos_0, 0);
     720           0 :                 if (r->userinfos) {
     721           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->userinfos, r->num_userinfos));
     722             :                 }
     723           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     724             :         }
     725           0 :         if (ndr_flags & NDR_BUFFERS) {
     726           0 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->userinfos, &size_userinfos_0));
     727           0 :                 _mem_save_userinfos_0 = NDR_PULL_GET_MEM_CTX(ndr);
     728           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->userinfos, 0);
     729           0 :                 for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (size_userinfos_0); cntr_userinfos_0++) {
     730           0 :                         NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_BUFFERS, &r->userinfos[cntr_userinfos_0]));
     731             :                 }
     732           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userinfos_0, 0);
     733           0 :                 for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (size_userinfos_0); cntr_userinfos_0++) {
     734             :                 }
     735             :         }
     736           0 :         return NDR_ERR_SUCCESS;
     737             : }
     738             : 
     739           0 : static void ndr_print_flags_wbint_userinfos(struct ndr_print *ndr, const char *name, int unused, const struct wbint_userinfos *r)
     740             : {
     741           0 :         ndr_print_wbint_userinfos(ndr, name, r);
     742           0 : }
     743             : 
     744           0 : _PUBLIC_ void ndr_print_wbint_userinfos(struct ndr_print *ndr, const char *name, const struct wbint_userinfos *r)
     745             : {
     746             :         uint32_t cntr_userinfos_0;
     747           0 :         ndr_print_struct(ndr, name, "wbint_userinfos");
     748           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     749           0 :         ndr->depth++;
     750           0 :         ndr_print_uint32(ndr, "num_userinfos", r->num_userinfos);
     751           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "userinfos", (int)r->num_userinfos);
     752           0 :         ndr->depth++;
     753           0 :         for (cntr_userinfos_0 = 0; cntr_userinfos_0 < (r->num_userinfos); cntr_userinfos_0++) {
     754           0 :                 ndr_print_wbint_userinfo(ndr, "userinfos", &r->userinfos[cntr_userinfos_0]);
     755             :         }
     756           0 :         ndr->depth--;
     757           0 :         ndr->depth--;
     758             : }
     759             : 
     760           0 : static enum ndr_err_code ndr_push_wbint_Ping(struct ndr_push *ndr, int flags, const struct wbint_Ping *r)
     761             : {
     762           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
     763           0 :         if (flags & NDR_IN) {
     764           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data));
     765             :         }
     766           0 :         if (flags & NDR_OUT) {
     767           0 :                 if (r->out.out_data == NULL) {
     768           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     769             :                 }
     770           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.out_data));
     771             :         }
     772           0 :         return NDR_ERR_SUCCESS;
     773             : }
     774             : 
     775           0 : static enum ndr_err_code ndr_pull_wbint_Ping(struct ndr_pull *ndr, int flags, struct wbint_Ping *r)
     776             : {
     777           0 :         TALLOC_CTX *_mem_save_out_data_0 = NULL;
     778           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     779           0 :         if (flags & NDR_IN) {
     780           0 :                 NDR_ZERO_STRUCT(r->out);
     781             : 
     782           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.in_data));
     783           0 :                 NDR_PULL_ALLOC(ndr, r->out.out_data);
     784           0 :                 NDR_ZERO_STRUCTP(r->out.out_data);
     785             :         }
     786           0 :         if (flags & NDR_OUT) {
     787             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     788             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
     789           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     790           0 :                         NDR_PULL_ALLOC(ndr, r->out.out_data);
     791             :                 }
     792           0 :                 _mem_save_out_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
     793           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.out_data, LIBNDR_FLAG_REF_ALLOC);
     794           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.out_data));
     795           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_out_data_0, LIBNDR_FLAG_REF_ALLOC);
     796             :         }
     797           0 :         return NDR_ERR_SUCCESS;
     798             : }
     799             : 
     800           0 : _PUBLIC_ void ndr_print_wbint_Ping(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Ping *r)
     801             : {
     802           0 :         ndr_print_struct(ndr, name, "wbint_Ping");
     803           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     804           0 :         ndr->depth++;
     805           0 :         if (flags & NDR_SET_VALUES) {
     806           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
     807             :         }
     808           0 :         if (flags & NDR_IN) {
     809           0 :                 ndr_print_struct(ndr, "in", "wbint_Ping");
     810           0 :                 ndr->depth++;
     811           0 :                 ndr_print_uint32(ndr, "in_data", r->in.in_data);
     812           0 :                 ndr->depth--;
     813             :         }
     814           0 :         if (flags & NDR_OUT) {
     815           0 :                 ndr_print_struct(ndr, "out", "wbint_Ping");
     816           0 :                 ndr->depth++;
     817           0 :                 ndr_print_ptr(ndr, "out_data", r->out.out_data);
     818           0 :                 ndr->depth++;
     819           0 :                 ndr_print_uint32(ndr, "out_data", *r->out.out_data);
     820           0 :                 ndr->depth--;
     821           0 :                 ndr->depth--;
     822             :         }
     823           0 :         ndr->depth--;
     824             : }
     825             : 
     826       19596 : static enum ndr_err_code ndr_push_wbint_LookupSid(struct ndr_push *ndr, int flags, const struct wbint_LookupSid *r)
     827             : {
     828       19596 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
     829       19596 :         if (flags & NDR_IN) {
     830       19596 :                 if (r->in.sid == NULL) {
     831           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     832             :                 }
     833       19596 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
     834             :         }
     835       19596 :         if (flags & NDR_OUT) {
     836           0 :                 if (r->out.type == NULL) {
     837           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     838             :                 }
     839           0 :                 if (r->out.domain == NULL) {
     840           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     841             :                 }
     842           0 :                 if (r->out.name == NULL) {
     843           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     844             :                 }
     845           0 :                 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, *r->out.type));
     846           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domain));
     847           0 :                 if (*r->out.domain) {
     848           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain, CH_UTF8)));
     849           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     850           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain, CH_UTF8)));
     851           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.domain, ndr_charset_length(*r->out.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     852             :                 }
     853           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name));
     854           0 :                 if (*r->out.name) {
     855           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8)));
     856           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     857           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8)));
     858           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.name, ndr_charset_length(*r->out.name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     859             :                 }
     860           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
     861             :         }
     862       19596 :         return NDR_ERR_SUCCESS;
     863             : }
     864             : 
     865       19596 : static enum ndr_err_code ndr_pull_wbint_LookupSid(struct ndr_pull *ndr, int flags, struct wbint_LookupSid *r)
     866             : {
     867             :         uint32_t _ptr_domain;
     868       19596 :         uint32_t size_domain_2 = 0;
     869       19596 :         uint32_t length_domain_2 = 0;
     870             :         uint32_t _ptr_name;
     871       19596 :         uint32_t size_name_2 = 0;
     872       19596 :         uint32_t length_name_2 = 0;
     873       19596 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
     874       19596 :         TALLOC_CTX *_mem_save_type_0 = NULL;
     875       19596 :         TALLOC_CTX *_mem_save_domain_0 = NULL;
     876       19596 :         TALLOC_CTX *_mem_save_domain_1 = NULL;
     877       19596 :         TALLOC_CTX *_mem_save_name_0 = NULL;
     878       19596 :         TALLOC_CTX *_mem_save_name_1 = NULL;
     879       19596 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
     880       19596 :         if (flags & NDR_IN) {
     881           0 :                 NDR_ZERO_STRUCT(r->out);
     882             : 
     883           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     884           0 :                         NDR_PULL_ALLOC(ndr, r->in.sid);
     885             :                 }
     886           0 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
     887           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
     888           0 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid));
     889           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
     890           0 :                 NDR_PULL_ALLOC(ndr, r->out.type);
     891           0 :                 NDR_ZERO_STRUCTP(r->out.type);
     892           0 :                 NDR_PULL_ALLOC(ndr, r->out.domain);
     893           0 :                 NDR_ZERO_STRUCTP(r->out.domain);
     894           0 :                 NDR_PULL_ALLOC(ndr, r->out.name);
     895           0 :                 NDR_ZERO_STRUCTP(r->out.name);
     896             :         }
     897       19596 :         if (flags & NDR_OUT) {
     898             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
     899             :                 if (r->in.sid == NULL) {
     900             :                         NDR_PULL_ALLOC(ndr, r->in.sid);
     901             :                         NDR_ZERO_STRUCTP(r->in.sid);
     902             :                 }
     903             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
     904       19596 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     905       19596 :                         NDR_PULL_ALLOC(ndr, r->out.type);
     906             :                 }
     907       19596 :                 _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
     908       19596 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
     909       19596 :                 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, r->out.type));
     910       19596 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
     911       19596 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     912       19596 :                         NDR_PULL_ALLOC(ndr, r->out.domain);
     913             :                 }
     914       19596 :                 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
     915       19596 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain, LIBNDR_FLAG_REF_ALLOC);
     916       19596 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
     917       19596 :                 if (_ptr_domain) {
     918       19584 :                         NDR_PULL_ALLOC(ndr, *r->out.domain);
     919             :                 } else {
     920          12 :                         *r->out.domain = NULL;
     921             :                 }
     922       19596 :                 if (*r->out.domain) {
     923       19584 :                         _mem_save_domain_1 = NDR_PULL_GET_MEM_CTX(ndr);
     924       19584 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.domain, 0);
     925       19584 :                         NDR_CHECK(ndr_pull_array_size(ndr, r->out.domain));
     926       19584 :                         NDR_CHECK(ndr_pull_array_length(ndr, r->out.domain));
     927       19584 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.domain, &size_domain_2));
     928       19584 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.domain, &length_domain_2));
     929       19584 :                         if (length_domain_2 > size_domain_2) {
     930           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_2, length_domain_2);
     931             :                         }
     932       19584 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_2, sizeof(uint8_t)));
     933       19584 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.domain, length_domain_2, sizeof(uint8_t), CH_UTF8));
     934       19584 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_1, 0);
     935             :                 }
     936       19596 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, LIBNDR_FLAG_REF_ALLOC);
     937       19596 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     938       19596 :                         NDR_PULL_ALLOC(ndr, r->out.name);
     939             :                 }
     940       19596 :                 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     941       19596 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
     942       19596 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
     943       19596 :                 if (_ptr_name) {
     944       19584 :                         NDR_PULL_ALLOC(ndr, *r->out.name);
     945             :                 } else {
     946          12 :                         *r->out.name = NULL;
     947             :                 }
     948       19596 :                 if (*r->out.name) {
     949       19584 :                         _mem_save_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
     950       19584 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.name, 0);
     951       19584 :                         NDR_CHECK(ndr_pull_array_size(ndr, r->out.name));
     952       19584 :                         NDR_CHECK(ndr_pull_array_length(ndr, r->out.name));
     953       19584 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.name, &size_name_2));
     954       19584 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.name, &length_name_2));
     955       19584 :                         if (length_name_2 > size_name_2) {
     956           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_2, length_name_2);
     957             :                         }
     958       19584 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_name_2, sizeof(uint8_t)));
     959       19584 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name, length_name_2, sizeof(uint8_t), CH_UTF8));
     960       19584 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_1, 0);
     961             :                 }
     962       19596 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
     963       19596 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
     964             :         }
     965       19596 :         return NDR_ERR_SUCCESS;
     966             : }
     967             : 
     968           0 : _PUBLIC_ void ndr_print_wbint_LookupSid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupSid *r)
     969             : {
     970           0 :         ndr_print_struct(ndr, name, "wbint_LookupSid");
     971           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     972           0 :         ndr->depth++;
     973           0 :         if (flags & NDR_SET_VALUES) {
     974           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
     975             :         }
     976           0 :         if (flags & NDR_IN) {
     977           0 :                 ndr_print_struct(ndr, "in", "wbint_LookupSid");
     978           0 :                 ndr->depth++;
     979           0 :                 ndr_print_ptr(ndr, "sid", r->in.sid);
     980           0 :                 ndr->depth++;
     981           0 :                 ndr_print_dom_sid(ndr, "sid", r->in.sid);
     982           0 :                 ndr->depth--;
     983           0 :                 ndr->depth--;
     984             :         }
     985           0 :         if (flags & NDR_OUT) {
     986           0 :                 ndr_print_struct(ndr, "out", "wbint_LookupSid");
     987           0 :                 ndr->depth++;
     988           0 :                 ndr_print_ptr(ndr, "type", r->out.type);
     989           0 :                 ndr->depth++;
     990           0 :                 ndr_print_lsa_SidType(ndr, "type", *r->out.type);
     991           0 :                 ndr->depth--;
     992           0 :                 ndr_print_ptr(ndr, "domain", r->out.domain);
     993           0 :                 ndr->depth++;
     994           0 :                 ndr_print_ptr(ndr, "domain", *r->out.domain);
     995           0 :                 ndr->depth++;
     996           0 :                 if (*r->out.domain) {
     997           0 :                         ndr_print_string(ndr, "domain", *r->out.domain);
     998             :                 }
     999           0 :                 ndr->depth--;
    1000           0 :                 ndr->depth--;
    1001           0 :                 ndr_print_ptr(ndr, "name", r->out.name);
    1002           0 :                 ndr->depth++;
    1003           0 :                 ndr_print_ptr(ndr, "name", *r->out.name);
    1004           0 :                 ndr->depth++;
    1005           0 :                 if (*r->out.name) {
    1006           0 :                         ndr_print_string(ndr, "name", *r->out.name);
    1007             :                 }
    1008           0 :                 ndr->depth--;
    1009           0 :                 ndr->depth--;
    1010           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1011           0 :                 ndr->depth--;
    1012             :         }
    1013           0 :         ndr->depth--;
    1014             : }
    1015             : 
    1016         711 : static enum ndr_err_code ndr_push_wbint_LookupSids(struct ndr_push *ndr, int flags, const struct wbint_LookupSids *r)
    1017             : {
    1018         711 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1019         711 :         if (flags & NDR_IN) {
    1020         711 :                 if (r->in.sids == NULL) {
    1021           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1022             :                 }
    1023         711 :                 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
    1024             :         }
    1025         711 :         if (flags & NDR_OUT) {
    1026           0 :                 if (r->out.domains == NULL) {
    1027           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1028             :                 }
    1029           0 :                 if (r->out.names == NULL) {
    1030           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1031             :                 }
    1032           0 :                 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
    1033           0 :                 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
    1034           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1035             :         }
    1036         711 :         return NDR_ERR_SUCCESS;
    1037             : }
    1038             : 
    1039         711 : static enum ndr_err_code ndr_pull_wbint_LookupSids(struct ndr_pull *ndr, int flags, struct wbint_LookupSids *r)
    1040             : {
    1041         711 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1042         711 :         TALLOC_CTX *_mem_save_domains_0 = NULL;
    1043         711 :         TALLOC_CTX *_mem_save_names_0 = NULL;
    1044         711 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1045         711 :         if (flags & NDR_IN) {
    1046           0 :                 NDR_ZERO_STRUCT(r->out);
    1047             : 
    1048           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1049           0 :                         NDR_PULL_ALLOC(ndr, r->in.sids);
    1050             :                 }
    1051           0 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1052           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
    1053           0 :                 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
    1054           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
    1055           0 :                 NDR_PULL_ALLOC(ndr, r->out.domains);
    1056           0 :                 NDR_ZERO_STRUCTP(r->out.domains);
    1057           0 :                 NDR_PULL_ALLOC(ndr, r->out.names);
    1058           0 :                 NDR_ZERO_STRUCTP(r->out.names);
    1059             :         }
    1060         711 :         if (flags & NDR_OUT) {
    1061             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1062             :                 if (r->in.sids == NULL) {
    1063             :                         NDR_PULL_ALLOC(ndr, r->in.sids);
    1064             :                         NDR_ZERO_STRUCTP(r->in.sids);
    1065             :                 }
    1066             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1067         711 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1068         711 :                         NDR_PULL_ALLOC(ndr, r->out.domains);
    1069             :                 }
    1070         711 :                 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1071         711 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
    1072         711 :                 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
    1073         711 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
    1074         711 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1075         711 :                         NDR_PULL_ALLOC(ndr, r->out.names);
    1076             :                 }
    1077         711 :                 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1078         711 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
    1079         711 :                 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
    1080         711 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
    1081         711 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1082             :         }
    1083         711 :         return NDR_ERR_SUCCESS;
    1084             : }
    1085             : 
    1086           0 : _PUBLIC_ void ndr_print_wbint_LookupSids(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupSids *r)
    1087             : {
    1088           0 :         ndr_print_struct(ndr, name, "wbint_LookupSids");
    1089           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1090           0 :         ndr->depth++;
    1091           0 :         if (flags & NDR_SET_VALUES) {
    1092           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1093             :         }
    1094           0 :         if (flags & NDR_IN) {
    1095           0 :                 ndr_print_struct(ndr, "in", "wbint_LookupSids");
    1096           0 :                 ndr->depth++;
    1097           0 :                 ndr_print_ptr(ndr, "sids", r->in.sids);
    1098           0 :                 ndr->depth++;
    1099           0 :                 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
    1100           0 :                 ndr->depth--;
    1101           0 :                 ndr->depth--;
    1102             :         }
    1103           0 :         if (flags & NDR_OUT) {
    1104           0 :                 ndr_print_struct(ndr, "out", "wbint_LookupSids");
    1105           0 :                 ndr->depth++;
    1106           0 :                 ndr_print_ptr(ndr, "domains", r->out.domains);
    1107           0 :                 ndr->depth++;
    1108           0 :                 ndr_print_lsa_RefDomainList(ndr, "domains", r->out.domains);
    1109           0 :                 ndr->depth--;
    1110           0 :                 ndr_print_ptr(ndr, "names", r->out.names);
    1111           0 :                 ndr->depth++;
    1112           0 :                 ndr_print_lsa_TransNameArray(ndr, "names", r->out.names);
    1113           0 :                 ndr->depth--;
    1114           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1115           0 :                 ndr->depth--;
    1116             :         }
    1117           0 :         ndr->depth--;
    1118             : }
    1119             : 
    1120       49284 : static enum ndr_err_code ndr_push_wbint_LookupName(struct ndr_push *ndr, int flags, const struct wbint_LookupName *r)
    1121             : {
    1122       49284 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1123       49284 :         if (flags & NDR_IN) {
    1124       49284 :                 if (r->in.domain == NULL) {
    1125           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1126             :                 }
    1127       49284 :                 if (r->in.name == NULL) {
    1128           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1129             :                 }
    1130       49284 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
    1131       49284 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1132       49284 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8)));
    1133       49284 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    1134       49284 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF8)));
    1135       49284 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1136       49284 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF8)));
    1137       49284 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name, ndr_charset_length(r->in.name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    1138       49284 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
    1139             :         }
    1140       49284 :         if (flags & NDR_OUT) {
    1141           0 :                 if (r->out.type == NULL) {
    1142           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1143             :                 }
    1144           0 :                 if (r->out.sid == NULL) {
    1145           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1146             :                 }
    1147           0 :                 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, *r->out.type));
    1148           0 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->out.sid));
    1149           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1150             :         }
    1151       49282 :         return NDR_ERR_SUCCESS;
    1152             : }
    1153             : 
    1154       49280 : static enum ndr_err_code ndr_pull_wbint_LookupName(struct ndr_pull *ndr, int flags, struct wbint_LookupName *r)
    1155             : {
    1156       49280 :         uint32_t size_domain_1 = 0;
    1157       49280 :         uint32_t length_domain_1 = 0;
    1158       49280 :         uint32_t size_name_1 = 0;
    1159       49280 :         uint32_t length_name_1 = 0;
    1160       49280 :         TALLOC_CTX *_mem_save_type_0 = NULL;
    1161       49280 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    1162       49280 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1163       49280 :         if (flags & NDR_IN) {
    1164           0 :                 NDR_ZERO_STRUCT(r->out);
    1165             : 
    1166           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
    1167           0 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
    1168           0 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain, &size_domain_1));
    1169           0 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain, &length_domain_1));
    1170           0 :                 if (length_domain_1 > size_domain_1) {
    1171           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
    1172             :                 }
    1173           0 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint8_t)));
    1174           0 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint8_t), CH_UTF8));
    1175           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name));
    1176           0 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name));
    1177           0 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.name, &size_name_1));
    1178           0 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.name, &length_name_1));
    1179           0 :                 if (length_name_1 > size_name_1) {
    1180           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
    1181             :                 }
    1182           0 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint8_t)));
    1183           0 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, length_name_1, sizeof(uint8_t), CH_UTF8));
    1184           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
    1185           0 :                 NDR_PULL_ALLOC(ndr, r->out.type);
    1186           0 :                 NDR_ZERO_STRUCTP(r->out.type);
    1187           0 :                 NDR_PULL_ALLOC(ndr, r->out.sid);
    1188           0 :                 NDR_ZERO_STRUCTP(r->out.sid);
    1189             :         }
    1190       49280 :         if (flags & NDR_OUT) {
    1191             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1192             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1193       49280 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1194       49280 :                         NDR_PULL_ALLOC(ndr, r->out.type);
    1195             :                 }
    1196       49280 :                 _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1197       49280 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
    1198       49280 :                 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, r->out.type));
    1199       49280 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
    1200       49280 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1201       49280 :                         NDR_PULL_ALLOC(ndr, r->out.sid);
    1202             :                 }
    1203       49280 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1204       49280 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
    1205       49280 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->out.sid));
    1206       49280 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
    1207       49280 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1208             :         }
    1209       49278 :         return NDR_ERR_SUCCESS;
    1210             : }
    1211             : 
    1212           0 : _PUBLIC_ void ndr_print_wbint_LookupName(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupName *r)
    1213             : {
    1214           0 :         ndr_print_struct(ndr, name, "wbint_LookupName");
    1215           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1216           0 :         ndr->depth++;
    1217           0 :         if (flags & NDR_SET_VALUES) {
    1218           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1219             :         }
    1220           0 :         if (flags & NDR_IN) {
    1221           0 :                 ndr_print_struct(ndr, "in", "wbint_LookupName");
    1222           0 :                 ndr->depth++;
    1223           0 :                 ndr_print_ptr(ndr, "domain", r->in.domain);
    1224           0 :                 ndr->depth++;
    1225           0 :                 ndr_print_string(ndr, "domain", r->in.domain);
    1226           0 :                 ndr->depth--;
    1227           0 :                 ndr_print_ptr(ndr, "name", r->in.name);
    1228           0 :                 ndr->depth++;
    1229           0 :                 ndr_print_string(ndr, "name", r->in.name);
    1230           0 :                 ndr->depth--;
    1231           0 :                 ndr_print_uint32(ndr, "flags", r->in.flags);
    1232           0 :                 ndr->depth--;
    1233             :         }
    1234           0 :         if (flags & NDR_OUT) {
    1235           0 :                 ndr_print_struct(ndr, "out", "wbint_LookupName");
    1236           0 :                 ndr->depth++;
    1237           0 :                 ndr_print_ptr(ndr, "type", r->out.type);
    1238           0 :                 ndr->depth++;
    1239           0 :                 ndr_print_lsa_SidType(ndr, "type", *r->out.type);
    1240           0 :                 ndr->depth--;
    1241           0 :                 ndr_print_ptr(ndr, "sid", r->out.sid);
    1242           0 :                 ndr->depth++;
    1243           0 :                 ndr_print_dom_sid(ndr, "sid", r->out.sid);
    1244           0 :                 ndr->depth--;
    1245           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1246           0 :                 ndr->depth--;
    1247             :         }
    1248           0 :         ndr->depth--;
    1249             : }
    1250             : 
    1251        3877 : static enum ndr_err_code ndr_push_wbint_Sids2UnixIDs(struct ndr_push *ndr, int flags, const struct wbint_Sids2UnixIDs *r)
    1252             : {
    1253        3877 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1254        3877 :         if (flags & NDR_IN) {
    1255        3877 :                 if (r->in.domains == NULL) {
    1256           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1257             :                 }
    1258        3877 :                 if (r->in.ids == NULL) {
    1259           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1260             :                 }
    1261        3877 :                 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domains));
    1262        3877 :                 NDR_CHECK(ndr_push_wbint_TransIDArray(ndr, NDR_SCALARS, r->in.ids));
    1263             :         }
    1264        3877 :         if (flags & NDR_OUT) {
    1265           0 :                 if (r->out.ids == NULL) {
    1266           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1267             :                 }
    1268           0 :                 NDR_CHECK(ndr_push_wbint_TransIDArray(ndr, NDR_SCALARS, r->out.ids));
    1269           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1270             :         }
    1271        3875 :         return NDR_ERR_SUCCESS;
    1272             : }
    1273             : 
    1274        3864 : static enum ndr_err_code ndr_pull_wbint_Sids2UnixIDs(struct ndr_pull *ndr, int flags, struct wbint_Sids2UnixIDs *r)
    1275             : {
    1276        3864 :         TALLOC_CTX *_mem_save_domains_0 = NULL;
    1277        3864 :         TALLOC_CTX *_mem_save_ids_0 = NULL;
    1278        3864 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1279        3864 :         if (flags & NDR_IN) {
    1280           0 :                 NDR_ZERO_STRUCT(r->out);
    1281             : 
    1282           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1283           0 :                         NDR_PULL_ALLOC(ndr, r->in.domains);
    1284             :                 }
    1285           0 :                 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1286           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domains, LIBNDR_FLAG_REF_ALLOC);
    1287           0 :                 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domains));
    1288           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
    1289           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1290           0 :                         NDR_PULL_ALLOC(ndr, r->in.ids);
    1291             :                 }
    1292           0 :                 _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1293           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.ids, LIBNDR_FLAG_REF_ALLOC);
    1294           0 :                 NDR_CHECK(ndr_pull_wbint_TransIDArray(ndr, NDR_SCALARS, r->in.ids));
    1295           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, LIBNDR_FLAG_REF_ALLOC);
    1296           0 :                 NDR_PULL_ALLOC(ndr, r->out.ids);
    1297           0 :                 *r->out.ids = *r->in.ids;
    1298             :         }
    1299        3864 :         if (flags & NDR_OUT) {
    1300             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1301             :                 if (r->in.domains == NULL) {
    1302             :                         NDR_PULL_ALLOC(ndr, r->in.domains);
    1303             :                         NDR_ZERO_STRUCTP(r->in.domains);
    1304             :                 }
    1305             :                 if (r->in.ids == NULL) {
    1306             :                         NDR_PULL_ALLOC(ndr, r->in.ids);
    1307             :                         NDR_ZERO_STRUCTP(r->in.ids);
    1308             :                 }
    1309             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1310        3864 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1311        3864 :                         NDR_PULL_ALLOC(ndr, r->out.ids);
    1312             :                 }
    1313        3864 :                 _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1314        3864 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ids, LIBNDR_FLAG_REF_ALLOC);
    1315        3864 :                 NDR_CHECK(ndr_pull_wbint_TransIDArray(ndr, NDR_SCALARS, r->out.ids));
    1316        3864 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, LIBNDR_FLAG_REF_ALLOC);
    1317        3864 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1318             :         }
    1319        3864 :         return NDR_ERR_SUCCESS;
    1320             : }
    1321             : 
    1322           0 : _PUBLIC_ void ndr_print_wbint_Sids2UnixIDs(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Sids2UnixIDs *r)
    1323             : {
    1324           0 :         ndr_print_struct(ndr, name, "wbint_Sids2UnixIDs");
    1325           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1326           0 :         ndr->depth++;
    1327           0 :         if (flags & NDR_SET_VALUES) {
    1328           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1329             :         }
    1330           0 :         if (flags & NDR_IN) {
    1331           0 :                 ndr_print_struct(ndr, "in", "wbint_Sids2UnixIDs");
    1332           0 :                 ndr->depth++;
    1333           0 :                 ndr_print_ptr(ndr, "domains", r->in.domains);
    1334           0 :                 ndr->depth++;
    1335           0 :                 ndr_print_lsa_RefDomainList(ndr, "domains", r->in.domains);
    1336           0 :                 ndr->depth--;
    1337           0 :                 ndr_print_ptr(ndr, "ids", r->in.ids);
    1338           0 :                 ndr->depth++;
    1339           0 :                 ndr_print_wbint_TransIDArray(ndr, "ids", r->in.ids);
    1340           0 :                 ndr->depth--;
    1341           0 :                 ndr->depth--;
    1342             :         }
    1343           0 :         if (flags & NDR_OUT) {
    1344           0 :                 ndr_print_struct(ndr, "out", "wbint_Sids2UnixIDs");
    1345           0 :                 ndr->depth++;
    1346           0 :                 ndr_print_ptr(ndr, "ids", r->out.ids);
    1347           0 :                 ndr->depth++;
    1348           0 :                 ndr_print_wbint_TransIDArray(ndr, "ids", r->out.ids);
    1349           0 :                 ndr->depth--;
    1350           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1351           0 :                 ndr->depth--;
    1352             :         }
    1353           0 :         ndr->depth--;
    1354             : }
    1355             : 
    1356         403 : static enum ndr_err_code ndr_push_wbint_UnixIDs2Sids(struct ndr_push *ndr, int flags, const struct wbint_UnixIDs2Sids *r)
    1357             : {
    1358             :         uint32_t cntr_xids_0;
    1359             :         uint32_t cntr_sids_0;
    1360         403 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1361         403 :         if (flags & NDR_IN) {
    1362         403 :                 if (r->in.domain_name == NULL) {
    1363           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1364             :                 }
    1365         403 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
    1366         403 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1367         403 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
    1368         403 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    1369         403 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->in.domain_sid));
    1370         403 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ids));
    1371         942 :                 for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
    1372         539 :                         NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->in.xids[cntr_xids_0]));
    1373             :                 }
    1374             :         }
    1375         403 :         if (flags & NDR_OUT) {
    1376           0 :                 for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
    1377           0 :                         NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->out.xids[cntr_xids_0]));
    1378             :                 }
    1379           0 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (r->in.num_ids); cntr_sids_0++) {
    1380           0 :                         NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->out.sids[cntr_sids_0]));
    1381             :                 }
    1382           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1383             :         }
    1384         403 :         return NDR_ERR_SUCCESS;
    1385             : }
    1386             : 
    1387         403 : static enum ndr_err_code ndr_pull_wbint_UnixIDs2Sids(struct ndr_pull *ndr, int flags, struct wbint_UnixIDs2Sids *r)
    1388             : {
    1389         403 :         uint32_t size_domain_name_1 = 0;
    1390         403 :         uint32_t length_domain_name_1 = 0;
    1391         403 :         uint32_t size_xids_0 = 0;
    1392             :         uint32_t cntr_xids_0;
    1393         403 :         uint32_t size_sids_0 = 0;
    1394             :         uint32_t cntr_sids_0;
    1395         403 :         TALLOC_CTX *_mem_save_xids_0 = NULL;
    1396         403 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1397         403 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1398         403 :         if (flags & NDR_IN) {
    1399           0 :                 NDR_ZERO_STRUCT(r->out);
    1400             : 
    1401           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
    1402           0 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
    1403           0 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
    1404           0 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
    1405           0 :                 if (length_domain_name_1 > size_domain_name_1) {
    1406           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
    1407             :                 }
    1408           0 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
    1409           0 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
    1410           0 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->in.domain_sid));
    1411           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ids));
    1412           0 :                 size_xids_0 = r->in.num_ids;
    1413           0 :                 NDR_PULL_ALLOC_N(ndr, r->in.xids, size_xids_0);
    1414           0 :                 _mem_save_xids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1415           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.xids, 0);
    1416           0 :                 for (cntr_xids_0 = 0; cntr_xids_0 < (size_xids_0); cntr_xids_0++) {
    1417           0 :                         NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->in.xids[cntr_xids_0]));
    1418             :                 }
    1419           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_xids_0, 0);
    1420             :         }
    1421         403 :         if (flags & NDR_OUT) {
    1422             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1423             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1424         403 :                 size_xids_0 = r->in.num_ids;
    1425         403 :                 NDR_PULL_ALLOC_N(ndr, r->out.xids, size_xids_0);
    1426         403 :                 _mem_save_xids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1427         403 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.xids, 0);
    1428         942 :                 for (cntr_xids_0 = 0; cntr_xids_0 < (size_xids_0); cntr_xids_0++) {
    1429         539 :                         NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->out.xids[cntr_xids_0]));
    1430             :                 }
    1431         403 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_xids_0, 0);
    1432         403 :                 size_sids_0 = r->in.num_ids;
    1433         403 :                 NDR_PULL_ALLOC_N(ndr, r->out.sids, size_sids_0);
    1434         403 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1435         403 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, 0);
    1436         942 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (size_sids_0); cntr_sids_0++) {
    1437         539 :                         NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->out.sids[cntr_sids_0]));
    1438             :                 }
    1439         403 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
    1440         403 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1441             :         }
    1442         403 :         return NDR_ERR_SUCCESS;
    1443             : }
    1444             : 
    1445           0 : _PUBLIC_ void ndr_print_wbint_UnixIDs2Sids(struct ndr_print *ndr, const char *name, int flags, const struct wbint_UnixIDs2Sids *r)
    1446             : {
    1447             :         uint32_t cntr_xids_0;
    1448             :         uint32_t cntr_sids_0;
    1449           0 :         ndr_print_struct(ndr, name, "wbint_UnixIDs2Sids");
    1450           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1451           0 :         ndr->depth++;
    1452           0 :         if (flags & NDR_SET_VALUES) {
    1453           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1454             :         }
    1455           0 :         if (flags & NDR_IN) {
    1456           0 :                 ndr_print_struct(ndr, "in", "wbint_UnixIDs2Sids");
    1457           0 :                 ndr->depth++;
    1458           0 :                 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
    1459           0 :                 ndr->depth++;
    1460           0 :                 ndr_print_string(ndr, "domain_name", r->in.domain_name);
    1461           0 :                 ndr->depth--;
    1462           0 :                 ndr_print_dom_sid(ndr, "domain_sid", &r->in.domain_sid);
    1463           0 :                 ndr_print_uint32(ndr, "num_ids", r->in.num_ids);
    1464           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "xids", (int)r->in.num_ids);
    1465           0 :                 ndr->depth++;
    1466           0 :                 for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
    1467           0 :                         ndr_print_unixid(ndr, "xids", &r->in.xids[cntr_xids_0]);
    1468             :                 }
    1469           0 :                 ndr->depth--;
    1470           0 :                 ndr->depth--;
    1471             :         }
    1472           0 :         if (flags & NDR_OUT) {
    1473           0 :                 ndr_print_struct(ndr, "out", "wbint_UnixIDs2Sids");
    1474           0 :                 ndr->depth++;
    1475           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "xids", (int)r->in.num_ids);
    1476           0 :                 ndr->depth++;
    1477           0 :                 for (cntr_xids_0 = 0; cntr_xids_0 < (r->in.num_ids); cntr_xids_0++) {
    1478           0 :                         ndr_print_unixid(ndr, "xids", &r->out.xids[cntr_xids_0]);
    1479             :                 }
    1480           0 :                 ndr->depth--;
    1481           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->in.num_ids);
    1482           0 :                 ndr->depth++;
    1483           0 :                 for (cntr_sids_0 = 0; cntr_sids_0 < (r->in.num_ids); cntr_sids_0++) {
    1484           0 :                         ndr_print_dom_sid(ndr, "sids", &r->out.sids[cntr_sids_0]);
    1485             :                 }
    1486           0 :                 ndr->depth--;
    1487           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1488           0 :                 ndr->depth--;
    1489             :         }
    1490           0 :         ndr->depth--;
    1491             : }
    1492             : 
    1493           9 : static enum ndr_err_code ndr_push_wbint_AllocateUid(struct ndr_push *ndr, int flags, const struct wbint_AllocateUid *r)
    1494             : {
    1495           9 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1496           9 :         if (flags & NDR_IN) {
    1497             :         }
    1498           9 :         if (flags & NDR_OUT) {
    1499           0 :                 if (r->out.uid == NULL) {
    1500           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1501             :                 }
    1502           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.uid));
    1503           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1504             :         }
    1505           9 :         return NDR_ERR_SUCCESS;
    1506             : }
    1507             : 
    1508           9 : static enum ndr_err_code ndr_pull_wbint_AllocateUid(struct ndr_pull *ndr, int flags, struct wbint_AllocateUid *r)
    1509             : {
    1510           9 :         TALLOC_CTX *_mem_save_uid_0 = NULL;
    1511           9 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1512           9 :         if (flags & NDR_IN) {
    1513           0 :                 NDR_ZERO_STRUCT(r->out);
    1514             : 
    1515           0 :                 NDR_PULL_ALLOC(ndr, r->out.uid);
    1516           0 :                 NDR_ZERO_STRUCTP(r->out.uid);
    1517             :         }
    1518           9 :         if (flags & NDR_OUT) {
    1519             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1520             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1521           9 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1522           9 :                         NDR_PULL_ALLOC(ndr, r->out.uid);
    1523             :                 }
    1524           9 :                 _mem_save_uid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1525           9 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.uid, LIBNDR_FLAG_REF_ALLOC);
    1526           9 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.uid));
    1527           9 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uid_0, LIBNDR_FLAG_REF_ALLOC);
    1528           9 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1529             :         }
    1530           9 :         return NDR_ERR_SUCCESS;
    1531             : }
    1532             : 
    1533           0 : _PUBLIC_ void ndr_print_wbint_AllocateUid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_AllocateUid *r)
    1534             : {
    1535           0 :         ndr_print_struct(ndr, name, "wbint_AllocateUid");
    1536           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1537           0 :         ndr->depth++;
    1538           0 :         if (flags & NDR_SET_VALUES) {
    1539           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1540             :         }
    1541           0 :         if (flags & NDR_IN) {
    1542           0 :                 ndr_print_struct(ndr, "in", "wbint_AllocateUid");
    1543           0 :                 ndr->depth++;
    1544           0 :                 ndr->depth--;
    1545             :         }
    1546           0 :         if (flags & NDR_OUT) {
    1547           0 :                 ndr_print_struct(ndr, "out", "wbint_AllocateUid");
    1548           0 :                 ndr->depth++;
    1549           0 :                 ndr_print_ptr(ndr, "uid", r->out.uid);
    1550           0 :                 ndr->depth++;
    1551           0 :                 ndr_print_hyper(ndr, "uid", *r->out.uid);
    1552           0 :                 ndr->depth--;
    1553           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1554           0 :                 ndr->depth--;
    1555             :         }
    1556           0 :         ndr->depth--;
    1557             : }
    1558             : 
    1559         438 : static enum ndr_err_code ndr_push_wbint_AllocateGid(struct ndr_push *ndr, int flags, const struct wbint_AllocateGid *r)
    1560             : {
    1561         438 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1562         438 :         if (flags & NDR_IN) {
    1563             :         }
    1564         438 :         if (flags & NDR_OUT) {
    1565           0 :                 if (r->out.gid == NULL) {
    1566           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1567             :                 }
    1568           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.gid));
    1569           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1570             :         }
    1571         438 :         return NDR_ERR_SUCCESS;
    1572             : }
    1573             : 
    1574         438 : static enum ndr_err_code ndr_pull_wbint_AllocateGid(struct ndr_pull *ndr, int flags, struct wbint_AllocateGid *r)
    1575             : {
    1576         438 :         TALLOC_CTX *_mem_save_gid_0 = NULL;
    1577         438 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1578         438 :         if (flags & NDR_IN) {
    1579           0 :                 NDR_ZERO_STRUCT(r->out);
    1580             : 
    1581           0 :                 NDR_PULL_ALLOC(ndr, r->out.gid);
    1582           0 :                 NDR_ZERO_STRUCTP(r->out.gid);
    1583             :         }
    1584         438 :         if (flags & NDR_OUT) {
    1585             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1586             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1587         438 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1588         438 :                         NDR_PULL_ALLOC(ndr, r->out.gid);
    1589             :                 }
    1590         438 :                 _mem_save_gid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1591         438 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.gid, LIBNDR_FLAG_REF_ALLOC);
    1592         438 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.gid));
    1593         438 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gid_0, LIBNDR_FLAG_REF_ALLOC);
    1594         438 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1595             :         }
    1596         438 :         return NDR_ERR_SUCCESS;
    1597             : }
    1598             : 
    1599           0 : _PUBLIC_ void ndr_print_wbint_AllocateGid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_AllocateGid *r)
    1600             : {
    1601           0 :         ndr_print_struct(ndr, name, "wbint_AllocateGid");
    1602           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1603           0 :         ndr->depth++;
    1604           0 :         if (flags & NDR_SET_VALUES) {
    1605           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1606             :         }
    1607           0 :         if (flags & NDR_IN) {
    1608           0 :                 ndr_print_struct(ndr, "in", "wbint_AllocateGid");
    1609           0 :                 ndr->depth++;
    1610           0 :                 ndr->depth--;
    1611             :         }
    1612           0 :         if (flags & NDR_OUT) {
    1613           0 :                 ndr_print_struct(ndr, "out", "wbint_AllocateGid");
    1614           0 :                 ndr->depth++;
    1615           0 :                 ndr_print_ptr(ndr, "gid", r->out.gid);
    1616           0 :                 ndr->depth++;
    1617           0 :                 ndr_print_hyper(ndr, "gid", *r->out.gid);
    1618           0 :                 ndr->depth--;
    1619           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1620           0 :                 ndr->depth--;
    1621             :         }
    1622           0 :         ndr->depth--;
    1623             : }
    1624             : 
    1625       47910 : static enum ndr_err_code ndr_push_wbint_GetNssInfo(struct ndr_push *ndr, int flags, const struct wbint_GetNssInfo *r)
    1626             : {
    1627       47910 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1628       47910 :         if (flags & NDR_IN) {
    1629       47910 :                 if (r->in.info == NULL) {
    1630           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1631             :                 }
    1632       47910 :                 NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    1633             :         }
    1634       47910 :         if (flags & NDR_OUT) {
    1635           0 :                 if (r->out.info == NULL) {
    1636           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1637             :                 }
    1638           0 :                 NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
    1639           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1640             :         }
    1641       47910 :         return NDR_ERR_SUCCESS;
    1642             : }
    1643             : 
    1644       47910 : static enum ndr_err_code ndr_pull_wbint_GetNssInfo(struct ndr_pull *ndr, int flags, struct wbint_GetNssInfo *r)
    1645             : {
    1646       47910 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    1647       47910 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1648       47910 :         if (flags & NDR_IN) {
    1649           0 :                 NDR_ZERO_STRUCT(r->out);
    1650             : 
    1651           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1652           0 :                         NDR_PULL_ALLOC(ndr, r->in.info);
    1653             :                 }
    1654           0 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1655           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
    1656           0 :                 NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
    1657           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    1658           0 :                 NDR_PULL_ALLOC(ndr, r->out.info);
    1659           0 :                 *r->out.info = *r->in.info;
    1660             :         }
    1661       47910 :         if (flags & NDR_OUT) {
    1662             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1663             :                 if (r->in.info == NULL) {
    1664             :                         NDR_PULL_ALLOC(ndr, r->in.info);
    1665             :                         NDR_ZERO_STRUCTP(r->in.info);
    1666             :                 }
    1667             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1668       47910 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1669       47910 :                         NDR_PULL_ALLOC(ndr, r->out.info);
    1670             :                 }
    1671       47910 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1672       47910 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
    1673       47910 :                 NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
    1674       47910 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
    1675       47910 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1676             :         }
    1677       47910 :         return NDR_ERR_SUCCESS;
    1678             : }
    1679             : 
    1680           0 : _PUBLIC_ void ndr_print_wbint_GetNssInfo(struct ndr_print *ndr, const char *name, int flags, const struct wbint_GetNssInfo *r)
    1681             : {
    1682           0 :         ndr_print_struct(ndr, name, "wbint_GetNssInfo");
    1683           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1684           0 :         ndr->depth++;
    1685           0 :         if (flags & NDR_SET_VALUES) {
    1686           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1687             :         }
    1688           0 :         if (flags & NDR_IN) {
    1689           0 :                 ndr_print_struct(ndr, "in", "wbint_GetNssInfo");
    1690           0 :                 ndr->depth++;
    1691           0 :                 ndr_print_ptr(ndr, "info", r->in.info);
    1692           0 :                 ndr->depth++;
    1693           0 :                 ndr_print_wbint_userinfo(ndr, "info", r->in.info);
    1694           0 :                 ndr->depth--;
    1695           0 :                 ndr->depth--;
    1696             :         }
    1697           0 :         if (flags & NDR_OUT) {
    1698           0 :                 ndr_print_struct(ndr, "out", "wbint_GetNssInfo");
    1699           0 :                 ndr->depth++;
    1700           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
    1701           0 :                 ndr->depth++;
    1702           0 :                 ndr_print_wbint_userinfo(ndr, "info", r->out.info);
    1703           0 :                 ndr->depth--;
    1704           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1705           0 :                 ndr->depth--;
    1706             :         }
    1707           0 :         ndr->depth--;
    1708             : }
    1709             : 
    1710        4495 : static enum ndr_err_code ndr_push_wbint_LookupUserAliases(struct ndr_push *ndr, int flags, const struct wbint_LookupUserAliases *r)
    1711             : {
    1712        4495 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1713        4495 :         if (flags & NDR_IN) {
    1714        4495 :                 if (r->in.sids == NULL) {
    1715           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1716             :                 }
    1717        4495 :                 NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->in.sids));
    1718             :         }
    1719        4495 :         if (flags & NDR_OUT) {
    1720           0 :                 if (r->out.rids == NULL) {
    1721           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1722             :                 }
    1723           0 :                 NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
    1724           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1725             :         }
    1726        4495 :         return NDR_ERR_SUCCESS;
    1727             : }
    1728             : 
    1729        4495 : static enum ndr_err_code ndr_pull_wbint_LookupUserAliases(struct ndr_pull *ndr, int flags, struct wbint_LookupUserAliases *r)
    1730             : {
    1731        4495 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1732        4495 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    1733        4495 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1734        4495 :         if (flags & NDR_IN) {
    1735           0 :                 NDR_ZERO_STRUCT(r->out);
    1736             : 
    1737           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1738           0 :                         NDR_PULL_ALLOC(ndr, r->in.sids);
    1739             :                 }
    1740           0 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1741           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
    1742           0 :                 NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->in.sids));
    1743           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
    1744           0 :                 NDR_PULL_ALLOC(ndr, r->out.rids);
    1745           0 :                 NDR_ZERO_STRUCTP(r->out.rids);
    1746             :         }
    1747        4495 :         if (flags & NDR_OUT) {
    1748             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1749             :                 if (r->in.sids == NULL) {
    1750             :                         NDR_PULL_ALLOC(ndr, r->in.sids);
    1751             :                         NDR_ZERO_STRUCTP(r->in.sids);
    1752             :                 }
    1753             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1754        4495 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1755        4495 :                         NDR_PULL_ALLOC(ndr, r->out.rids);
    1756             :                 }
    1757        4495 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1758        4495 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
    1759        4495 :                 NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
    1760        4495 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
    1761        4495 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1762             :         }
    1763        4495 :         return NDR_ERR_SUCCESS;
    1764             : }
    1765             : 
    1766           0 : _PUBLIC_ void ndr_print_wbint_LookupUserAliases(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupUserAliases *r)
    1767             : {
    1768           0 :         ndr_print_struct(ndr, name, "wbint_LookupUserAliases");
    1769           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1770           0 :         ndr->depth++;
    1771           0 :         if (flags & NDR_SET_VALUES) {
    1772           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1773             :         }
    1774           0 :         if (flags & NDR_IN) {
    1775           0 :                 ndr_print_struct(ndr, "in", "wbint_LookupUserAliases");
    1776           0 :                 ndr->depth++;
    1777           0 :                 ndr_print_ptr(ndr, "sids", r->in.sids);
    1778           0 :                 ndr->depth++;
    1779           0 :                 ndr_print_wbint_SidArray(ndr, "sids", r->in.sids);
    1780           0 :                 ndr->depth--;
    1781           0 :                 ndr->depth--;
    1782             :         }
    1783           0 :         if (flags & NDR_OUT) {
    1784           0 :                 ndr_print_struct(ndr, "out", "wbint_LookupUserAliases");
    1785           0 :                 ndr->depth++;
    1786           0 :                 ndr_print_ptr(ndr, "rids", r->out.rids);
    1787           0 :                 ndr->depth++;
    1788           0 :                 ndr_print_wbint_RidArray(ndr, "rids", r->out.rids);
    1789           0 :                 ndr->depth--;
    1790           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1791           0 :                 ndr->depth--;
    1792             :         }
    1793           0 :         ndr->depth--;
    1794             : }
    1795             : 
    1796        2395 : static enum ndr_err_code ndr_push_wbint_LookupUserGroups(struct ndr_push *ndr, int flags, const struct wbint_LookupUserGroups *r)
    1797             : {
    1798        2395 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1799        2395 :         if (flags & NDR_IN) {
    1800        2395 :                 if (r->in.sid == NULL) {
    1801           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1802             :                 }
    1803        2395 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
    1804             :         }
    1805        2395 :         if (flags & NDR_OUT) {
    1806           0 :                 if (r->out.sids == NULL) {
    1807           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1808             :                 }
    1809           0 :                 NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids));
    1810           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1811             :         }
    1812        2395 :         return NDR_ERR_SUCCESS;
    1813             : }
    1814             : 
    1815        2395 : static enum ndr_err_code ndr_pull_wbint_LookupUserGroups(struct ndr_pull *ndr, int flags, struct wbint_LookupUserGroups *r)
    1816             : {
    1817        2395 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    1818        2395 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1819        2395 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1820        2395 :         if (flags & NDR_IN) {
    1821           0 :                 NDR_ZERO_STRUCT(r->out);
    1822             : 
    1823           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1824           0 :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    1825             :                 }
    1826           0 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1827           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
    1828           0 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid));
    1829           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
    1830           0 :                 NDR_PULL_ALLOC(ndr, r->out.sids);
    1831           0 :                 NDR_ZERO_STRUCTP(r->out.sids);
    1832             :         }
    1833        2395 :         if (flags & NDR_OUT) {
    1834             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1835             :                 if (r->in.sid == NULL) {
    1836             :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    1837             :                         NDR_ZERO_STRUCTP(r->in.sid);
    1838             :                 }
    1839             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1840        2395 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1841        2395 :                         NDR_PULL_ALLOC(ndr, r->out.sids);
    1842             :                 }
    1843        2395 :                 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1844        2395 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
    1845        2395 :                 NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids));
    1846        2395 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
    1847        2395 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1848             :         }
    1849        2395 :         return NDR_ERR_SUCCESS;
    1850             : }
    1851             : 
    1852           0 : _PUBLIC_ void ndr_print_wbint_LookupUserGroups(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupUserGroups *r)
    1853             : {
    1854           0 :         ndr_print_struct(ndr, name, "wbint_LookupUserGroups");
    1855           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1856           0 :         ndr->depth++;
    1857           0 :         if (flags & NDR_SET_VALUES) {
    1858           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1859             :         }
    1860           0 :         if (flags & NDR_IN) {
    1861           0 :                 ndr_print_struct(ndr, "in", "wbint_LookupUserGroups");
    1862           0 :                 ndr->depth++;
    1863           0 :                 ndr_print_ptr(ndr, "sid", r->in.sid);
    1864           0 :                 ndr->depth++;
    1865           0 :                 ndr_print_dom_sid(ndr, "sid", r->in.sid);
    1866           0 :                 ndr->depth--;
    1867           0 :                 ndr->depth--;
    1868             :         }
    1869           0 :         if (flags & NDR_OUT) {
    1870           0 :                 ndr_print_struct(ndr, "out", "wbint_LookupUserGroups");
    1871           0 :                 ndr->depth++;
    1872           0 :                 ndr_print_ptr(ndr, "sids", r->out.sids);
    1873           0 :                 ndr->depth++;
    1874           0 :                 ndr_print_wbint_SidArray(ndr, "sids", r->out.sids);
    1875           0 :                 ndr->depth--;
    1876           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1877           0 :                 ndr->depth--;
    1878             :         }
    1879           0 :         ndr->depth--;
    1880             : }
    1881             : 
    1882          36 : static enum ndr_err_code ndr_push_wbint_QuerySequenceNumber(struct ndr_push *ndr, int flags, const struct wbint_QuerySequenceNumber *r)
    1883             : {
    1884          36 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1885          36 :         if (flags & NDR_IN) {
    1886             :         }
    1887          36 :         if (flags & NDR_OUT) {
    1888           0 :                 if (r->out.sequence == NULL) {
    1889           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1890             :                 }
    1891           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sequence));
    1892           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1893             :         }
    1894          36 :         return NDR_ERR_SUCCESS;
    1895             : }
    1896             : 
    1897          36 : static enum ndr_err_code ndr_pull_wbint_QuerySequenceNumber(struct ndr_pull *ndr, int flags, struct wbint_QuerySequenceNumber *r)
    1898             : {
    1899          36 :         TALLOC_CTX *_mem_save_sequence_0 = NULL;
    1900          36 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1901          36 :         if (flags & NDR_IN) {
    1902           0 :                 NDR_ZERO_STRUCT(r->out);
    1903             : 
    1904           0 :                 NDR_PULL_ALLOC(ndr, r->out.sequence);
    1905           0 :                 NDR_ZERO_STRUCTP(r->out.sequence);
    1906             :         }
    1907          36 :         if (flags & NDR_OUT) {
    1908             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1909             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1910          36 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1911          36 :                         NDR_PULL_ALLOC(ndr, r->out.sequence);
    1912             :                 }
    1913          36 :                 _mem_save_sequence_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1914          36 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence, LIBNDR_FLAG_REF_ALLOC);
    1915          36 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sequence));
    1916          36 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_0, LIBNDR_FLAG_REF_ALLOC);
    1917          36 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    1918             :         }
    1919          36 :         return NDR_ERR_SUCCESS;
    1920             : }
    1921             : 
    1922           0 : _PUBLIC_ void ndr_print_wbint_QuerySequenceNumber(struct ndr_print *ndr, const char *name, int flags, const struct wbint_QuerySequenceNumber *r)
    1923             : {
    1924           0 :         ndr_print_struct(ndr, name, "wbint_QuerySequenceNumber");
    1925           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1926           0 :         ndr->depth++;
    1927           0 :         if (flags & NDR_SET_VALUES) {
    1928           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    1929             :         }
    1930           0 :         if (flags & NDR_IN) {
    1931           0 :                 ndr_print_struct(ndr, "in", "wbint_QuerySequenceNumber");
    1932           0 :                 ndr->depth++;
    1933           0 :                 ndr->depth--;
    1934             :         }
    1935           0 :         if (flags & NDR_OUT) {
    1936           0 :                 ndr_print_struct(ndr, "out", "wbint_QuerySequenceNumber");
    1937           0 :                 ndr->depth++;
    1938           0 :                 ndr_print_ptr(ndr, "sequence", r->out.sequence);
    1939           0 :                 ndr->depth++;
    1940           0 :                 ndr_print_uint32(ndr, "sequence", *r->out.sequence);
    1941           0 :                 ndr->depth--;
    1942           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1943           0 :                 ndr->depth--;
    1944             :         }
    1945           0 :         ndr->depth--;
    1946             : }
    1947             : 
    1948           0 : static enum ndr_err_code ndr_push_wbint_LookupGroupMembers(struct ndr_push *ndr, int flags, const struct wbint_LookupGroupMembers *r)
    1949             : {
    1950           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    1951           0 :         if (flags & NDR_IN) {
    1952           0 :                 if (r->in.sid == NULL) {
    1953           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1954             :                 }
    1955           0 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid));
    1956           0 :                 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->in.type));
    1957             :         }
    1958           0 :         if (flags & NDR_OUT) {
    1959           0 :                 if (r->out.members == NULL) {
    1960           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    1961             :                 }
    1962           0 :                 NDR_CHECK(ndr_push_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.members));
    1963           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    1964             :         }
    1965           0 :         return NDR_ERR_SUCCESS;
    1966             : }
    1967             : 
    1968           0 : static enum ndr_err_code ndr_pull_wbint_LookupGroupMembers(struct ndr_pull *ndr, int flags, struct wbint_LookupGroupMembers *r)
    1969             : {
    1970           0 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    1971           0 :         TALLOC_CTX *_mem_save_members_0 = NULL;
    1972           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    1973           0 :         if (flags & NDR_IN) {
    1974           0 :                 NDR_ZERO_STRUCT(r->out);
    1975             : 
    1976           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1977           0 :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    1978             :                 }
    1979           0 :                 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1980           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
    1981           0 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid));
    1982           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
    1983           0 :                 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->in.type));
    1984           0 :                 NDR_PULL_ALLOC(ndr, r->out.members);
    1985           0 :                 NDR_ZERO_STRUCTP(r->out.members);
    1986             :         }
    1987           0 :         if (flags & NDR_OUT) {
    1988             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    1989             :                 if (r->in.sid == NULL) {
    1990             :                         NDR_PULL_ALLOC(ndr, r->in.sid);
    1991             :                         NDR_ZERO_STRUCTP(r->in.sid);
    1992             :                 }
    1993             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    1994           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    1995           0 :                         NDR_PULL_ALLOC(ndr, r->out.members);
    1996             :                 }
    1997           0 :                 _mem_save_members_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1998           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.members, LIBNDR_FLAG_REF_ALLOC);
    1999           0 :                 NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.members));
    2000           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_members_0, LIBNDR_FLAG_REF_ALLOC);
    2001           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2002             :         }
    2003           0 :         return NDR_ERR_SUCCESS;
    2004             : }
    2005             : 
    2006           0 : _PUBLIC_ void ndr_print_wbint_LookupGroupMembers(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupGroupMembers *r)
    2007             : {
    2008           0 :         ndr_print_struct(ndr, name, "wbint_LookupGroupMembers");
    2009           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2010           0 :         ndr->depth++;
    2011           0 :         if (flags & NDR_SET_VALUES) {
    2012           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2013             :         }
    2014           0 :         if (flags & NDR_IN) {
    2015           0 :                 ndr_print_struct(ndr, "in", "wbint_LookupGroupMembers");
    2016           0 :                 ndr->depth++;
    2017           0 :                 ndr_print_ptr(ndr, "sid", r->in.sid);
    2018           0 :                 ndr->depth++;
    2019           0 :                 ndr_print_dom_sid(ndr, "sid", r->in.sid);
    2020           0 :                 ndr->depth--;
    2021           0 :                 ndr_print_lsa_SidType(ndr, "type", r->in.type);
    2022           0 :                 ndr->depth--;
    2023             :         }
    2024           0 :         if (flags & NDR_OUT) {
    2025           0 :                 ndr_print_struct(ndr, "out", "wbint_LookupGroupMembers");
    2026           0 :                 ndr->depth++;
    2027           0 :                 ndr_print_ptr(ndr, "members", r->out.members);
    2028           0 :                 ndr->depth++;
    2029           0 :                 ndr_print_wbint_Principals(ndr, "members", r->out.members);
    2030           0 :                 ndr->depth--;
    2031           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2032           0 :                 ndr->depth--;
    2033             :         }
    2034           0 :         ndr->depth--;
    2035             : }
    2036             : 
    2037          69 : static enum ndr_err_code ndr_push_wbint_QueryGroupList(struct ndr_push *ndr, int flags, const struct wbint_QueryGroupList *r)
    2038             : {
    2039          69 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2040          69 :         if (flags & NDR_IN) {
    2041             :         }
    2042          69 :         if (flags & NDR_OUT) {
    2043           0 :                 if (r->out.groups == NULL) {
    2044           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2045             :                 }
    2046           0 :                 NDR_CHECK(ndr_push_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.groups));
    2047           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2048             :         }
    2049          69 :         return NDR_ERR_SUCCESS;
    2050             : }
    2051             : 
    2052          69 : static enum ndr_err_code ndr_pull_wbint_QueryGroupList(struct ndr_pull *ndr, int flags, struct wbint_QueryGroupList *r)
    2053             : {
    2054          69 :         TALLOC_CTX *_mem_save_groups_0 = NULL;
    2055          69 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2056          69 :         if (flags & NDR_IN) {
    2057           0 :                 NDR_ZERO_STRUCT(r->out);
    2058             : 
    2059           0 :                 NDR_PULL_ALLOC(ndr, r->out.groups);
    2060           0 :                 NDR_ZERO_STRUCTP(r->out.groups);
    2061             :         }
    2062          69 :         if (flags & NDR_OUT) {
    2063             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2064             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2065          69 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2066          69 :                         NDR_PULL_ALLOC(ndr, r->out.groups);
    2067             :                 }
    2068          69 :                 _mem_save_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2069          69 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.groups, LIBNDR_FLAG_REF_ALLOC);
    2070          69 :                 NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.groups));
    2071          69 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_groups_0, LIBNDR_FLAG_REF_ALLOC);
    2072          69 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2073             :         }
    2074          69 :         return NDR_ERR_SUCCESS;
    2075             : }
    2076             : 
    2077           0 : _PUBLIC_ void ndr_print_wbint_QueryGroupList(struct ndr_print *ndr, const char *name, int flags, const struct wbint_QueryGroupList *r)
    2078             : {
    2079           0 :         ndr_print_struct(ndr, name, "wbint_QueryGroupList");
    2080           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2081           0 :         ndr->depth++;
    2082           0 :         if (flags & NDR_SET_VALUES) {
    2083           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2084             :         }
    2085           0 :         if (flags & NDR_IN) {
    2086           0 :                 ndr_print_struct(ndr, "in", "wbint_QueryGroupList");
    2087           0 :                 ndr->depth++;
    2088           0 :                 ndr->depth--;
    2089             :         }
    2090           0 :         if (flags & NDR_OUT) {
    2091           0 :                 ndr_print_struct(ndr, "out", "wbint_QueryGroupList");
    2092           0 :                 ndr->depth++;
    2093           0 :                 ndr_print_ptr(ndr, "groups", r->out.groups);
    2094           0 :                 ndr->depth++;
    2095           0 :                 ndr_print_wbint_Principals(ndr, "groups", r->out.groups);
    2096           0 :                 ndr->depth--;
    2097           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2098           0 :                 ndr->depth--;
    2099             :         }
    2100           0 :         ndr->depth--;
    2101             : }
    2102             : 
    2103         179 : static enum ndr_err_code ndr_push_wbint_QueryUserRidList(struct ndr_push *ndr, int flags, const struct wbint_QueryUserRidList *r)
    2104             : {
    2105         179 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2106         179 :         if (flags & NDR_IN) {
    2107             :         }
    2108         179 :         if (flags & NDR_OUT) {
    2109           0 :                 if (r->out.rids == NULL) {
    2110           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2111             :                 }
    2112           0 :                 NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
    2113           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2114             :         }
    2115         179 :         return NDR_ERR_SUCCESS;
    2116             : }
    2117             : 
    2118         179 : static enum ndr_err_code ndr_pull_wbint_QueryUserRidList(struct ndr_pull *ndr, int flags, struct wbint_QueryUserRidList *r)
    2119             : {
    2120         179 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    2121         179 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2122         179 :         if (flags & NDR_IN) {
    2123           0 :                 NDR_ZERO_STRUCT(r->out);
    2124             : 
    2125           0 :                 NDR_PULL_ALLOC(ndr, r->out.rids);
    2126           0 :                 NDR_ZERO_STRUCTP(r->out.rids);
    2127             :         }
    2128         179 :         if (flags & NDR_OUT) {
    2129             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2130             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2131         179 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2132         179 :                         NDR_PULL_ALLOC(ndr, r->out.rids);
    2133             :                 }
    2134         179 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2135         179 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
    2136         179 :                 NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids));
    2137         179 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
    2138         179 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2139             :         }
    2140         179 :         return NDR_ERR_SUCCESS;
    2141             : }
    2142             : 
    2143           0 : _PUBLIC_ void ndr_print_wbint_QueryUserRidList(struct ndr_print *ndr, const char *name, int flags, const struct wbint_QueryUserRidList *r)
    2144             : {
    2145           0 :         ndr_print_struct(ndr, name, "wbint_QueryUserRidList");
    2146           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2147           0 :         ndr->depth++;
    2148           0 :         if (flags & NDR_SET_VALUES) {
    2149           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2150             :         }
    2151           0 :         if (flags & NDR_IN) {
    2152           0 :                 ndr_print_struct(ndr, "in", "wbint_QueryUserRidList");
    2153           0 :                 ndr->depth++;
    2154           0 :                 ndr->depth--;
    2155             :         }
    2156           0 :         if (flags & NDR_OUT) {
    2157           0 :                 ndr_print_struct(ndr, "out", "wbint_QueryUserRidList");
    2158           0 :                 ndr->depth++;
    2159           0 :                 ndr_print_ptr(ndr, "rids", r->out.rids);
    2160           0 :                 ndr->depth++;
    2161           0 :                 ndr_print_wbint_RidArray(ndr, "rids", r->out.rids);
    2162           0 :                 ndr->depth--;
    2163           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2164           0 :                 ndr->depth--;
    2165             :         }
    2166           0 :         ndr->depth--;
    2167             : }
    2168             : 
    2169         104 : static enum ndr_err_code ndr_push_wbint_DsGetDcName(struct ndr_push *ndr, int flags, const struct wbint_DsGetDcName *r)
    2170             : {
    2171         104 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2172         104 :         if (flags & NDR_IN) {
    2173          86 :                 if (r->in.domain_name == NULL) {
    2174           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2175             :                 }
    2176          86 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
    2177          86 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2178          86 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
    2179          86 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    2180          86 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
    2181          86 :                 if (r->in.domain_guid) {
    2182           0 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
    2183             :                 }
    2184          86 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
    2185          86 :                 if (r->in.site_name) {
    2186          38 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF8)));
    2187          38 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2188          38 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF8)));
    2189          38 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    2190             :                 }
    2191          86 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
    2192             :         }
    2193         104 :         if (flags & NDR_OUT) {
    2194          18 :                 if (r->out.dc_info == NULL) {
    2195           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2196             :                 }
    2197          18 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dc_info));
    2198          18 :                 if (*r->out.dc_info) {
    2199          18 :                         NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.dc_info));
    2200             :                 }
    2201          18 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2202             :         }
    2203         104 :         return NDR_ERR_SUCCESS;
    2204             : }
    2205             : 
    2206         102 : static enum ndr_err_code ndr_pull_wbint_DsGetDcName(struct ndr_pull *ndr, int flags, struct wbint_DsGetDcName *r)
    2207             : {
    2208         102 :         uint32_t size_domain_name_1 = 0;
    2209         102 :         uint32_t length_domain_name_1 = 0;
    2210             :         uint32_t _ptr_domain_guid;
    2211             :         uint32_t _ptr_site_name;
    2212         102 :         uint32_t size_site_name_1 = 0;
    2213         102 :         uint32_t length_site_name_1 = 0;
    2214             :         uint32_t _ptr_dc_info;
    2215         102 :         TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
    2216         102 :         TALLOC_CTX *_mem_save_site_name_0 = NULL;
    2217         102 :         TALLOC_CTX *_mem_save_dc_info_0 = NULL;
    2218         102 :         TALLOC_CTX *_mem_save_dc_info_1 = NULL;
    2219         102 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2220         102 :         if (flags & NDR_IN) {
    2221          19 :                 NDR_ZERO_STRUCT(r->out);
    2222             : 
    2223          19 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
    2224          19 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
    2225          19 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
    2226          19 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
    2227          19 :                 if (length_domain_name_1 > size_domain_name_1) {
    2228           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
    2229             :                 }
    2230          19 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint8_t)));
    2231          19 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint8_t), CH_UTF8));
    2232          19 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
    2233          19 :                 if (_ptr_domain_guid) {
    2234           0 :                         NDR_PULL_ALLOC(ndr, r->in.domain_guid);
    2235             :                 } else {
    2236          19 :                         r->in.domain_guid = NULL;
    2237             :                 }
    2238          19 :                 if (r->in.domain_guid) {
    2239           0 :                         _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2240           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
    2241           0 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
    2242           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
    2243             :                 }
    2244          19 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
    2245          19 :                 if (_ptr_site_name) {
    2246           8 :                         NDR_PULL_ALLOC(ndr, r->in.site_name);
    2247             :                 } else {
    2248          11 :                         r->in.site_name = NULL;
    2249             :                 }
    2250          19 :                 if (r->in.site_name) {
    2251           8 :                         _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2252           8 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
    2253           8 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
    2254           8 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
    2255           8 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
    2256           8 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
    2257           8 :                         if (length_site_name_1 > size_site_name_1) {
    2258           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
    2259             :                         }
    2260           8 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint8_t)));
    2261           8 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint8_t), CH_UTF8));
    2262           8 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
    2263             :                 }
    2264          19 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
    2265          19 :                 NDR_PULL_ALLOC(ndr, r->out.dc_info);
    2266          19 :                 NDR_ZERO_STRUCTP(r->out.dc_info);
    2267             :         }
    2268         102 :         if (flags & NDR_OUT) {
    2269             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2270             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2271          83 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2272          83 :                         NDR_PULL_ALLOC(ndr, r->out.dc_info);
    2273             :                 }
    2274          83 :                 _mem_save_dc_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2275          83 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.dc_info, LIBNDR_FLAG_REF_ALLOC);
    2276          83 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_info));
    2277          83 :                 if (_ptr_dc_info) {
    2278          76 :                         NDR_PULL_ALLOC(ndr, *r->out.dc_info);
    2279             :                 } else {
    2280           7 :                         *r->out.dc_info = NULL;
    2281             :                 }
    2282          83 :                 if (*r->out.dc_info) {
    2283          76 :                         _mem_save_dc_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
    2284          76 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.dc_info, 0);
    2285          76 :                         NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.dc_info));
    2286          76 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_info_1, 0);
    2287             :                 }
    2288          83 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_info_0, LIBNDR_FLAG_REF_ALLOC);
    2289          83 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2290             :         }
    2291         102 :         return NDR_ERR_SUCCESS;
    2292             : }
    2293             : 
    2294           0 : _PUBLIC_ void ndr_print_wbint_DsGetDcName(struct ndr_print *ndr, const char *name, int flags, const struct wbint_DsGetDcName *r)
    2295             : {
    2296           0 :         ndr_print_struct(ndr, name, "wbint_DsGetDcName");
    2297           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2298           0 :         ndr->depth++;
    2299           0 :         if (flags & NDR_SET_VALUES) {
    2300           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2301             :         }
    2302           0 :         if (flags & NDR_IN) {
    2303           0 :                 ndr_print_struct(ndr, "in", "wbint_DsGetDcName");
    2304           0 :                 ndr->depth++;
    2305           0 :                 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
    2306           0 :                 ndr->depth++;
    2307           0 :                 ndr_print_string(ndr, "domain_name", r->in.domain_name);
    2308           0 :                 ndr->depth--;
    2309           0 :                 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
    2310           0 :                 ndr->depth++;
    2311           0 :                 if (r->in.domain_guid) {
    2312           0 :                         ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
    2313             :                 }
    2314           0 :                 ndr->depth--;
    2315           0 :                 ndr_print_ptr(ndr, "site_name", r->in.site_name);
    2316           0 :                 ndr->depth++;
    2317           0 :                 if (r->in.site_name) {
    2318           0 :                         ndr_print_string(ndr, "site_name", r->in.site_name);
    2319             :                 }
    2320           0 :                 ndr->depth--;
    2321           0 :                 ndr_print_uint32(ndr, "flags", r->in.flags);
    2322           0 :                 ndr->depth--;
    2323             :         }
    2324           0 :         if (flags & NDR_OUT) {
    2325           0 :                 ndr_print_struct(ndr, "out", "wbint_DsGetDcName");
    2326           0 :                 ndr->depth++;
    2327           0 :                 ndr_print_ptr(ndr, "dc_info", r->out.dc_info);
    2328           0 :                 ndr->depth++;
    2329           0 :                 ndr_print_ptr(ndr, "dc_info", *r->out.dc_info);
    2330           0 :                 ndr->depth++;
    2331           0 :                 if (*r->out.dc_info) {
    2332           0 :                         ndr_print_netr_DsRGetDCNameInfo(ndr, "dc_info", *r->out.dc_info);
    2333             :                 }
    2334           0 :                 ndr->depth--;
    2335           0 :                 ndr->depth--;
    2336           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2337           0 :                 ndr->depth--;
    2338             :         }
    2339           0 :         ndr->depth--;
    2340             : }
    2341             : 
    2342          80 : static enum ndr_err_code ndr_push_wbint_LookupRids(struct ndr_push *ndr, int flags, const struct wbint_LookupRids *r)
    2343             : {
    2344          80 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2345          80 :         if (flags & NDR_IN) {
    2346          80 :                 if (r->in.domain_sid == NULL) {
    2347           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2348             :                 }
    2349          80 :                 if (r->in.rids == NULL) {
    2350           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2351             :                 }
    2352          80 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.domain_sid));
    2353          80 :                 NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->in.rids));
    2354             :         }
    2355          80 :         if (flags & NDR_OUT) {
    2356           0 :                 if (r->out.domain_name == NULL) {
    2357           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2358             :                 }
    2359           0 :                 if (r->out.names == NULL) {
    2360           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2361             :                 }
    2362           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domain_name));
    2363           0 :                 if (*r->out.domain_name) {
    2364           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain_name, CH_UTF8)));
    2365           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2366           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain_name, CH_UTF8)));
    2367           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.domain_name, ndr_charset_length(*r->out.domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    2368             :                 }
    2369           0 :                 NDR_CHECK(ndr_push_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
    2370           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2371             :         }
    2372          80 :         return NDR_ERR_SUCCESS;
    2373             : }
    2374             : 
    2375          80 : static enum ndr_err_code ndr_pull_wbint_LookupRids(struct ndr_pull *ndr, int flags, struct wbint_LookupRids *r)
    2376             : {
    2377             :         uint32_t _ptr_domain_name;
    2378          80 :         uint32_t size_domain_name_2 = 0;
    2379          80 :         uint32_t length_domain_name_2 = 0;
    2380          80 :         TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
    2381          80 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    2382          80 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
    2383          80 :         TALLOC_CTX *_mem_save_domain_name_1 = NULL;
    2384          80 :         TALLOC_CTX *_mem_save_names_0 = NULL;
    2385          80 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2386          80 :         if (flags & NDR_IN) {
    2387           0 :                 NDR_ZERO_STRUCT(r->out);
    2388             : 
    2389           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2390           0 :                         NDR_PULL_ALLOC(ndr, r->in.domain_sid);
    2391             :                 }
    2392           0 :                 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2393           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_sid, LIBNDR_FLAG_REF_ALLOC);
    2394           0 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.domain_sid));
    2395           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, LIBNDR_FLAG_REF_ALLOC);
    2396           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2397           0 :                         NDR_PULL_ALLOC(ndr, r->in.rids);
    2398             :                 }
    2399           0 :                 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2400           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, LIBNDR_FLAG_REF_ALLOC);
    2401           0 :                 NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->in.rids));
    2402           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
    2403           0 :                 NDR_PULL_ALLOC(ndr, r->out.domain_name);
    2404           0 :                 NDR_ZERO_STRUCTP(r->out.domain_name);
    2405           0 :                 NDR_PULL_ALLOC(ndr, r->out.names);
    2406           0 :                 NDR_ZERO_STRUCTP(r->out.names);
    2407             :         }
    2408          80 :         if (flags & NDR_OUT) {
    2409             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2410             :                 if (r->in.domain_sid == NULL) {
    2411             :                         NDR_PULL_ALLOC(ndr, r->in.domain_sid);
    2412             :                         NDR_ZERO_STRUCTP(r->in.domain_sid);
    2413             :                 }
    2414             :                 if (r->in.rids == NULL) {
    2415             :                         NDR_PULL_ALLOC(ndr, r->in.rids);
    2416             :                         NDR_ZERO_STRUCTP(r->in.rids);
    2417             :                 }
    2418             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2419          80 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2420          80 :                         NDR_PULL_ALLOC(ndr, r->out.domain_name);
    2421             :                 }
    2422          80 :                 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2423          80 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_name, LIBNDR_FLAG_REF_ALLOC);
    2424          80 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
    2425          80 :                 if (_ptr_domain_name) {
    2426          52 :                         NDR_PULL_ALLOC(ndr, *r->out.domain_name);
    2427             :                 } else {
    2428          28 :                         *r->out.domain_name = NULL;
    2429             :                 }
    2430          80 :                 if (*r->out.domain_name) {
    2431          52 :                         _mem_save_domain_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
    2432          52 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.domain_name, 0);
    2433          52 :                         NDR_CHECK(ndr_pull_array_size(ndr, r->out.domain_name));
    2434          52 :                         NDR_CHECK(ndr_pull_array_length(ndr, r->out.domain_name));
    2435          52 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.domain_name, &size_domain_name_2));
    2436          52 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.domain_name, &length_domain_name_2));
    2437          52 :                         if (length_domain_name_2 > size_domain_name_2) {
    2438           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_2, length_domain_name_2);
    2439             :                         }
    2440          52 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_2, sizeof(uint8_t)));
    2441          52 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.domain_name, length_domain_name_2, sizeof(uint8_t), CH_UTF8));
    2442          52 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_1, 0);
    2443             :                 }
    2444          80 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
    2445          80 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2446          80 :                         NDR_PULL_ALLOC(ndr, r->out.names);
    2447             :                 }
    2448          80 :                 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2449          80 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
    2450          80 :                 NDR_CHECK(ndr_pull_wbint_Principals(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
    2451          80 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
    2452          80 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2453             :         }
    2454          80 :         return NDR_ERR_SUCCESS;
    2455             : }
    2456             : 
    2457           0 : _PUBLIC_ void ndr_print_wbint_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupRids *r)
    2458             : {
    2459           0 :         ndr_print_struct(ndr, name, "wbint_LookupRids");
    2460           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2461           0 :         ndr->depth++;
    2462           0 :         if (flags & NDR_SET_VALUES) {
    2463           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2464             :         }
    2465           0 :         if (flags & NDR_IN) {
    2466           0 :                 ndr_print_struct(ndr, "in", "wbint_LookupRids");
    2467           0 :                 ndr->depth++;
    2468           0 :                 ndr_print_ptr(ndr, "domain_sid", r->in.domain_sid);
    2469           0 :                 ndr->depth++;
    2470           0 :                 ndr_print_dom_sid(ndr, "domain_sid", r->in.domain_sid);
    2471           0 :                 ndr->depth--;
    2472           0 :                 ndr_print_ptr(ndr, "rids", r->in.rids);
    2473           0 :                 ndr->depth++;
    2474           0 :                 ndr_print_wbint_RidArray(ndr, "rids", r->in.rids);
    2475           0 :                 ndr->depth--;
    2476           0 :                 ndr->depth--;
    2477             :         }
    2478           0 :         if (flags & NDR_OUT) {
    2479           0 :                 ndr_print_struct(ndr, "out", "wbint_LookupRids");
    2480           0 :                 ndr->depth++;
    2481           0 :                 ndr_print_ptr(ndr, "domain_name", r->out.domain_name);
    2482           0 :                 ndr->depth++;
    2483           0 :                 ndr_print_ptr(ndr, "domain_name", *r->out.domain_name);
    2484           0 :                 ndr->depth++;
    2485           0 :                 if (*r->out.domain_name) {
    2486           0 :                         ndr_print_string(ndr, "domain_name", *r->out.domain_name);
    2487             :                 }
    2488           0 :                 ndr->depth--;
    2489           0 :                 ndr->depth--;
    2490           0 :                 ndr_print_ptr(ndr, "names", r->out.names);
    2491           0 :                 ndr->depth++;
    2492           0 :                 ndr_print_wbint_Principals(ndr, "names", r->out.names);
    2493           0 :                 ndr->depth--;
    2494           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2495           0 :                 ndr->depth--;
    2496             :         }
    2497           0 :         ndr->depth--;
    2498             : }
    2499             : 
    2500          19 : static enum ndr_err_code ndr_push_wbint_CheckMachineAccount(struct ndr_push *ndr, int flags, const struct wbint_CheckMachineAccount *r)
    2501             : {
    2502          19 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2503          19 :         if (flags & NDR_IN) {
    2504             :         }
    2505          19 :         if (flags & NDR_OUT) {
    2506           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2507             :         }
    2508          19 :         return NDR_ERR_SUCCESS;
    2509             : }
    2510             : 
    2511          19 : static enum ndr_err_code ndr_pull_wbint_CheckMachineAccount(struct ndr_pull *ndr, int flags, struct wbint_CheckMachineAccount *r)
    2512             : {
    2513          19 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2514          19 :         if (flags & NDR_IN) {
    2515             :         }
    2516          19 :         if (flags & NDR_OUT) {
    2517             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2518             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2519          19 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2520             :         }
    2521          19 :         return NDR_ERR_SUCCESS;
    2522             : }
    2523             : 
    2524           0 : _PUBLIC_ void ndr_print_wbint_CheckMachineAccount(struct ndr_print *ndr, const char *name, int flags, const struct wbint_CheckMachineAccount *r)
    2525             : {
    2526           0 :         ndr_print_struct(ndr, name, "wbint_CheckMachineAccount");
    2527           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2528           0 :         ndr->depth++;
    2529           0 :         if (flags & NDR_SET_VALUES) {
    2530           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2531             :         }
    2532           0 :         if (flags & NDR_IN) {
    2533           0 :                 ndr_print_struct(ndr, "in", "wbint_CheckMachineAccount");
    2534           0 :                 ndr->depth++;
    2535           0 :                 ndr->depth--;
    2536             :         }
    2537           0 :         if (flags & NDR_OUT) {
    2538           0 :                 ndr_print_struct(ndr, "out", "wbint_CheckMachineAccount");
    2539           0 :                 ndr->depth++;
    2540           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2541           0 :                 ndr->depth--;
    2542             :         }
    2543           0 :         ndr->depth--;
    2544             : }
    2545             : 
    2546          17 : static enum ndr_err_code ndr_push_wbint_ChangeMachineAccount(struct ndr_push *ndr, int flags, const struct wbint_ChangeMachineAccount *r)
    2547             : {
    2548          17 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2549          17 :         if (flags & NDR_IN) {
    2550             :         }
    2551          17 :         if (flags & NDR_OUT) {
    2552           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2553             :         }
    2554          17 :         return NDR_ERR_SUCCESS;
    2555             : }
    2556             : 
    2557          17 : static enum ndr_err_code ndr_pull_wbint_ChangeMachineAccount(struct ndr_pull *ndr, int flags, struct wbint_ChangeMachineAccount *r)
    2558             : {
    2559          17 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2560          17 :         if (flags & NDR_IN) {
    2561             :         }
    2562          17 :         if (flags & NDR_OUT) {
    2563             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2564             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2565          17 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2566             :         }
    2567          17 :         return NDR_ERR_SUCCESS;
    2568             : }
    2569             : 
    2570           0 : _PUBLIC_ void ndr_print_wbint_ChangeMachineAccount(struct ndr_print *ndr, const char *name, int flags, const struct wbint_ChangeMachineAccount *r)
    2571             : {
    2572           0 :         ndr_print_struct(ndr, name, "wbint_ChangeMachineAccount");
    2573           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2574           0 :         ndr->depth++;
    2575           0 :         if (flags & NDR_SET_VALUES) {
    2576           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2577             :         }
    2578           0 :         if (flags & NDR_IN) {
    2579           0 :                 ndr_print_struct(ndr, "in", "wbint_ChangeMachineAccount");
    2580           0 :                 ndr->depth++;
    2581           0 :                 ndr->depth--;
    2582             :         }
    2583           0 :         if (flags & NDR_OUT) {
    2584           0 :                 ndr_print_struct(ndr, "out", "wbint_ChangeMachineAccount");
    2585           0 :                 ndr->depth++;
    2586           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2587           0 :                 ndr->depth--;
    2588             :         }
    2589           0 :         ndr->depth--;
    2590             : }
    2591             : 
    2592        1223 : static enum ndr_err_code ndr_push_wbint_PingDc(struct ndr_push *ndr, int flags, const struct wbint_PingDc *r)
    2593             : {
    2594        1223 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2595        1223 :         if (flags & NDR_IN) {
    2596             :         }
    2597        1223 :         if (flags & NDR_OUT) {
    2598           0 :                 if (r->out.dcname == NULL) {
    2599           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2600             :                 }
    2601           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
    2602           0 :                 if (*r->out.dcname) {
    2603           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF8)));
    2604           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2605           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF8)));
    2606           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    2607             :                 }
    2608           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2609             :         }
    2610        1223 :         return NDR_ERR_SUCCESS;
    2611             : }
    2612             : 
    2613        1222 : static enum ndr_err_code ndr_pull_wbint_PingDc(struct ndr_pull *ndr, int flags, struct wbint_PingDc *r)
    2614             : {
    2615             :         uint32_t _ptr_dcname;
    2616        1222 :         uint32_t size_dcname_2 = 0;
    2617        1222 :         uint32_t length_dcname_2 = 0;
    2618        1222 :         TALLOC_CTX *_mem_save_dcname_0 = NULL;
    2619        1222 :         TALLOC_CTX *_mem_save_dcname_1 = NULL;
    2620        1222 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2621        1222 :         if (flags & NDR_IN) {
    2622           0 :                 NDR_ZERO_STRUCT(r->out);
    2623             : 
    2624           0 :                 NDR_PULL_ALLOC(ndr, r->out.dcname);
    2625           0 :                 NDR_ZERO_STRUCTP(r->out.dcname);
    2626             :         }
    2627        1222 :         if (flags & NDR_OUT) {
    2628             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2629             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2630        1222 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2631        1222 :                         NDR_PULL_ALLOC(ndr, r->out.dcname);
    2632             :                 }
    2633        1222 :                 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2634        1222 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
    2635        1222 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
    2636        1222 :                 if (_ptr_dcname) {
    2637          41 :                         NDR_PULL_ALLOC(ndr, *r->out.dcname);
    2638             :                 } else {
    2639        1181 :                         *r->out.dcname = NULL;
    2640             :                 }
    2641        1222 :                 if (*r->out.dcname) {
    2642          41 :                         _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
    2643          41 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
    2644          41 :                         NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
    2645          41 :                         NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
    2646          41 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.dcname, &size_dcname_2));
    2647          41 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.dcname, &length_dcname_2));
    2648          41 :                         if (length_dcname_2 > size_dcname_2) {
    2649           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_2, length_dcname_2);
    2650             :                         }
    2651          41 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint8_t)));
    2652          41 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint8_t), CH_UTF8));
    2653          41 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
    2654             :                 }
    2655        1222 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
    2656        1222 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2657             :         }
    2658        1222 :         return NDR_ERR_SUCCESS;
    2659             : }
    2660             : 
    2661           0 : _PUBLIC_ void ndr_print_wbint_PingDc(struct ndr_print *ndr, const char *name, int flags, const struct wbint_PingDc *r)
    2662             : {
    2663           0 :         ndr_print_struct(ndr, name, "wbint_PingDc");
    2664           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2665           0 :         ndr->depth++;
    2666           0 :         if (flags & NDR_SET_VALUES) {
    2667           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2668             :         }
    2669           0 :         if (flags & NDR_IN) {
    2670           0 :                 ndr_print_struct(ndr, "in", "wbint_PingDc");
    2671           0 :                 ndr->depth++;
    2672           0 :                 ndr->depth--;
    2673             :         }
    2674           0 :         if (flags & NDR_OUT) {
    2675           0 :                 ndr_print_struct(ndr, "out", "wbint_PingDc");
    2676           0 :                 ndr->depth++;
    2677           0 :                 ndr_print_ptr(ndr, "dcname", r->out.dcname);
    2678           0 :                 ndr->depth++;
    2679           0 :                 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
    2680           0 :                 ndr->depth++;
    2681           0 :                 if (*r->out.dcname) {
    2682           0 :                         ndr_print_string(ndr, "dcname", *r->out.dcname);
    2683             :                 }
    2684           0 :                 ndr->depth--;
    2685           0 :                 ndr->depth--;
    2686           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2687           0 :                 ndr->depth--;
    2688             :         }
    2689           0 :         ndr->depth--;
    2690             : }
    2691             : 
    2692        2463 : static enum ndr_err_code ndr_push_winbind_SamLogon(struct ndr_push *ndr, int flags, const struct winbind_SamLogon *r)
    2693             : {
    2694        2463 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2695        2463 :         if (flags & NDR_IN) {
    2696        1486 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
    2697        1486 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
    2698        1486 :                 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
    2699        1486 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
    2700             :         }
    2701        2463 :         if (flags & NDR_OUT) {
    2702         977 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.validation, r->in.validation_level));
    2703         977 :                 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.validation));
    2704         977 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->out.authoritative));
    2705         977 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2706             :         }
    2707        2463 :         return NDR_ERR_SUCCESS;
    2708             : }
    2709             : 
    2710        2442 : static enum ndr_err_code ndr_pull_winbind_SamLogon(struct ndr_pull *ndr, int flags, struct winbind_SamLogon *r)
    2711             : {
    2712        2442 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2713        2442 :         if (flags & NDR_IN) {
    2714         977 :                 NDR_ZERO_STRUCT(r->out);
    2715             : 
    2716         977 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
    2717         977 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
    2718         977 :                 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
    2719         977 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
    2720             :         }
    2721        2442 :         if (flags & NDR_OUT) {
    2722             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2723             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2724        1465 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.validation, r->in.validation_level));
    2725        1465 :                 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.validation));
    2726        1465 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->out.authoritative));
    2727        1465 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2728             :         }
    2729        2442 :         return NDR_ERR_SUCCESS;
    2730             : }
    2731             : 
    2732           0 : _PUBLIC_ void ndr_print_winbind_SamLogon(struct ndr_print *ndr, const char *name, int flags, const struct winbind_SamLogon *r)
    2733             : {
    2734           0 :         ndr_print_struct(ndr, name, "winbind_SamLogon");
    2735           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2736           0 :         ndr->depth++;
    2737           0 :         if (flags & NDR_SET_VALUES) {
    2738           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2739             :         }
    2740           0 :         if (flags & NDR_IN) {
    2741           0 :                 ndr_print_struct(ndr, "in", "winbind_SamLogon");
    2742           0 :                 ndr->depth++;
    2743           0 :                 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
    2744           0 :                 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
    2745           0 :                 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
    2746           0 :                 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
    2747           0 :                 ndr->depth--;
    2748             :         }
    2749           0 :         if (flags & NDR_OUT) {
    2750           0 :                 ndr_print_struct(ndr, "out", "winbind_SamLogon");
    2751           0 :                 ndr->depth++;
    2752           0 :                 ndr_print_set_switch_value(ndr, &r->out.validation, r->in.validation_level);
    2753           0 :                 ndr_print_netr_Validation(ndr, "validation", &r->out.validation);
    2754           0 :                 ndr_print_uint8(ndr, "authoritative", r->out.authoritative);
    2755           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2756           0 :                 ndr->depth--;
    2757             :         }
    2758           0 :         ndr->depth--;
    2759             : }
    2760             : 
    2761          12 : static enum ndr_err_code ndr_push_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_push *ndr, int flags, const struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
    2762             : {
    2763          12 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2764          12 :         if (flags & NDR_IN) {
    2765           8 :                 if (r->in.dns_names == NULL) {
    2766           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2767             :                 }
    2768           8 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
    2769           8 :                 if (r->in.site_name) {
    2770           8 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
    2771           8 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2772           8 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
    2773           8 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    2774             :                 }
    2775           8 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.dns_ttl));
    2776           8 :                 NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
    2777             :         }
    2778          12 :         if (flags & NDR_OUT) {
    2779           4 :                 if (r->out.dns_names == NULL) {
    2780           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2781             :                 }
    2782           4 :                 NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
    2783           4 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    2784             :         }
    2785          12 :         return NDR_ERR_SUCCESS;
    2786             : }
    2787             : 
    2788          12 : static enum ndr_err_code ndr_pull_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_pull *ndr, int flags, struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
    2789             : {
    2790             :         uint32_t _ptr_site_name;
    2791          12 :         uint32_t size_site_name_1 = 0;
    2792          12 :         uint32_t length_site_name_1 = 0;
    2793          12 :         TALLOC_CTX *_mem_save_site_name_0 = NULL;
    2794          12 :         TALLOC_CTX *_mem_save_dns_names_0 = NULL;
    2795          12 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2796          12 :         if (flags & NDR_IN) {
    2797           4 :                 NDR_ZERO_STRUCT(r->out);
    2798             : 
    2799           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
    2800           4 :                 if (_ptr_site_name) {
    2801           4 :                         NDR_PULL_ALLOC(ndr, r->in.site_name);
    2802             :                 } else {
    2803           0 :                         r->in.site_name = NULL;
    2804             :                 }
    2805           4 :                 if (r->in.site_name) {
    2806           4 :                         _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2807           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
    2808           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
    2809           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
    2810           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
    2811           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
    2812           4 :                         if (length_site_name_1 > size_site_name_1) {
    2813           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
    2814             :                         }
    2815           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
    2816           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
    2817           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
    2818             :                 }
    2819           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.dns_ttl));
    2820           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2821           4 :                         NDR_PULL_ALLOC(ndr, r->in.dns_names);
    2822             :                 }
    2823           4 :                 _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2824           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.dns_names, LIBNDR_FLAG_REF_ALLOC);
    2825           4 :                 NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
    2826           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
    2827           4 :                 NDR_PULL_ALLOC(ndr, r->out.dns_names);
    2828           4 :                 *r->out.dns_names = *r->in.dns_names;
    2829             :         }
    2830          12 :         if (flags & NDR_OUT) {
    2831             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2832             :                 if (r->in.dns_names == NULL) {
    2833             :                         NDR_PULL_ALLOC(ndr, r->in.dns_names);
    2834             :                         NDR_ZERO_STRUCTP(r->in.dns_names);
    2835             :                 }
    2836             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2837           8 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2838           8 :                         NDR_PULL_ALLOC(ndr, r->out.dns_names);
    2839             :                 }
    2840           8 :                 _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2841           8 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.dns_names, LIBNDR_FLAG_REF_ALLOC);
    2842           8 :                 NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
    2843           8 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
    2844           8 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    2845             :         }
    2846          12 :         return NDR_ERR_SUCCESS;
    2847             : }
    2848             : 
    2849           0 : _PUBLIC_ void ndr_print_winbind_DsrUpdateReadOnlyServerDnsRecords(struct ndr_print *ndr, const char *name, int flags, const struct winbind_DsrUpdateReadOnlyServerDnsRecords *r)
    2850             : {
    2851           0 :         ndr_print_struct(ndr, name, "winbind_DsrUpdateReadOnlyServerDnsRecords");
    2852           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2853           0 :         ndr->depth++;
    2854           0 :         if (flags & NDR_SET_VALUES) {
    2855           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2856             :         }
    2857           0 :         if (flags & NDR_IN) {
    2858           0 :                 ndr_print_struct(ndr, "in", "winbind_DsrUpdateReadOnlyServerDnsRecords");
    2859           0 :                 ndr->depth++;
    2860           0 :                 ndr_print_ptr(ndr, "site_name", r->in.site_name);
    2861           0 :                 ndr->depth++;
    2862           0 :                 if (r->in.site_name) {
    2863           0 :                         ndr_print_string(ndr, "site_name", r->in.site_name);
    2864             :                 }
    2865           0 :                 ndr->depth--;
    2866           0 :                 ndr_print_uint32(ndr, "dns_ttl", r->in.dns_ttl);
    2867           0 :                 ndr_print_ptr(ndr, "dns_names", r->in.dns_names);
    2868           0 :                 ndr->depth++;
    2869           0 :                 ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->in.dns_names);
    2870           0 :                 ndr->depth--;
    2871           0 :                 ndr->depth--;
    2872             :         }
    2873           0 :         if (flags & NDR_OUT) {
    2874           0 :                 ndr_print_struct(ndr, "out", "winbind_DsrUpdateReadOnlyServerDnsRecords");
    2875           0 :                 ndr->depth++;
    2876           0 :                 ndr_print_ptr(ndr, "dns_names", r->out.dns_names);
    2877           0 :                 ndr->depth++;
    2878           0 :                 ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->out.dns_names);
    2879           0 :                 ndr->depth--;
    2880           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    2881           0 :                 ndr->depth--;
    2882             :         }
    2883           0 :         ndr->depth--;
    2884             : }
    2885             : 
    2886         351 : static enum ndr_err_code ndr_push_winbind_LogonControl(struct ndr_push *ndr, int flags, const struct winbind_LogonControl *r)
    2887             : {
    2888         351 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2889         351 :         if (flags & NDR_IN) {
    2890         258 :                 if (r->in.data == NULL) {
    2891           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2892             :                 }
    2893         258 :                 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
    2894         258 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
    2895         258 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
    2896         258 :                 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
    2897             :         }
    2898         351 :         if (flags & NDR_OUT) {
    2899          93 :                 if (r->out.query == NULL) {
    2900           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2901             :                 }
    2902          93 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
    2903          93 :                 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
    2904          93 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
    2905             :         }
    2906         335 :         return NDR_ERR_SUCCESS;
    2907             : }
    2908             : 
    2909         351 : static enum ndr_err_code ndr_pull_winbind_LogonControl(struct ndr_pull *ndr, int flags, struct winbind_LogonControl *r)
    2910             : {
    2911         351 :         TALLOC_CTX *_mem_save_data_0 = NULL;
    2912         351 :         TALLOC_CTX *_mem_save_query_0 = NULL;
    2913         351 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    2914         351 :         if (flags & NDR_IN) {
    2915          93 :                 NDR_ZERO_STRUCT(r->out);
    2916             : 
    2917          93 :                 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
    2918          93 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
    2919          93 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2920          93 :                         NDR_PULL_ALLOC(ndr, r->in.data);
    2921             :                 }
    2922          93 :                 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2923          93 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
    2924          93 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
    2925          93 :                 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
    2926          93 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
    2927          93 :                 NDR_PULL_ALLOC(ndr, r->out.query);
    2928          93 :                 NDR_ZERO_STRUCTP(r->out.query);
    2929             :         }
    2930         351 :         if (flags & NDR_OUT) {
    2931             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    2932             :                 if (r->in.data == NULL) {
    2933             :                         NDR_PULL_ALLOC(ndr, r->in.data);
    2934             :                         NDR_ZERO_STRUCTP(r->in.data);
    2935             :                 }
    2936             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    2937         258 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    2938         258 :                         NDR_PULL_ALLOC(ndr, r->out.query);
    2939             :                 }
    2940         258 :                 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2941         258 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
    2942         258 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
    2943         258 :                 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
    2944         258 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
    2945         258 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
    2946             :         }
    2947         335 :         return NDR_ERR_SUCCESS;
    2948             : }
    2949             : 
    2950           0 : _PUBLIC_ void ndr_print_winbind_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct winbind_LogonControl *r)
    2951             : {
    2952           0 :         ndr_print_struct(ndr, name, "winbind_LogonControl");
    2953           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2954           0 :         ndr->depth++;
    2955           0 :         if (flags & NDR_SET_VALUES) {
    2956           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    2957             :         }
    2958           0 :         if (flags & NDR_IN) {
    2959           0 :                 ndr_print_struct(ndr, "in", "winbind_LogonControl");
    2960           0 :                 ndr->depth++;
    2961           0 :                 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
    2962           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
    2963           0 :                 ndr_print_ptr(ndr, "data", r->in.data);
    2964           0 :                 ndr->depth++;
    2965           0 :                 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
    2966           0 :                 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
    2967           0 :                 ndr->depth--;
    2968           0 :                 ndr->depth--;
    2969             :         }
    2970           0 :         if (flags & NDR_OUT) {
    2971           0 :                 ndr_print_struct(ndr, "out", "winbind_LogonControl");
    2972           0 :                 ndr->depth++;
    2973           0 :                 ndr_print_ptr(ndr, "query", r->out.query);
    2974           0 :                 ndr->depth++;
    2975           0 :                 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
    2976           0 :                 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
    2977           0 :                 ndr->depth--;
    2978           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
    2979           0 :                 ndr->depth--;
    2980             :         }
    2981           0 :         ndr->depth--;
    2982             : }
    2983             : 
    2984          40 : static enum ndr_err_code ndr_push_winbind_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct winbind_GetForestTrustInformation *r)
    2985             : {
    2986          40 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    2987          40 :         if (flags & NDR_IN) {
    2988          30 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
    2989          30 :                 if (r->in.trusted_domain_name) {
    2990          30 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
    2991          30 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2992          30 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
    2993          30 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.trusted_domain_name, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    2994             :                 }
    2995          30 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
    2996             :         }
    2997          40 :         if (flags & NDR_OUT) {
    2998          10 :                 if (r->out.forest_trust_info == NULL) {
    2999           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    3000             :                 }
    3001          10 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
    3002          10 :                 if (*r->out.forest_trust_info) {
    3003          10 :                         NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
    3004             :                 }
    3005          10 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
    3006             :         }
    3007          40 :         return NDR_ERR_SUCCESS;
    3008             : }
    3009             : 
    3010          40 : static enum ndr_err_code ndr_pull_winbind_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct winbind_GetForestTrustInformation *r)
    3011             : {
    3012             :         uint32_t _ptr_trusted_domain_name;
    3013          40 :         uint32_t size_trusted_domain_name_1 = 0;
    3014          40 :         uint32_t length_trusted_domain_name_1 = 0;
    3015             :         uint32_t _ptr_forest_trust_info;
    3016          40 :         TALLOC_CTX *_mem_save_trusted_domain_name_0 = NULL;
    3017          40 :         TALLOC_CTX *_mem_save_forest_trust_info_0 = NULL;
    3018          40 :         TALLOC_CTX *_mem_save_forest_trust_info_1 = NULL;
    3019          40 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    3020          40 :         if (flags & NDR_IN) {
    3021          10 :                 NDR_ZERO_STRUCT(r->out);
    3022             : 
    3023          10 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
    3024          10 :                 if (_ptr_trusted_domain_name) {
    3025          10 :                         NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
    3026             :                 } else {
    3027           0 :                         r->in.trusted_domain_name = NULL;
    3028             :                 }
    3029          10 :                 if (r->in.trusted_domain_name) {
    3030          10 :                         _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3031          10 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
    3032          10 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
    3033          10 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
    3034          10 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.trusted_domain_name, &size_trusted_domain_name_1));
    3035          10 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.trusted_domain_name, &length_trusted_domain_name_1));
    3036          10 :                         if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
    3037           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
    3038             :                         }
    3039          10 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
    3040          10 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
    3041          10 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
    3042             :                 }
    3043          10 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
    3044          10 :                 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
    3045          10 :                 NDR_ZERO_STRUCTP(r->out.forest_trust_info);
    3046             :         }
    3047          40 :         if (flags & NDR_OUT) {
    3048             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    3049             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    3050          30 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    3051          30 :                         NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
    3052             :                 }
    3053          30 :                 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3054          30 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
    3055          30 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
    3056          30 :                 if (_ptr_forest_trust_info) {
    3057          30 :                         NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
    3058             :                 } else {
    3059           0 :                         *r->out.forest_trust_info = NULL;
    3060             :                 }
    3061          30 :                 if (*r->out.forest_trust_info) {
    3062          30 :                         _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
    3063          30 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
    3064          30 :                         NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
    3065          30 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
    3066             :                 }
    3067          30 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
    3068          30 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
    3069             :         }
    3070          40 :         return NDR_ERR_SUCCESS;
    3071             : }
    3072             : 
    3073           0 : _PUBLIC_ void ndr_print_winbind_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct winbind_GetForestTrustInformation *r)
    3074             : {
    3075           0 :         ndr_print_struct(ndr, name, "winbind_GetForestTrustInformation");
    3076           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3077           0 :         ndr->depth++;
    3078           0 :         if (flags & NDR_SET_VALUES) {
    3079           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    3080             :         }
    3081           0 :         if (flags & NDR_IN) {
    3082           0 :                 ndr_print_struct(ndr, "in", "winbind_GetForestTrustInformation");
    3083           0 :                 ndr->depth++;
    3084           0 :                 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
    3085           0 :                 ndr->depth++;
    3086           0 :                 if (r->in.trusted_domain_name) {
    3087           0 :                         ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
    3088             :                 }
    3089           0 :                 ndr->depth--;
    3090           0 :                 ndr_print_uint32(ndr, "flags", r->in.flags);
    3091           0 :                 ndr->depth--;
    3092             :         }
    3093           0 :         if (flags & NDR_OUT) {
    3094           0 :                 ndr_print_struct(ndr, "out", "winbind_GetForestTrustInformation");
    3095           0 :                 ndr->depth++;
    3096           0 :                 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
    3097           0 :                 ndr->depth++;
    3098           0 :                 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
    3099           0 :                 ndr->depth++;
    3100           0 :                 if (*r->out.forest_trust_info) {
    3101           0 :                         ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
    3102             :                 }
    3103           0 :                 ndr->depth--;
    3104           0 :                 ndr->depth--;
    3105           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
    3106           0 :                 ndr->depth--;
    3107             :         }
    3108           0 :         ndr->depth--;
    3109             : }
    3110             : 
    3111          51 : static enum ndr_err_code ndr_push_winbind_SendToSam(struct ndr_push *ndr, int flags, const struct winbind_SendToSam *r)
    3112             : {
    3113          51 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    3114          51 :         if (flags & NDR_IN) {
    3115          34 :                 NDR_CHECK(ndr_push_netr_SendToSamBase(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.message));
    3116             :         }
    3117          51 :         if (flags & NDR_OUT) {
    3118          17 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
    3119             :         }
    3120          51 :         return NDR_ERR_SUCCESS;
    3121             : }
    3122             : 
    3123          34 : static enum ndr_err_code ndr_pull_winbind_SendToSam(struct ndr_pull *ndr, int flags, struct winbind_SendToSam *r)
    3124             : {
    3125          34 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    3126          34 :         if (flags & NDR_IN) {
    3127          17 :                 NDR_CHECK(ndr_pull_netr_SendToSamBase(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.message));
    3128             :         }
    3129          34 :         if (flags & NDR_OUT) {
    3130             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    3131             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    3132          17 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
    3133             :         }
    3134          34 :         return NDR_ERR_SUCCESS;
    3135             : }
    3136             : 
    3137           0 : _PUBLIC_ void ndr_print_winbind_SendToSam(struct ndr_print *ndr, const char *name, int flags, const struct winbind_SendToSam *r)
    3138             : {
    3139           0 :         ndr_print_struct(ndr, name, "winbind_SendToSam");
    3140           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3141           0 :         ndr->depth++;
    3142           0 :         if (flags & NDR_SET_VALUES) {
    3143           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    3144             :         }
    3145           0 :         if (flags & NDR_IN) {
    3146           0 :                 ndr_print_struct(ndr, "in", "winbind_SendToSam");
    3147           0 :                 ndr->depth++;
    3148           0 :                 ndr_print_netr_SendToSamBase(ndr, "message", &r->in.message);
    3149           0 :                 ndr->depth--;
    3150             :         }
    3151           0 :         if (flags & NDR_OUT) {
    3152           0 :                 ndr_print_struct(ndr, "out", "winbind_SendToSam");
    3153           0 :                 ndr->depth++;
    3154           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
    3155           0 :                 ndr->depth--;
    3156             :         }
    3157           0 :         ndr->depth--;
    3158             : }
    3159             : 
    3160             : #ifndef SKIP_NDR_TABLE_winbind
    3161             : static const struct ndr_interface_public_struct winbind_public_structs[] = {
    3162             :         {
    3163             :                 .name = "wbint_userinfo",
    3164             :                 .struct_size = sizeof(struct wbint_userinfo ),
    3165             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_userinfo,
    3166             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_userinfo,
    3167             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_userinfo,
    3168             :         },
    3169             :         {
    3170             :                 .name = "wbint_SidArray",
    3171             :                 .struct_size = sizeof(struct wbint_SidArray ),
    3172             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_SidArray,
    3173             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_SidArray,
    3174             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_SidArray,
    3175             :         },
    3176             :         {
    3177             :                 .name = "wbint_RidArray",
    3178             :                 .struct_size = sizeof(struct wbint_RidArray ),
    3179             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_RidArray,
    3180             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_RidArray,
    3181             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_RidArray,
    3182             :         },
    3183             :         {
    3184             :                 .name = "wbint_Principal",
    3185             :                 .struct_size = sizeof(struct wbint_Principal ),
    3186             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_Principal,
    3187             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_Principal,
    3188             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_Principal,
    3189             :         },
    3190             :         {
    3191             :                 .name = "wbint_Principals",
    3192             :                 .struct_size = sizeof(struct wbint_Principals ),
    3193             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_Principals,
    3194             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_Principals,
    3195             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_Principals,
    3196             :         },
    3197             :         {
    3198             :                 .name = "wbint_userinfos",
    3199             :                 .struct_size = sizeof(struct wbint_userinfos ),
    3200             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_wbint_userinfos,
    3201             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_wbint_userinfos,
    3202             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_wbint_userinfos,
    3203             :         },
    3204             :         { .name = NULL }
    3205             : };
    3206             : 
    3207             : static const struct ndr_interface_call winbind_calls[] = {
    3208             :         {
    3209             :                 "wbint_Ping",
    3210             :                 sizeof(struct wbint_Ping),
    3211             :                 (ndr_push_flags_fn_t) ndr_push_wbint_Ping,
    3212             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_Ping,
    3213             :                 (ndr_print_function_t) ndr_print_wbint_Ping,
    3214             :                 { 0, NULL },
    3215             :                 { 0, NULL },
    3216             :         },
    3217             :         {
    3218             :                 "wbint_LookupSid",
    3219             :                 sizeof(struct wbint_LookupSid),
    3220             :                 (ndr_push_flags_fn_t) ndr_push_wbint_LookupSid,
    3221             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupSid,
    3222             :                 (ndr_print_function_t) ndr_print_wbint_LookupSid,
    3223             :                 { 0, NULL },
    3224             :                 { 0, NULL },
    3225             :         },
    3226             :         {
    3227             :                 "wbint_LookupSids",
    3228             :                 sizeof(struct wbint_LookupSids),
    3229             :                 (ndr_push_flags_fn_t) ndr_push_wbint_LookupSids,
    3230             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupSids,
    3231             :                 (ndr_print_function_t) ndr_print_wbint_LookupSids,
    3232             :                 { 0, NULL },
    3233             :                 { 0, NULL },
    3234             :         },
    3235             :         {
    3236             :                 "wbint_LookupName",
    3237             :                 sizeof(struct wbint_LookupName),
    3238             :                 (ndr_push_flags_fn_t) ndr_push_wbint_LookupName,
    3239             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupName,
    3240             :                 (ndr_print_function_t) ndr_print_wbint_LookupName,
    3241             :                 { 0, NULL },
    3242             :                 { 0, NULL },
    3243             :         },
    3244             :         {
    3245             :                 "wbint_Sids2UnixIDs",
    3246             :                 sizeof(struct wbint_Sids2UnixIDs),
    3247             :                 (ndr_push_flags_fn_t) ndr_push_wbint_Sids2UnixIDs,
    3248             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_Sids2UnixIDs,
    3249             :                 (ndr_print_function_t) ndr_print_wbint_Sids2UnixIDs,
    3250             :                 { 0, NULL },
    3251             :                 { 0, NULL },
    3252             :         },
    3253             :         {
    3254             :                 "wbint_UnixIDs2Sids",
    3255             :                 sizeof(struct wbint_UnixIDs2Sids),
    3256             :                 (ndr_push_flags_fn_t) ndr_push_wbint_UnixIDs2Sids,
    3257             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_UnixIDs2Sids,
    3258             :                 (ndr_print_function_t) ndr_print_wbint_UnixIDs2Sids,
    3259             :                 { 0, NULL },
    3260             :                 { 0, NULL },
    3261             :         },
    3262             :         {
    3263             :                 "wbint_AllocateUid",
    3264             :                 sizeof(struct wbint_AllocateUid),
    3265             :                 (ndr_push_flags_fn_t) ndr_push_wbint_AllocateUid,
    3266             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_AllocateUid,
    3267             :                 (ndr_print_function_t) ndr_print_wbint_AllocateUid,
    3268             :                 { 0, NULL },
    3269             :                 { 0, NULL },
    3270             :         },
    3271             :         {
    3272             :                 "wbint_AllocateGid",
    3273             :                 sizeof(struct wbint_AllocateGid),
    3274             :                 (ndr_push_flags_fn_t) ndr_push_wbint_AllocateGid,
    3275             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_AllocateGid,
    3276             :                 (ndr_print_function_t) ndr_print_wbint_AllocateGid,
    3277             :                 { 0, NULL },
    3278             :                 { 0, NULL },
    3279             :         },
    3280             :         {
    3281             :                 "wbint_GetNssInfo",
    3282             :                 sizeof(struct wbint_GetNssInfo),
    3283             :                 (ndr_push_flags_fn_t) ndr_push_wbint_GetNssInfo,
    3284             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_GetNssInfo,
    3285             :                 (ndr_print_function_t) ndr_print_wbint_GetNssInfo,
    3286             :                 { 0, NULL },
    3287             :                 { 0, NULL },
    3288             :         },
    3289             :         {
    3290             :                 "wbint_LookupUserAliases",
    3291             :                 sizeof(struct wbint_LookupUserAliases),
    3292             :                 (ndr_push_flags_fn_t) ndr_push_wbint_LookupUserAliases,
    3293             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupUserAliases,
    3294             :                 (ndr_print_function_t) ndr_print_wbint_LookupUserAliases,
    3295             :                 { 0, NULL },
    3296             :                 { 0, NULL },
    3297             :         },
    3298             :         {
    3299             :                 "wbint_LookupUserGroups",
    3300             :                 sizeof(struct wbint_LookupUserGroups),
    3301             :                 (ndr_push_flags_fn_t) ndr_push_wbint_LookupUserGroups,
    3302             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupUserGroups,
    3303             :                 (ndr_print_function_t) ndr_print_wbint_LookupUserGroups,
    3304             :                 { 0, NULL },
    3305             :                 { 0, NULL },
    3306             :         },
    3307             :         {
    3308             :                 "wbint_QuerySequenceNumber",
    3309             :                 sizeof(struct wbint_QuerySequenceNumber),
    3310             :                 (ndr_push_flags_fn_t) ndr_push_wbint_QuerySequenceNumber,
    3311             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_QuerySequenceNumber,
    3312             :                 (ndr_print_function_t) ndr_print_wbint_QuerySequenceNumber,
    3313             :                 { 0, NULL },
    3314             :                 { 0, NULL },
    3315             :         },
    3316             :         {
    3317             :                 "wbint_LookupGroupMembers",
    3318             :                 sizeof(struct wbint_LookupGroupMembers),
    3319             :                 (ndr_push_flags_fn_t) ndr_push_wbint_LookupGroupMembers,
    3320             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupGroupMembers,
    3321             :                 (ndr_print_function_t) ndr_print_wbint_LookupGroupMembers,
    3322             :                 { 0, NULL },
    3323             :                 { 0, NULL },
    3324             :         },
    3325             :         {
    3326             :                 "wbint_QueryGroupList",
    3327             :                 sizeof(struct wbint_QueryGroupList),
    3328             :                 (ndr_push_flags_fn_t) ndr_push_wbint_QueryGroupList,
    3329             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_QueryGroupList,
    3330             :                 (ndr_print_function_t) ndr_print_wbint_QueryGroupList,
    3331             :                 { 0, NULL },
    3332             :                 { 0, NULL },
    3333             :         },
    3334             :         {
    3335             :                 "wbint_QueryUserRidList",
    3336             :                 sizeof(struct wbint_QueryUserRidList),
    3337             :                 (ndr_push_flags_fn_t) ndr_push_wbint_QueryUserRidList,
    3338             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_QueryUserRidList,
    3339             :                 (ndr_print_function_t) ndr_print_wbint_QueryUserRidList,
    3340             :                 { 0, NULL },
    3341             :                 { 0, NULL },
    3342             :         },
    3343             :         {
    3344             :                 "wbint_DsGetDcName",
    3345             :                 sizeof(struct wbint_DsGetDcName),
    3346             :                 (ndr_push_flags_fn_t) ndr_push_wbint_DsGetDcName,
    3347             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_DsGetDcName,
    3348             :                 (ndr_print_function_t) ndr_print_wbint_DsGetDcName,
    3349             :                 { 0, NULL },
    3350             :                 { 0, NULL },
    3351             :         },
    3352             :         {
    3353             :                 "wbint_LookupRids",
    3354             :                 sizeof(struct wbint_LookupRids),
    3355             :                 (ndr_push_flags_fn_t) ndr_push_wbint_LookupRids,
    3356             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupRids,
    3357             :                 (ndr_print_function_t) ndr_print_wbint_LookupRids,
    3358             :                 { 0, NULL },
    3359             :                 { 0, NULL },
    3360             :         },
    3361             :         {
    3362             :                 "wbint_CheckMachineAccount",
    3363             :                 sizeof(struct wbint_CheckMachineAccount),
    3364             :                 (ndr_push_flags_fn_t) ndr_push_wbint_CheckMachineAccount,
    3365             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_CheckMachineAccount,
    3366             :                 (ndr_print_function_t) ndr_print_wbint_CheckMachineAccount,
    3367             :                 { 0, NULL },
    3368             :                 { 0, NULL },
    3369             :         },
    3370             :         {
    3371             :                 "wbint_ChangeMachineAccount",
    3372             :                 sizeof(struct wbint_ChangeMachineAccount),
    3373             :                 (ndr_push_flags_fn_t) ndr_push_wbint_ChangeMachineAccount,
    3374             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_ChangeMachineAccount,
    3375             :                 (ndr_print_function_t) ndr_print_wbint_ChangeMachineAccount,
    3376             :                 { 0, NULL },
    3377             :                 { 0, NULL },
    3378             :         },
    3379             :         {
    3380             :                 "wbint_PingDc",
    3381             :                 sizeof(struct wbint_PingDc),
    3382             :                 (ndr_push_flags_fn_t) ndr_push_wbint_PingDc,
    3383             :                 (ndr_pull_flags_fn_t) ndr_pull_wbint_PingDc,
    3384             :                 (ndr_print_function_t) ndr_print_wbint_PingDc,
    3385             :                 { 0, NULL },
    3386             :                 { 0, NULL },
    3387             :         },
    3388             :         {
    3389             :                 "winbind_SamLogon",
    3390             :                 sizeof(struct winbind_SamLogon),
    3391             :                 (ndr_push_flags_fn_t) ndr_push_winbind_SamLogon,
    3392             :                 (ndr_pull_flags_fn_t) ndr_pull_winbind_SamLogon,
    3393             :                 (ndr_print_function_t) ndr_print_winbind_SamLogon,
    3394             :                 { 0, NULL },
    3395             :                 { 0, NULL },
    3396             :         },
    3397             :         {
    3398             :                 "winbind_DsrUpdateReadOnlyServerDnsRecords",
    3399             :                 sizeof(struct winbind_DsrUpdateReadOnlyServerDnsRecords),
    3400             :                 (ndr_push_flags_fn_t) ndr_push_winbind_DsrUpdateReadOnlyServerDnsRecords,
    3401             :                 (ndr_pull_flags_fn_t) ndr_pull_winbind_DsrUpdateReadOnlyServerDnsRecords,
    3402             :                 (ndr_print_function_t) ndr_print_winbind_DsrUpdateReadOnlyServerDnsRecords,
    3403             :                 { 0, NULL },
    3404             :                 { 0, NULL },
    3405             :         },
    3406             :         {
    3407             :                 "winbind_LogonControl",
    3408             :                 sizeof(struct winbind_LogonControl),
    3409             :                 (ndr_push_flags_fn_t) ndr_push_winbind_LogonControl,
    3410             :                 (ndr_pull_flags_fn_t) ndr_pull_winbind_LogonControl,
    3411             :                 (ndr_print_function_t) ndr_print_winbind_LogonControl,
    3412             :                 { 0, NULL },
    3413             :                 { 0, NULL },
    3414             :         },
    3415             :         {
    3416             :                 "winbind_GetForestTrustInformation",
    3417             :                 sizeof(struct winbind_GetForestTrustInformation),
    3418             :                 (ndr_push_flags_fn_t) ndr_push_winbind_GetForestTrustInformation,
    3419             :                 (ndr_pull_flags_fn_t) ndr_pull_winbind_GetForestTrustInformation,
    3420             :                 (ndr_print_function_t) ndr_print_winbind_GetForestTrustInformation,
    3421             :                 { 0, NULL },
    3422             :                 { 0, NULL },
    3423             :         },
    3424             :         {
    3425             :                 "winbind_SendToSam",
    3426             :                 sizeof(struct winbind_SendToSam),
    3427             :                 (ndr_push_flags_fn_t) ndr_push_winbind_SendToSam,
    3428             :                 (ndr_pull_flags_fn_t) ndr_pull_winbind_SendToSam,
    3429             :                 (ndr_print_function_t) ndr_print_winbind_SendToSam,
    3430             :                 { 0, NULL },
    3431             :                 { 0, NULL },
    3432             :         },
    3433             :         { .name = NULL }
    3434             : };
    3435             : 
    3436             : static const char * const winbind_endpoint_strings[] = {
    3437             :         "ncalrpc:", 
    3438             : };
    3439             : 
    3440             : static const struct ndr_interface_string_array winbind_endpoints = {
    3441             :         .count  = 1,
    3442             :         .names  = winbind_endpoint_strings
    3443             : };
    3444             : 
    3445             : static const char * const winbind_authservice_strings[] = {
    3446             :         "host", 
    3447             : };
    3448             : 
    3449             : static const struct ndr_interface_string_array winbind_authservices = {
    3450             :         .count  = 1,
    3451             :         .names  = winbind_authservice_strings
    3452             : };
    3453             : 
    3454             : 
    3455             : const struct ndr_interface_table ndr_table_winbind = {
    3456             :         .name           = "winbind",
    3457             :         .syntax_id      = {
    3458             :                 {0xbf09192c,0xed60,0x4928,{0x9d,0xff},{0xd0,0xd7,0xbc,0xb0,0x3e,0xd8}},
    3459             :                 NDR_WINBIND_VERSION
    3460             :         },
    3461             :         .helpstring     = NDR_WINBIND_HELPSTRING,
    3462             :         .num_calls      = 25,
    3463             :         .calls          = winbind_calls,
    3464             :         .num_public_structs     = 6,
    3465             :         .public_structs         = winbind_public_structs,
    3466             :         .endpoints      = &winbind_endpoints,
    3467             :         .authservices   = &winbind_authservices
    3468             : };
    3469             : 
    3470             : #endif /* SKIP_NDR_TABLE_winbind */

Generated by: LCOV version 1.13