LCOV - code coverage report
Current view: top level - bin/default/librpc/gen_ndr - ndr_netlogon.c (source / functions) Hit Total Coverage
Test: coverage report for abartlet/fix-coverage dd10fb34 Lines: 7893 14004 56.4 %
Date: 2021-09-23 10:06:22 Functions: 308 471 65.4 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/librpc/gen_ndr/ndr_netlogon.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_misc.h"
       7             : #include "librpc/gen_ndr/ndr_lsa.h"
       8             : #include "librpc/gen_ndr/ndr_samr.h"
       9             : #include "librpc/gen_ndr/ndr_security.h"
      10           0 : static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
      11             : {
      12           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      13           0 :         if (ndr_flags & NDR_SCALARS) {
      14           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
      15           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
      16           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
      17           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
      18           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
      19           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
      20           0 :                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
      21           0 :                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
      22           0 :                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
      23           0 :                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
      24           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
      25           0 :                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
      26           0 :                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
      27           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
      28           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
      29           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
      30           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
      31           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
      32             :         }
      33           0 :         if (ndr_flags & NDR_BUFFERS) {
      34           0 :                 if (r->account_name) {
      35           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
      36           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      37           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
      38           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
      39             :                 }
      40           0 :                 if (r->computer) {
      41           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
      42           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      43           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
      44           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
      45             :                 }
      46           0 :                 if (r->domain) {
      47           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
      48           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      49           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
      50           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
      51             :                 }
      52           0 :                 if (r->script_path) {
      53           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
      54           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      55           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
      56           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
      57             :                 }
      58             :         }
      59           0 :         return NDR_ERR_SUCCESS;
      60             : }
      61             : 
      62           0 : static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
      63             : {
      64             :         uint32_t _ptr_account_name;
      65           0 :         uint32_t size_account_name_1 = 0;
      66           0 :         uint32_t length_account_name_1 = 0;
      67           0 :         TALLOC_CTX *_mem_save_account_name_0 = NULL;
      68             :         uint32_t _ptr_computer;
      69           0 :         uint32_t size_computer_1 = 0;
      70           0 :         uint32_t length_computer_1 = 0;
      71           0 :         TALLOC_CTX *_mem_save_computer_0 = NULL;
      72             :         uint32_t _ptr_domain;
      73           0 :         uint32_t size_domain_1 = 0;
      74           0 :         uint32_t length_domain_1 = 0;
      75           0 :         TALLOC_CTX *_mem_save_domain_0 = NULL;
      76             :         uint32_t _ptr_script_path;
      77           0 :         uint32_t size_script_path_1 = 0;
      78           0 :         uint32_t length_script_path_1 = 0;
      79           0 :         TALLOC_CTX *_mem_save_script_path_0 = NULL;
      80           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      81           0 :         if (ndr_flags & NDR_SCALARS) {
      82           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
      83           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
      84           0 :                 if (_ptr_account_name) {
      85           0 :                         NDR_PULL_ALLOC(ndr, r->account_name);
      86             :                 } else {
      87           0 :                         r->account_name = NULL;
      88             :                 }
      89           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
      90           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
      91           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
      92           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
      93           0 :                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
      94           0 :                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
      95           0 :                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
      96           0 :                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
      97           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
      98           0 :                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
      99           0 :                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
     100           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
     101           0 :                 if (_ptr_computer) {
     102           0 :                         NDR_PULL_ALLOC(ndr, r->computer);
     103             :                 } else {
     104           0 :                         r->computer = NULL;
     105             :                 }
     106           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
     107           0 :                 if (_ptr_domain) {
     108           0 :                         NDR_PULL_ALLOC(ndr, r->domain);
     109             :                 } else {
     110           0 :                         r->domain = NULL;
     111             :                 }
     112           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
     113           0 :                 if (_ptr_script_path) {
     114           0 :                         NDR_PULL_ALLOC(ndr, r->script_path);
     115             :                 } else {
     116           0 :                         r->script_path = NULL;
     117             :                 }
     118           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
     119           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     120             :         }
     121           0 :         if (ndr_flags & NDR_BUFFERS) {
     122           0 :                 if (r->account_name) {
     123           0 :                         _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     124           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
     125           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
     126           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
     127           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->account_name, &size_account_name_1));
     128           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->account_name, &length_account_name_1));
     129           0 :                         if (length_account_name_1 > size_account_name_1) {
     130           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
     131             :                         }
     132           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
     133           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
     134           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
     135             :                 }
     136           0 :                 if (r->computer) {
     137           0 :                         _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
     138           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
     139           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
     140           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
     141           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->computer, &size_computer_1));
     142           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->computer, &length_computer_1));
     143           0 :                         if (length_computer_1 > size_computer_1) {
     144           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_1, length_computer_1);
     145             :                         }
     146           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_1, sizeof(uint16_t)));
     147           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, length_computer_1, sizeof(uint16_t), CH_UTF16));
     148           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
     149             :                 }
     150           0 :                 if (r->domain) {
     151           0 :                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
     152           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
     153           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
     154           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
     155           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
     156           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
     157           0 :                         if (length_domain_1 > size_domain_1) {
     158           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);
     159             :                         }
     160           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
     161           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
     162           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
     163             :                 }
     164           0 :                 if (r->script_path) {
     165           0 :                         _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
     166           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
     167           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
     168           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
     169           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->script_path, &size_script_path_1));
     170           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->script_path, &length_script_path_1));
     171           0 :                         if (length_script_path_1 > size_script_path_1) {
     172           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_script_path_1, length_script_path_1);
     173             :                         }
     174           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_script_path_1, sizeof(uint16_t)));
     175           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, length_script_path_1, sizeof(uint16_t), CH_UTF16));
     176           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
     177             :                 }
     178             :         }
     179           0 :         return NDR_ERR_SUCCESS;
     180             : }
     181             : 
     182           0 : _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
     183             : {
     184           0 :         ndr_print_struct(ndr, name, "netr_UasInfo");
     185           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     186           0 :         ndr->depth++;
     187           0 :         ndr_print_ptr(ndr, "account_name", r->account_name);
     188           0 :         ndr->depth++;
     189           0 :         if (r->account_name) {
     190           0 :                 ndr_print_string(ndr, "account_name", r->account_name);
     191             :         }
     192           0 :         ndr->depth--;
     193           0 :         ndr_print_uint32(ndr, "priv", r->priv);
     194           0 :         ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
     195           0 :         ndr_print_uint32(ndr, "logon_count", r->logon_count);
     196           0 :         ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
     197           0 :         ndr_print_time_t(ndr, "last_logon", r->last_logon);
     198           0 :         ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
     199           0 :         ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
     200           0 :         ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
     201           0 :         ndr_print_uint32(ndr, "password_age", r->password_age);
     202           0 :         ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
     203           0 :         ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
     204           0 :         ndr_print_ptr(ndr, "computer", r->computer);
     205           0 :         ndr->depth++;
     206           0 :         if (r->computer) {
     207           0 :                 ndr_print_string(ndr, "computer", r->computer);
     208             :         }
     209           0 :         ndr->depth--;
     210           0 :         ndr_print_ptr(ndr, "domain", r->domain);
     211           0 :         ndr->depth++;
     212           0 :         if (r->domain) {
     213           0 :                 ndr_print_string(ndr, "domain", r->domain);
     214             :         }
     215           0 :         ndr->depth--;
     216           0 :         ndr_print_ptr(ndr, "script_path", r->script_path);
     217           0 :         ndr->depth++;
     218           0 :         if (r->script_path) {
     219           0 :                 ndr_print_string(ndr, "script_path", r->script_path);
     220             :         }
     221           0 :         ndr->depth--;
     222           0 :         ndr_print_uint32(ndr, "unknown", r->unknown);
     223           0 :         ndr->depth--;
     224             : }
     225             : 
     226           0 : static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
     227             : {
     228           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     229           0 :         if (ndr_flags & NDR_SCALARS) {
     230           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     231           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
     232           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
     233           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     234             :         }
     235           0 :         if (ndr_flags & NDR_BUFFERS) {
     236             :         }
     237           0 :         return NDR_ERR_SUCCESS;
     238             : }
     239             : 
     240           0 : static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
     241             : {
     242           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     243           0 :         if (ndr_flags & NDR_SCALARS) {
     244           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     245           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
     246           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
     247           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     248             :         }
     249           0 :         if (ndr_flags & NDR_BUFFERS) {
     250             :         }
     251           0 :         return NDR_ERR_SUCCESS;
     252             : }
     253             : 
     254           0 : _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
     255             : {
     256           0 :         ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
     257           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     258           0 :         ndr->depth++;
     259           0 :         ndr_print_uint32(ndr, "duration", r->duration);
     260           0 :         ndr_print_uint16(ndr, "logon_count", r->logon_count);
     261           0 :         ndr->depth--;
     262             : }
     263             : 
     264           0 : _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
     265             : {
     266           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     267           0 :         if (ndr_flags & NDR_SCALARS) {
     268           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
     269           0 :                 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
     270           0 :                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
     271           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
     272           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
     273           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
     274             :         }
     275           0 :         if (ndr_flags & NDR_BUFFERS) {
     276             :         }
     277           0 :         return NDR_ERR_SUCCESS;
     278             : }
     279             : 
     280           0 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
     281             : {
     282           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     283           0 :         if (ndr_flags & NDR_SCALARS) {
     284           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
     285           0 :                 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
     286           0 :                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
     287           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
     288           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
     289           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
     290             :         }
     291           0 :         if (ndr_flags & NDR_BUFFERS) {
     292             :         }
     293           0 :         return NDR_ERR_SUCCESS;
     294             : }
     295             : 
     296           0 : static void ndr_print_flags_netr_AcctLockStr(struct ndr_print *ndr, const char *name, int unused, const struct netr_AcctLockStr *r)
     297             : {
     298           0 :         ndr_print_netr_AcctLockStr(ndr, name, r);
     299           0 : }
     300             : 
     301           0 : _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
     302             : {
     303           0 :         ndr_print_struct(ndr, name, "netr_AcctLockStr");
     304           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     305           0 :         ndr->depth++;
     306           0 :         ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
     307           0 :         ndr_print_udlong(ndr, "reset_count", r->reset_count);
     308           0 :         ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
     309           0 :         ndr_print_uint32(ndr, "dummy", r->dummy);
     310           0 :         ndr->depth--;
     311             : }
     312             : 
     313       19350 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
     314             : {
     315       19350 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
     316       19350 :         return NDR_ERR_SUCCESS;
     317             : }
     318             : 
     319       19385 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
     320             : {
     321             :         uint32_t v;
     322       19385 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
     323       19385 :         *r = v;
     324       19385 :         return NDR_ERR_SUCCESS;
     325             : }
     326             : 
     327           2 : _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
     328             : {
     329           2 :         ndr_print_uint32(ndr, name, r);
     330           2 :         ndr->depth++;
     331           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
     332           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
     333           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
     334           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DONT_TRY_GUEST_ACCOUNT", MSV1_0_DONT_TRY_GUEST_ACCOUNT, r);
     335           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
     336           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PASSWORD_EXPIRY", MSV1_0_RETURN_PASSWORD_EXPIRY, r);
     337           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_CLIENT_CHALLENGE", MSV1_0_USE_CLIENT_CHALLENGE, r);
     338           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_GUEST_ACCOUNT_ONLY", MSV1_0_TRY_GUEST_ACCOUNT_ONLY, r);
     339           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
     340           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY", MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY, r);
     341           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
     342           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DISABLE_PERSONAL_FALLBACK", MSV1_0_DISABLE_PERSONAL_FALLBACK, r);
     343           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_FORCE_GUEST", MSV1_0_ALLOW_FORCE_GUEST, r);
     344           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED", MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED, r);
     345           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY", MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY, r);
     346           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_MSVCHAPV2", MSV1_0_ALLOW_MSVCHAPV2, r);
     347           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_S4U2SELF", MSV1_0_S4U2SELF, r);
     348           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CHECK_LOGONHOURS_FOR_S4U", MSV1_0_CHECK_LOGONHOURS_FOR_S4U, r);
     349           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_SUBAUTHENTICATION_DLL_EX", MSV1_0_SUBAUTHENTICATION_DLL_EX, r);
     350           2 :         ndr->depth--;
     351           2 : }
     352             : 
     353       38700 : static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
     354             : {
     355       38700 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     356       38700 :         if (ndr_flags & NDR_SCALARS) {
     357       19350 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     358       19350 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
     359       19350 :                 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
     360       19350 :                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->logon_id));
     361       19350 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
     362       19350 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
     363       19350 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     364             :         }
     365       38700 :         if (ndr_flags & NDR_BUFFERS) {
     366       19350 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
     367       19350 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
     368       19350 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
     369             :         }
     370       35324 :         return NDR_ERR_SUCCESS;
     371             : }
     372             : 
     373       38770 : static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
     374             : {
     375       38770 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     376       38770 :         if (ndr_flags & NDR_SCALARS) {
     377       19385 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     378       19385 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
     379       19385 :                 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
     380       19385 :                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->logon_id));
     381       19385 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
     382       19385 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
     383       19385 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     384             :         }
     385       38770 :         if (ndr_flags & NDR_BUFFERS) {
     386       19385 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
     387       19385 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
     388       19385 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
     389             :         }
     390       35390 :         return NDR_ERR_SUCCESS;
     391             : }
     392             : 
     393           2 : _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
     394             : {
     395           2 :         ndr_print_struct(ndr, name, "netr_IdentityInfo");
     396           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     397           2 :         ndr->depth++;
     398           2 :         ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
     399           2 :         ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
     400           2 :         ndr_print_udlong(ndr, "logon_id", r->logon_id);
     401           2 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
     402           2 :         ndr_print_lsa_String(ndr, "workstation", &r->workstation);
     403           2 :         ndr->depth--;
     404             : }
     405             : 
     406         567 : static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
     407             : {
     408         567 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     409         567 :         if (ndr_flags & NDR_SCALARS) {
     410         567 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     411         567 :                 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
     412         567 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
     413         567 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
     414         567 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     415             :         }
     416         567 :         if (ndr_flags & NDR_BUFFERS) {
     417         567 :                 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
     418             :         }
     419         567 :         return NDR_ERR_SUCCESS;
     420             : }
     421             : 
     422         811 : static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
     423             : {
     424         811 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     425         811 :         if (ndr_flags & NDR_SCALARS) {
     426         811 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     427         811 :                 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
     428         811 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
     429         811 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
     430         811 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     431             :         }
     432         811 :         if (ndr_flags & NDR_BUFFERS) {
     433         811 :                 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
     434             :         }
     435         809 :         return NDR_ERR_SUCCESS;
     436             : }
     437             : 
     438           2 : _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
     439             : {
     440           2 :         ndr_print_struct(ndr, name, "netr_PasswordInfo");
     441           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
     442           2 :         ndr->depth++;
     443           2 :         ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
     444           2 :         ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
     445           2 :         ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
     446           2 :         ndr->depth--;
     447             : }
     448             : 
     449       74092 : static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
     450             : {
     451             :         {
     452       74092 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     453       74092 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     454       74092 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     455       74092 :                 if (ndr_flags & NDR_SCALARS) {
     456       37046 :                         NDR_CHECK(ndr_push_align(ndr, 5));
     457       37046 :                         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
     458       37046 :                         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
     459       37046 :                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
     460       37046 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     461             :                 }
     462       74092 :                 if (ndr_flags & NDR_BUFFERS) {
     463       37046 :                         if (r->data) {
     464       34879 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
     465       34879 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     466       34879 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
     467       34879 :                                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
     468             :                         }
     469             :                 }
     470       74092 :                 ndr->flags = _flags_save_STRUCT;
     471             :         }
     472       74092 :         return NDR_ERR_SUCCESS;
     473             : }
     474             : 
     475       73256 : static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
     476             : {
     477             :         uint32_t _ptr_data;
     478       73256 :         uint32_t size_data_1 = 0;
     479       73256 :         uint32_t length_data_1 = 0;
     480       73256 :         TALLOC_CTX *_mem_save_data_0 = NULL;
     481             :         {
     482       73256 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     483       73256 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     484       73256 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     485       73256 :                 if (ndr_flags & NDR_SCALARS) {
     486       36628 :                         NDR_CHECK(ndr_pull_align(ndr, 5));
     487       36628 :                         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
     488       36628 :                         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
     489       36628 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
     490       36628 :                         if (_ptr_data) {
     491       34461 :                                 NDR_PULL_ALLOC(ndr, r->data);
     492             :                         } else {
     493        2167 :                                 r->data = NULL;
     494             :                         }
     495       36628 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     496             :                 }
     497       73256 :                 if (ndr_flags & NDR_BUFFERS) {
     498       36628 :                         if (r->data) {
     499       34461 :                                 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
     500       34461 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
     501       34461 :                                 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
     502       34461 :                                 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
     503       34461 :                                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
     504       34461 :                                 NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->data, &length_data_1));
     505       34461 :                                 if (length_data_1 > size_data_1) {
     506           0 :                                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
     507             :                                 }
     508       34461 :                                 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
     509       34461 :                                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, length_data_1));
     510       34461 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
     511             :                         }
     512       36628 :                         if (r->data) {
     513       34461 :                                 NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
     514             :                         }
     515       36628 :                         if (r->data) {
     516       34461 :                                 NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->data, r->length));
     517             :                         }
     518             :                 }
     519       73256 :                 ndr->flags = _flags_save_STRUCT;
     520             :         }
     521       73256 :         return NDR_ERR_SUCCESS;
     522             : }
     523             : 
     524           0 : _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
     525             : {
     526           0 :         ndr_print_struct(ndr, name, "netr_ChallengeResponse");
     527           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     528             :         {
     529           0 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     530           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     531           0 :                 ndr->depth++;
     532           0 :                 ndr_print_uint16(ndr, "length", r->length);
     533           0 :                 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
     534           0 :                 ndr_print_ptr(ndr, "data", r->data);
     535           0 :                 ndr->depth++;
     536           0 :                 if (r->data) {
     537           0 :                         ndr_print_array_uint8(ndr, "data", r->data, r->length);
     538             :                 }
     539           0 :                 ndr->depth--;
     540           0 :                 ndr->depth--;
     541           0 :                 ndr->flags = _flags_save_STRUCT;
     542             :         }
     543             : }
     544             : 
     545       18523 : static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
     546             : {
     547             :         {
     548       18523 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     549       18523 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     550       18523 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     551       18523 :                 if (ndr_flags & NDR_SCALARS) {
     552       18523 :                         NDR_CHECK(ndr_push_align(ndr, 5));
     553       18523 :                         NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
     554       18523 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
     555       18523 :                         NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
     556       18523 :                         NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
     557       18523 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     558             :                 }
     559       18523 :                 if (ndr_flags & NDR_BUFFERS) {
     560       18523 :                         NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
     561       18523 :                         NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
     562       18523 :                         NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
     563             :                 }
     564       18523 :                 ndr->flags = _flags_save_STRUCT;
     565             :         }
     566       18523 :         return NDR_ERR_SUCCESS;
     567             : }
     568             : 
     569       18314 : static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
     570             : {
     571       18314 :         uint32_t size_challenge_0 = 0;
     572             :         {
     573       18314 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     574       18314 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     575       18314 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     576       18314 :                 if (ndr_flags & NDR_SCALARS) {
     577       18314 :                         NDR_CHECK(ndr_pull_align(ndr, 5));
     578       18314 :                         NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
     579       18314 :                         size_challenge_0 = 8;
     580       18314 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, size_challenge_0));
     581       18314 :                         NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
     582       18314 :                         NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
     583       18314 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     584             :                 }
     585       18314 :                 if (ndr_flags & NDR_BUFFERS) {
     586       18314 :                         NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
     587       18314 :                         NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
     588       18314 :                         NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
     589             :                 }
     590       18314 :                 ndr->flags = _flags_save_STRUCT;
     591             :         }
     592       18314 :         return NDR_ERR_SUCCESS;
     593             : }
     594             : 
     595           0 : _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
     596             : {
     597           0 :         ndr_print_struct(ndr, name, "netr_NetworkInfo");
     598           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     599             :         {
     600           0 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     601           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     602           0 :                 ndr->depth++;
     603           0 :                 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
     604           0 :                 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
     605           0 :                 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
     606           0 :                 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
     607           0 :                 ndr->depth--;
     608           0 :                 ndr->flags = _flags_save_STRUCT;
     609             :         }
     610             : }
     611             : 
     612         260 : static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r)
     613             : {
     614             :         {
     615         260 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     616         260 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     617         260 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     618         260 :                 if (ndr_flags & NDR_SCALARS) {
     619         260 :                         NDR_CHECK(ndr_push_align(ndr, 5));
     620         260 :                         NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
     621         260 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
     622         260 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
     623         260 :                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
     624         260 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     625             :                 }
     626         260 :                 if (ndr_flags & NDR_BUFFERS) {
     627         260 :                         NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
     628         260 :                         NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
     629         260 :                         if (r->data) {
     630         260 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
     631         260 :                                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
     632             :                         }
     633             :                 }
     634         260 :                 ndr->flags = _flags_save_STRUCT;
     635             :         }
     636         260 :         return NDR_ERR_SUCCESS;
     637             : }
     638             : 
     639         260 : static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r)
     640             : {
     641             :         uint32_t _ptr_data;
     642         260 :         uint32_t size_data_1 = 0;
     643         260 :         TALLOC_CTX *_mem_save_data_0 = NULL;
     644             :         {
     645         260 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     646         260 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     647         260 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     648         260 :                 if (ndr_flags & NDR_SCALARS) {
     649         260 :                         NDR_CHECK(ndr_pull_align(ndr, 5));
     650         260 :                         NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
     651         260 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
     652         260 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
     653         260 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
     654         260 :                         if (_ptr_data) {
     655         260 :                                 NDR_PULL_ALLOC(ndr, r->data);
     656             :                         } else {
     657           0 :                                 r->data = NULL;
     658             :                         }
     659         260 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     660             :                 }
     661         260 :                 if (ndr_flags & NDR_BUFFERS) {
     662         260 :                         NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
     663         260 :                         NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
     664         260 :                         if (r->data) {
     665         260 :                                 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
     666         260 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
     667         260 :                                 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
     668         260 :                                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
     669         260 :                                 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
     670         260 :                                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
     671         260 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
     672             :                         }
     673         260 :                         if (r->data) {
     674         260 :                                 NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
     675             :                         }
     676             :                 }
     677         260 :                 ndr->flags = _flags_save_STRUCT;
     678             :         }
     679         260 :         return NDR_ERR_SUCCESS;
     680             : }
     681             : 
     682           0 : _PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r)
     683             : {
     684           0 :         ndr_print_struct(ndr, name, "netr_GenericInfo");
     685           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     686             :         {
     687           0 :                 uint32_t _flags_save_STRUCT = ndr->flags;
     688           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
     689           0 :                 ndr->depth++;
     690           0 :                 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
     691           0 :                 ndr_print_lsa_String(ndr, "package_name", &r->package_name);
     692           0 :                 ndr_print_uint32(ndr, "length", r->length);
     693           0 :                 ndr_print_ptr(ndr, "data", r->data);
     694           0 :                 ndr->depth++;
     695           0 :                 if (r->data) {
     696           0 :                         ndr_print_array_uint8(ndr, "data", r->data, r->length);
     697             :                 }
     698           0 :                 ndr->depth--;
     699           0 :                 ndr->depth--;
     700           0 :                 ndr->flags = _flags_save_STRUCT;
     701             :         }
     702             : }
     703             : 
     704       45822 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r)
     705             : {
     706       45822 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
     707       45822 :         return NDR_ERR_SUCCESS;
     708             : }
     709             : 
     710       22552 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r)
     711             : {
     712             :         uint16_t v;
     713       22552 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
     714       22552 :         *r = v;
     715       22552 :         return NDR_ERR_SUCCESS;
     716             : }
     717             : 
     718           2 : _PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r)
     719             : {
     720           2 :         const char *val = NULL;
     721             : 
     722           2 :         switch (r) {
     723           2 :                 case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break;
     724           0 :                 case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break;
     725           0 :                 case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break;
     726           0 :                 case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break;
     727           0 :                 case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break;
     728           0 :                 case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break;
     729           0 :                 case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break;
     730             :         }
     731           2 :         ndr_print_enum(ndr, name, "ENUM", val, r);
     732           2 : }
     733             : 
     734       23654 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
     735             : {
     736             :         uint32_t level;
     737       23654 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     738       23654 :         if (ndr_flags & NDR_SCALARS) {
     739             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     740       23654 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     741       23654 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     742       23654 :                 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level));
     743             :                 /* ms_union is always aligned to the largest union arm*/
     744       23654 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     745       23654 :                 switch (level) {
     746         548 :                         case NetlogonInteractiveInformation: {
     747         548 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
     748         548 :                         break; }
     749             : 
     750       15444 :                         case NetlogonNetworkInformation: {
     751       15444 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
     752       13756 :                         break; }
     753             : 
     754           0 :                         case NetlogonServiceInformation: {
     755           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
     756           0 :                         break; }
     757             : 
     758         260 :                         case NetlogonGenericInformation: {
     759         260 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
     760         260 :                         break; }
     761             : 
     762          19 :                         case NetlogonInteractiveTransitiveInformation: {
     763          19 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
     764          19 :                         break; }
     765             : 
     766        3079 :                         case NetlogonNetworkTransitiveInformation: {
     767        3079 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
     768        3079 :                         break; }
     769             : 
     770           0 :                         case NetlogonServiceTransitiveInformation: {
     771           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
     772           0 :                         break; }
     773             : 
     774        3568 :                         default: {
     775        3568 :                         break; }
     776             : 
     777             :                 }
     778           0 :         }
     779       23654 :         if (ndr_flags & NDR_BUFFERS) {
     780       23654 :                 if (!(ndr_flags & NDR_SCALARS)) {
     781             :                         /* We didn't get it above, and the token is not needed after this. */
     782           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     783             :                 }
     784       23654 :                 switch (level) {
     785         548 :                         case NetlogonInteractiveInformation:
     786         548 :                                 if (r->password) {
     787         548 :                                         NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
     788             :                                 }
     789         548 :                         break;
     790             : 
     791       15444 :                         case NetlogonNetworkInformation:
     792       15444 :                                 if (r->network) {
     793       15444 :                                         NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
     794             :                                 }
     795       13756 :                         break;
     796             : 
     797           0 :                         case NetlogonServiceInformation:
     798           0 :                                 if (r->password) {
     799           0 :                                         NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
     800             :                                 }
     801           0 :                         break;
     802             : 
     803         260 :                         case NetlogonGenericInformation:
     804         260 :                                 if (r->generic) {
     805         260 :                                         NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
     806             :                                 }
     807         260 :                         break;
     808             : 
     809          19 :                         case NetlogonInteractiveTransitiveInformation:
     810          19 :                                 if (r->password) {
     811          19 :                                         NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
     812             :                                 }
     813          19 :                         break;
     814             : 
     815        3079 :                         case NetlogonNetworkTransitiveInformation:
     816        3079 :                                 if (r->network) {
     817        3079 :                                         NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
     818             :                                 }
     819        3079 :                         break;
     820             : 
     821           0 :                         case NetlogonServiceTransitiveInformation:
     822           0 :                                 if (r->password) {
     823           0 :                                         NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
     824             :                                 }
     825           0 :                         break;
     826             : 
     827        3568 :                         default:
     828        3568 :                         break;
     829             : 
     830             :                 }
     831           0 :         }
     832       21230 :         return NDR_ERR_SUCCESS;
     833             : }
     834             : 
     835       23529 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
     836             : {
     837             :         uint32_t level;
     838             :         uint16_t _level;
     839       23529 :         TALLOC_CTX *_mem_save_password_0 = NULL;
     840             :         uint32_t _ptr_password;
     841       23529 :         TALLOC_CTX *_mem_save_network_0 = NULL;
     842             :         uint32_t _ptr_network;
     843       23529 :         TALLOC_CTX *_mem_save_generic_0 = NULL;
     844             :         uint32_t _ptr_generic;
     845       23529 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     846       23529 :         if (ndr_flags & NDR_SCALARS) {
     847             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     848       23529 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     849       23529 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     850       23529 :                 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
     851       23529 :                 if (_level != level) {
     852           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
     853             :                 }
     854             :                 /* ms_union is always aligned to the largest union arm*/
     855       23529 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     856       23529 :                 switch (level) {
     857         726 :                         case NetlogonInteractiveInformation: {
     858         726 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
     859         726 :                                 if (_ptr_password) {
     860         726 :                                         NDR_PULL_ALLOC(ndr, r->password);
     861             :                                 } else {
     862           0 :                                         r->password = NULL;
     863             :                                 }
     864         724 :                         break; }
     865             : 
     866       15010 :                         case NetlogonNetworkInformation: {
     867       15010 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
     868       15010 :                                 if (_ptr_network) {
     869       15010 :                                         NDR_PULL_ALLOC(ndr, r->network);
     870             :                                 } else {
     871           0 :                                         r->network = NULL;
     872             :                                 }
     873       13322 :                         break; }
     874             : 
     875           0 :                         case NetlogonServiceInformation: {
     876           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
     877           0 :                                 if (_ptr_password) {
     878           0 :                                         NDR_PULL_ALLOC(ndr, r->password);
     879             :                                 } else {
     880           0 :                                         r->password = NULL;
     881             :                                 }
     882           0 :                         break; }
     883             : 
     884         260 :                         case NetlogonGenericInformation: {
     885         260 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
     886         260 :                                 if (_ptr_generic) {
     887         260 :                                         NDR_PULL_ALLOC(ndr, r->generic);
     888             :                                 } else {
     889           0 :                                         r->generic = NULL;
     890             :                                 }
     891         260 :                         break; }
     892             : 
     893          85 :                         case NetlogonInteractiveTransitiveInformation: {
     894          85 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
     895          85 :                                 if (_ptr_password) {
     896          85 :                                         NDR_PULL_ALLOC(ndr, r->password);
     897             :                                 } else {
     898           0 :                                         r->password = NULL;
     899             :                                 }
     900          85 :                         break; }
     901             : 
     902        3304 :                         case NetlogonNetworkTransitiveInformation: {
     903        3304 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
     904        3304 :                                 if (_ptr_network) {
     905        3304 :                                         NDR_PULL_ALLOC(ndr, r->network);
     906             :                                 } else {
     907           0 :                                         r->network = NULL;
     908             :                                 }
     909        3304 :                         break; }
     910             : 
     911           0 :                         case NetlogonServiceTransitiveInformation: {
     912           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
     913           0 :                                 if (_ptr_password) {
     914           0 :                                         NDR_PULL_ALLOC(ndr, r->password);
     915             :                                 } else {
     916           0 :                                         r->password = NULL;
     917             :                                 }
     918           0 :                         break; }
     919             : 
     920        3408 :                         default: {
     921        3408 :                         break; }
     922             : 
     923             :                 }
     924           0 :         }
     925       23529 :         if (ndr_flags & NDR_BUFFERS) {
     926       23529 :                 if (!(ndr_flags & NDR_SCALARS)) {
     927             :                         /* We didn't get it above, and the token is not needed after this. */
     928           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     929             :                 }
     930       23529 :                 switch (level) {
     931         726 :                         case NetlogonInteractiveInformation:
     932         726 :                                 if (r->password) {
     933         726 :                                         _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
     934         726 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
     935         726 :                                         NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
     936         726 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
     937             :                                 }
     938         724 :                         break;
     939             : 
     940       15010 :                         case NetlogonNetworkInformation:
     941       15010 :                                 if (r->network) {
     942       15010 :                                         _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
     943       15010 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
     944       15010 :                                         NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
     945       15010 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
     946             :                                 }
     947       13322 :                         break;
     948             : 
     949           0 :                         case NetlogonServiceInformation:
     950           0 :                                 if (r->password) {
     951           0 :                                         _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
     952           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
     953           0 :                                         NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
     954           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
     955             :                                 }
     956           0 :                         break;
     957             : 
     958         260 :                         case NetlogonGenericInformation:
     959         260 :                                 if (r->generic) {
     960         260 :                                         _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
     961         260 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
     962         260 :                                         NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
     963         260 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
     964             :                                 }
     965         260 :                         break;
     966             : 
     967          85 :                         case NetlogonInteractiveTransitiveInformation:
     968          85 :                                 if (r->password) {
     969          85 :                                         _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
     970          85 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
     971          85 :                                         NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
     972          85 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
     973             :                                 }
     974          85 :                         break;
     975             : 
     976        3304 :                         case NetlogonNetworkTransitiveInformation:
     977        3304 :                                 if (r->network) {
     978        3304 :                                         _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
     979        3304 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
     980        3304 :                                         NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
     981        3304 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
     982             :                                 }
     983        3304 :                         break;
     984             : 
     985           0 :                         case NetlogonServiceTransitiveInformation:
     986           0 :                                 if (r->password) {
     987           0 :                                         _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
     988           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
     989           0 :                                         NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
     990           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
     991             :                                 }
     992           0 :                         break;
     993             : 
     994        3408 :                         default:
     995        3408 :                         break;
     996             : 
     997             :                 }
     998           0 :         }
     999       21103 :         return NDR_ERR_SUCCESS;
    1000             : }
    1001             : 
    1002           2 : _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
    1003             : {
    1004             :         uint32_t level;
    1005           2 :         level = ndr_print_steal_switch_value(ndr, r);
    1006           2 :         ndr_print_union(ndr, name, level, "netr_LogonLevel");
    1007           2 :         switch (level) {
    1008           2 :                 case NetlogonInteractiveInformation:
    1009           2 :                         ndr_print_ptr(ndr, "password", r->password);
    1010           2 :                         ndr->depth++;
    1011           2 :                         if (r->password) {
    1012           2 :                                 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
    1013             :                         }
    1014           2 :                         ndr->depth--;
    1015           2 :                 break;
    1016             : 
    1017           0 :                 case NetlogonNetworkInformation:
    1018           0 :                         ndr_print_ptr(ndr, "network", r->network);
    1019           0 :                         ndr->depth++;
    1020           0 :                         if (r->network) {
    1021           0 :                                 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
    1022             :                         }
    1023           0 :                         ndr->depth--;
    1024           0 :                 break;
    1025             : 
    1026           0 :                 case NetlogonServiceInformation:
    1027           0 :                         ndr_print_ptr(ndr, "password", r->password);
    1028           0 :                         ndr->depth++;
    1029           0 :                         if (r->password) {
    1030           0 :                                 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
    1031             :                         }
    1032           0 :                         ndr->depth--;
    1033           0 :                 break;
    1034             : 
    1035           0 :                 case NetlogonGenericInformation:
    1036           0 :                         ndr_print_ptr(ndr, "generic", r->generic);
    1037           0 :                         ndr->depth++;
    1038           0 :                         if (r->generic) {
    1039           0 :                                 ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
    1040             :                         }
    1041           0 :                         ndr->depth--;
    1042           0 :                 break;
    1043             : 
    1044           0 :                 case NetlogonInteractiveTransitiveInformation:
    1045           0 :                         ndr_print_ptr(ndr, "password", r->password);
    1046           0 :                         ndr->depth++;
    1047           0 :                         if (r->password) {
    1048           0 :                                 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
    1049             :                         }
    1050           0 :                         ndr->depth--;
    1051           0 :                 break;
    1052             : 
    1053           0 :                 case NetlogonNetworkTransitiveInformation:
    1054           0 :                         ndr_print_ptr(ndr, "network", r->network);
    1055           0 :                         ndr->depth++;
    1056           0 :                         if (r->network) {
    1057           0 :                                 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
    1058             :                         }
    1059           0 :                         ndr->depth--;
    1060           0 :                 break;
    1061             : 
    1062           0 :                 case NetlogonServiceTransitiveInformation:
    1063           0 :                         ndr_print_ptr(ndr, "password", r->password);
    1064           0 :                         ndr->depth++;
    1065           0 :                         if (r->password) {
    1066           0 :                                 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
    1067             :                         }
    1068           0 :                         ndr->depth--;
    1069           0 :                 break;
    1070             : 
    1071           0 :                 default:
    1072           0 :                 break;
    1073             : 
    1074             :         }
    1075           2 : }
    1076             : 
    1077       82034 : _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
    1078             : {
    1079             :         {
    1080       82034 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1081       82034 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1082       82034 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1083       82034 :                 if (ndr_flags & NDR_SCALARS) {
    1084       82034 :                         NDR_CHECK(ndr_push_align(ndr, 1));
    1085       82034 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
    1086       82034 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    1087             :                 }
    1088       78585 :                 if (ndr_flags & NDR_BUFFERS) {
    1089             :                 }
    1090       82034 :                 ndr->flags = _flags_save_STRUCT;
    1091             :         }
    1092       82034 :         return NDR_ERR_SUCCESS;
    1093             : }
    1094             : 
    1095      118530 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
    1096             : {
    1097      118530 :         uint32_t size_key_0 = 0;
    1098             :         {
    1099      118530 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1100      118530 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1101      118530 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1102      118530 :                 if (ndr_flags & NDR_SCALARS) {
    1103      118530 :                         NDR_CHECK(ndr_pull_align(ndr, 1));
    1104      118530 :                         size_key_0 = 16;
    1105      118530 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, size_key_0));
    1106      118530 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    1107             :                 }
    1108      115239 :                 if (ndr_flags & NDR_BUFFERS) {
    1109             :                 }
    1110      118530 :                 ndr->flags = _flags_save_STRUCT;
    1111             :         }
    1112      118530 :         return NDR_ERR_SUCCESS;
    1113             : }
    1114             : 
    1115           0 : static void ndr_print_flags_netr_UserSessionKey(struct ndr_print *ndr, const char *name, int unused, const struct netr_UserSessionKey *r)
    1116             : {
    1117           0 :         ndr_print_netr_UserSessionKey(ndr, name, r);
    1118           0 : }
    1119             : 
    1120        3519 : _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
    1121             : {
    1122        3519 :         ndr_print_struct(ndr, name, "netr_UserSessionKey");
    1123        3519 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1124             :         {
    1125        3519 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1126        3519 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1127        3519 :                 ndr->depth++;
    1128        3519 :                 ndr_print_array_uint8(ndr, "key", r->key, 16);
    1129        3519 :                 ndr->depth--;
    1130        3519 :                 ndr->flags = _flags_save_STRUCT;
    1131             :         }
    1132             : }
    1133             : 
    1134       82034 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
    1135             : {
    1136             :         {
    1137       82034 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1138       82034 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1139       82034 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1140       82034 :                 if (ndr_flags & NDR_SCALARS) {
    1141       82034 :                         NDR_CHECK(ndr_push_align(ndr, 1));
    1142       82034 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
    1143       82034 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    1144             :                 }
    1145       78585 :                 if (ndr_flags & NDR_BUFFERS) {
    1146             :                 }
    1147       82034 :                 ndr->flags = _flags_save_STRUCT;
    1148             :         }
    1149       82034 :         return NDR_ERR_SUCCESS;
    1150             : }
    1151             : 
    1152      118530 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
    1153             : {
    1154      118530 :         uint32_t size_key_0 = 0;
    1155             :         {
    1156      118530 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1157      118530 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1158      118530 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1159      118530 :                 if (ndr_flags & NDR_SCALARS) {
    1160      118530 :                         NDR_CHECK(ndr_pull_align(ndr, 1));
    1161      118530 :                         size_key_0 = 8;
    1162      118530 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, size_key_0));
    1163      118530 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    1164             :                 }
    1165      115239 :                 if (ndr_flags & NDR_BUFFERS) {
    1166             :                 }
    1167      118530 :                 ndr->flags = _flags_save_STRUCT;
    1168             :         }
    1169      118530 :         return NDR_ERR_SUCCESS;
    1170             : }
    1171             : 
    1172           0 : static void ndr_print_flags_netr_LMSessionKey(struct ndr_print *ndr, const char *name, int unused, const struct netr_LMSessionKey *r)
    1173             : {
    1174           0 :         ndr_print_netr_LMSessionKey(ndr, name, r);
    1175           0 : }
    1176             : 
    1177        3519 : _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
    1178             : {
    1179        3519 :         ndr_print_struct(ndr, name, "netr_LMSessionKey");
    1180        3519 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1181             :         {
    1182        3519 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1183        3519 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1184        3519 :                 ndr->depth++;
    1185        3519 :                 ndr_print_array_uint8(ndr, "key", r->key, 8);
    1186        3519 :                 ndr->depth--;
    1187        3519 :                 ndr->flags = _flags_save_STRUCT;
    1188             :         }
    1189             : }
    1190             : 
    1191       82034 : _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    1192             : {
    1193       82034 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    1194       82034 :         return NDR_ERR_SUCCESS;
    1195             : }
    1196             : 
    1197      118530 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    1198             : {
    1199             :         uint32_t v;
    1200      118530 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    1201      118530 :         *r = v;
    1202      118530 :         return NDR_ERR_SUCCESS;
    1203             : }
    1204             : 
    1205        3519 : _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    1206             : {
    1207        3519 :         ndr_print_uint32(ndr, name, r);
    1208        3519 :         ndr->depth++;
    1209        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
    1210        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
    1211        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
    1212        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
    1213        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
    1214        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
    1215        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
    1216        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
    1217        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
    1218        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
    1219        3519 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
    1220        3519 :         ndr->depth--;
    1221        3519 : }
    1222             : 
    1223      164068 : static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
    1224             : {
    1225      164068 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1226      164068 :         if (ndr_flags & NDR_SCALARS) {
    1227       82034 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1228       82034 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logon_time));
    1229       82034 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logoff_time));
    1230       82034 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->kickoff_time));
    1231       82034 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
    1232       82034 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
    1233       82034 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
    1234       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    1235       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    1236       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    1237       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    1238       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    1239       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    1240       82034 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
    1241       82034 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
    1242       82034 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    1243       82034 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
    1244       82034 :                 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
    1245       82034 :                 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
    1246             :                 {
    1247       82034 :                         uint32_t _flags_save_netr_UserSessionKey = ndr->flags;
    1248       82034 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
    1249       82034 :                         NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
    1250       82034 :                         ndr->flags = _flags_save_netr_UserSessionKey;
    1251             :                 }
    1252       82034 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
    1253       82034 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_domain));
    1254       82034 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
    1255             :                 {
    1256       82034 :                         uint32_t _flags_save_netr_LMSessionKey = ndr->flags;
    1257       82034 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
    1258       82034 :                         NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
    1259       82034 :                         ndr->flags = _flags_save_netr_LMSessionKey;
    1260             :                 }
    1261       82034 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
    1262       82034 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sub_auth_status));
    1263       82034 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_successful_logon));
    1264       82034 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_failed_logon));
    1265       82034 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->failed_logon_count));
    1266       82034 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
    1267       82034 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1268             :         }
    1269      164068 :         if (ndr_flags & NDR_BUFFERS) {
    1270       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    1271       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    1272       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    1273       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    1274       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    1275       82034 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    1276       82034 :                 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
    1277       82034 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
    1278       82034 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_domain));
    1279       82034 :                 if (r->domain_sid) {
    1280       81802 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
    1281             :                 }
    1282             :         }
    1283      157170 :         return NDR_ERR_SUCCESS;
    1284             : }
    1285             : 
    1286      237060 : static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
    1287             : {
    1288             :         uint32_t _ptr_domain_sid;
    1289      237060 :         TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
    1290      237060 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1291      237060 :         if (ndr_flags & NDR_SCALARS) {
    1292      118530 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1293      118530 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logon_time));
    1294      118530 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logoff_time));
    1295      118530 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->kickoff_time));
    1296      118530 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
    1297      118530 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
    1298      118530 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
    1299      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    1300      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    1301      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    1302      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    1303      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    1304      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    1305      118530 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
    1306      118530 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
    1307      118530 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    1308      118530 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
    1309      118530 :                 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
    1310      118530 :                 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
    1311             :                 {
    1312      118530 :                         uint32_t _flags_save_netr_UserSessionKey = ndr->flags;
    1313      118530 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
    1314      118530 :                         NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
    1315      118530 :                         ndr->flags = _flags_save_netr_UserSessionKey;
    1316             :                 }
    1317      118530 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
    1318      118530 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_domain));
    1319      118530 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
    1320      118530 :                 if (_ptr_domain_sid) {
    1321      118294 :                         NDR_PULL_ALLOC(ndr, r->domain_sid);
    1322             :                 } else {
    1323         236 :                         r->domain_sid = NULL;
    1324             :                 }
    1325             :                 {
    1326      118530 :                         uint32_t _flags_save_netr_LMSessionKey = ndr->flags;
    1327      118530 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
    1328      118530 :                         NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
    1329      118530 :                         ndr->flags = _flags_save_netr_LMSessionKey;
    1330             :                 }
    1331      118530 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
    1332      118530 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sub_auth_status));
    1333      118530 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_successful_logon));
    1334      118530 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_failed_logon));
    1335      118530 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->failed_logon_count));
    1336      118530 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    1337      118530 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1338             :         }
    1339      237060 :         if (ndr_flags & NDR_BUFFERS) {
    1340      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    1341      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    1342      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    1343      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    1344      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    1345      118530 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    1346      118530 :                 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
    1347      118530 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
    1348      118530 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_domain));
    1349      118530 :                 if (r->domain_sid) {
    1350      118294 :                         _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1351      118294 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
    1352      118294 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
    1353      118294 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
    1354             :                 }
    1355             :         }
    1356      230478 :         return NDR_ERR_SUCCESS;
    1357             : }
    1358             : 
    1359        3519 : _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
    1360             : {
    1361        3519 :         ndr_print_struct(ndr, name, "netr_SamBaseInfo");
    1362        3519 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1363        3519 :         ndr->depth++;
    1364        3519 :         ndr_print_NTTIME(ndr, "logon_time", r->logon_time);
    1365        3519 :         ndr_print_NTTIME(ndr, "logoff_time", r->logoff_time);
    1366        3519 :         ndr_print_NTTIME(ndr, "kickoff_time", r->kickoff_time);
    1367        3519 :         ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
    1368        3519 :         ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
    1369        3519 :         ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
    1370        3519 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    1371        3519 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    1372        3519 :         ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
    1373        3519 :         ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
    1374        3519 :         ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
    1375        3519 :         ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
    1376        3519 :         ndr_print_uint16(ndr, "logon_count", r->logon_count);
    1377        3519 :         ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
    1378        3519 :         ndr_print_uint32(ndr, "rid", r->rid);
    1379        3519 :         ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
    1380        3519 :         ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
    1381        3519 :         ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
    1382             :         {
    1383        3519 :                 uint32_t _flags_save_netr_UserSessionKey = ndr->flags;
    1384        3519 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
    1385        3519 :                 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
    1386        3519 :                 ndr->flags = _flags_save_netr_UserSessionKey;
    1387             :         }
    1388        3519 :         ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
    1389        3519 :         ndr_print_lsa_StringLarge(ndr, "logon_domain", &r->logon_domain);
    1390        3519 :         ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
    1391        3519 :         ndr->depth++;
    1392        3519 :         if (r->domain_sid) {
    1393        3519 :                 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
    1394             :         }
    1395        3519 :         ndr->depth--;
    1396             :         {
    1397        3519 :                 uint32_t _flags_save_netr_LMSessionKey = ndr->flags;
    1398        3519 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_IS_SECRET);
    1399        3519 :                 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
    1400        3519 :                 ndr->flags = _flags_save_netr_LMSessionKey;
    1401             :         }
    1402        3519 :         ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
    1403        3519 :         ndr_print_uint32(ndr, "sub_auth_status", r->sub_auth_status);
    1404        3519 :         ndr_print_NTTIME(ndr, "last_successful_logon", r->last_successful_logon);
    1405        3519 :         ndr_print_NTTIME(ndr, "last_failed_logon", r->last_failed_logon);
    1406        3519 :         ndr_print_uint32(ndr, "failed_logon_count", r->failed_logon_count);
    1407        3519 :         ndr_print_uint32(ndr, "reserved", r->reserved);
    1408        3519 :         ndr->depth--;
    1409             : }
    1410             : 
    1411        5870 : static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
    1412             : {
    1413        5870 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1414        5870 :         if (ndr_flags & NDR_SCALARS) {
    1415        5870 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1416        5870 :                 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
    1417        5870 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1418             :         }
    1419        5870 :         if (ndr_flags & NDR_BUFFERS) {
    1420        5870 :                 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
    1421             :         }
    1422        5039 :         return NDR_ERR_SUCCESS;
    1423             : }
    1424             : 
    1425        5182 : static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
    1426             : {
    1427        5182 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1428        5182 :         if (ndr_flags & NDR_SCALARS) {
    1429        5182 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1430        5182 :                 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
    1431        5182 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1432             :         }
    1433        5182 :         if (ndr_flags & NDR_BUFFERS) {
    1434        5182 :                 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
    1435             :         }
    1436        4490 :         return NDR_ERR_SUCCESS;
    1437             : }
    1438             : 
    1439        1680 : _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
    1440             : {
    1441        1680 :         ndr_print_struct(ndr, name, "netr_SamInfo2");
    1442        1680 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1443        1680 :         ndr->depth++;
    1444        1680 :         ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
    1445        1680 :         ndr->depth--;
    1446             : }
    1447             : 
    1448       19244 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
    1449             : {
    1450       19244 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1451       19244 :         if (ndr_flags & NDR_SCALARS) {
    1452        9622 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1453        9622 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
    1454        9622 :                 NDR_CHECK(ndr_push_security_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
    1455        9622 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1456             :         }
    1457       19244 :         if (ndr_flags & NDR_BUFFERS) {
    1458        9622 :                 if (r->sid) {
    1459        9622 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    1460             :                 }
    1461             :         }
    1462       18646 :         return NDR_ERR_SUCCESS;
    1463             : }
    1464             : 
    1465       17204 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
    1466             : {
    1467             :         uint32_t _ptr_sid;
    1468       17204 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    1469       17204 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1470       17204 :         if (ndr_flags & NDR_SCALARS) {
    1471        8602 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1472        8602 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    1473        8602 :                 if (_ptr_sid) {
    1474        8602 :                         NDR_PULL_ALLOC(ndr, r->sid);
    1475             :                 } else {
    1476           0 :                         r->sid = NULL;
    1477             :                 }
    1478        8602 :                 NDR_CHECK(ndr_pull_security_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
    1479        8602 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1480             :         }
    1481       17204 :         if (ndr_flags & NDR_BUFFERS) {
    1482        8602 :                 if (r->sid) {
    1483        8602 :                         _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1484        8602 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
    1485        8602 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    1486        8602 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
    1487             :                 }
    1488             :         }
    1489       16462 :         return NDR_ERR_SUCCESS;
    1490             : }
    1491             : 
    1492           0 : static void ndr_print_flags_netr_SidAttr(struct ndr_print *ndr, const char *name, int unused, const struct netr_SidAttr *r)
    1493             : {
    1494           0 :         ndr_print_netr_SidAttr(ndr, name, r);
    1495           0 : }
    1496             : 
    1497           4 : _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
    1498             : {
    1499           4 :         ndr_print_struct(ndr, name, "netr_SidAttr");
    1500           4 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1501           4 :         ndr->depth++;
    1502           4 :         ndr_print_ptr(ndr, "sid", r->sid);
    1503           4 :         ndr->depth++;
    1504           4 :         if (r->sid) {
    1505           4 :                 ndr_print_dom_sid2(ndr, "sid", r->sid);
    1506             :         }
    1507           4 :         ndr->depth--;
    1508           4 :         ndr_print_security_GroupAttrs(ndr, "attributes", r->attributes);
    1509           4 :         ndr->depth--;
    1510             : }
    1511             : 
    1512      140990 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
    1513             : {
    1514             :         uint32_t cntr_sids_1;
    1515      140990 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1516      140990 :         if (ndr_flags & NDR_SCALARS) {
    1517       73588 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1518       73588 :                 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
    1519       73588 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
    1520       73588 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
    1521       73588 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1522             :         }
    1523      140990 :         if (ndr_flags & NDR_BUFFERS) {
    1524       73588 :                 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
    1525       73588 :                 if (r->sids) {
    1526        9606 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount));
    1527       18913 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
    1528        9606 :                                 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
    1529             :                         }
    1530       18913 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
    1531        9606 :                                 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
    1532             :                         }
    1533             :                 }
    1534             :         }
    1535      136729 :         return NDR_ERR_SUCCESS;
    1536             : }
    1537             : 
    1538      217010 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
    1539             : {
    1540             :         uint32_t _ptr_sids;
    1541      217010 :         uint32_t size_sids_1 = 0;
    1542             :         uint32_t cntr_sids_1;
    1543      217010 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1544      217010 :         TALLOC_CTX *_mem_save_sids_1 = NULL;
    1545      217010 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1546      217010 :         if (ndr_flags & NDR_SCALARS) {
    1547      111256 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1548      111256 :                 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
    1549      111256 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
    1550      111256 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
    1551      111256 :                 if (_ptr_sids) {
    1552        8602 :                         NDR_PULL_ALLOC(ndr, r->sids);
    1553             :                 } else {
    1554      102654 :                         r->sids = NULL;
    1555             :                 }
    1556      111256 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1557             :         }
    1558      217010 :         if (ndr_flags & NDR_BUFFERS) {
    1559      111256 :                 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
    1560      111256 :                 if (r->sids) {
    1561        8602 :                         _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1562        8602 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    1563        8602 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
    1564        8602 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_1));
    1565        8602 :                         NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
    1566        8602 :                         _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    1567        8602 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    1568       17204 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1569        8602 :                                 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
    1570             :                         }
    1571       16833 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1572        8602 :                                 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
    1573             :                         }
    1574        8602 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
    1575        8602 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
    1576             :                 }
    1577      111256 :                 if (r->sids) {
    1578        8602 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
    1579             :                 }
    1580      111559 :                 for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1581             :                 }
    1582             :         }
    1583      212624 :         return NDR_ERR_SUCCESS;
    1584             : }
    1585             : 
    1586           0 : static void ndr_print_flags_netr_SamInfo3(struct ndr_print *ndr, const char *name, int unused, const struct netr_SamInfo3 *r)
    1587             : {
    1588           0 :         ndr_print_netr_SamInfo3(ndr, name, r);
    1589           0 : }
    1590             : 
    1591        1695 : _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
    1592             : {
    1593             :         uint32_t cntr_sids_1;
    1594        1695 :         ndr_print_struct(ndr, name, "netr_SamInfo3");
    1595        1695 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1596        1695 :         ndr->depth++;
    1597        1695 :         ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
    1598        1695 :         ndr_print_uint32(ndr, "sidcount", r->sidcount);
    1599        1695 :         ndr_print_ptr(ndr, "sids", r->sids);
    1600        1695 :         ndr->depth++;
    1601        1695 :         if (r->sids) {
    1602           4 :                 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
    1603           4 :                 ndr->depth++;
    1604           8 :                 for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
    1605           4 :                         ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
    1606             :                 }
    1607           4 :                 ndr->depth--;
    1608             :         }
    1609        1695 :         ndr->depth--;
    1610        1695 :         ndr->depth--;
    1611             : }
    1612             : 
    1613        2576 : static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
    1614             : {
    1615             :         uint32_t cntr_sids_1;
    1616             :         uint32_t cntr_unknown4_0;
    1617        2576 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1618        2576 :         if (ndr_flags & NDR_SCALARS) {
    1619        2576 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1620        2576 :                 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
    1621        2576 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
    1622        2576 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
    1623        2576 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
    1624        2576 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
    1625       54024 :                 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < (20); cntr_unknown4_0++) {
    1626       51520 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
    1627             :                 }
    1628        2576 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1629             :         }
    1630        2576 :         if (ndr_flags & NDR_BUFFERS) {
    1631        2576 :                 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
    1632        2576 :                 if (r->sids) {
    1633          16 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount));
    1634          32 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
    1635          16 :                                 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
    1636             :                         }
    1637          32 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
    1638          16 :                                 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
    1639             :                         }
    1640             :                 }
    1641        2576 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
    1642        2576 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
    1643             :         }
    1644        2504 :         return NDR_ERR_SUCCESS;
    1645             : }
    1646             : 
    1647        2092 : static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
    1648             : {
    1649             :         uint32_t _ptr_sids;
    1650        2092 :         uint32_t size_sids_1 = 0;
    1651             :         uint32_t cntr_sids_1;
    1652        2092 :         TALLOC_CTX *_mem_save_sids_0 = NULL;
    1653        2092 :         TALLOC_CTX *_mem_save_sids_1 = NULL;
    1654        2092 :         uint32_t size_unknown4_0 = 0;
    1655             :         uint32_t cntr_unknown4_0;
    1656        2092 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1657        2092 :         if (ndr_flags & NDR_SCALARS) {
    1658        2092 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1659        2092 :                 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
    1660        2092 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
    1661        2092 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
    1662        2092 :                 if (_ptr_sids) {
    1663           0 :                         NDR_PULL_ALLOC(ndr, r->sids);
    1664             :                 } else {
    1665        2092 :                         r->sids = NULL;
    1666             :                 }
    1667        2092 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
    1668        2092 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
    1669        2032 :                 size_unknown4_0 = 20;
    1670       43872 :                 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < (size_unknown4_0); cntr_unknown4_0++) {
    1671       41840 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
    1672             :                 }
    1673        2092 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1674             :         }
    1675        2092 :         if (ndr_flags & NDR_BUFFERS) {
    1676        2092 :                 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
    1677        2092 :                 if (r->sids) {
    1678           0 :                         _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1679           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    1680           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
    1681           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_1));
    1682           0 :                         NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
    1683           0 :                         _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    1684           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
    1685           0 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1686           0 :                                 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
    1687             :                         }
    1688           0 :                         for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1689           0 :                                 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
    1690             :                         }
    1691           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
    1692           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
    1693             :                 }
    1694        2092 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
    1695        2092 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
    1696        2092 :                 if (r->sids) {
    1697           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
    1698             :                 }
    1699        2092 :                 for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
    1700             :                 }
    1701             :         }
    1702        2032 :         return NDR_ERR_SUCCESS;
    1703             : }
    1704             : 
    1705         144 : _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
    1706             : {
    1707             :         uint32_t cntr_sids_1;
    1708             :         uint32_t cntr_unknown4_0;
    1709         144 :         ndr_print_struct(ndr, name, "netr_SamInfo6");
    1710         144 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1711         144 :         ndr->depth++;
    1712         144 :         ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
    1713         144 :         ndr_print_uint32(ndr, "sidcount", r->sidcount);
    1714         144 :         ndr_print_ptr(ndr, "sids", r->sids);
    1715         144 :         ndr->depth++;
    1716         144 :         if (r->sids) {
    1717           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
    1718           0 :                 ndr->depth++;
    1719           0 :                 for (cntr_sids_1 = 0; cntr_sids_1 < (r->sidcount); cntr_sids_1++) {
    1720           0 :                         ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
    1721             :                 }
    1722           0 :                 ndr->depth--;
    1723             :         }
    1724         144 :         ndr->depth--;
    1725         144 :         ndr_print_lsa_String(ndr, "dns_domainname", &r->dns_domainname);
    1726         144 :         ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
    1727         144 :         ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
    1728         144 :         ndr->depth++;
    1729        3024 :         for (cntr_unknown4_0 = 0; cntr_unknown4_0 < (20); cntr_unknown4_0++) {
    1730        2880 :                 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
    1731             :         }
    1732         144 :         ndr->depth--;
    1733         144 :         ndr->depth--;
    1734             : }
    1735             : 
    1736           0 : static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
    1737             : {
    1738             :         uint32_t cntr_expansionroom_0;
    1739           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1740           0 :         if (ndr_flags & NDR_SCALARS) {
    1741           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1742           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
    1743           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
    1744           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
    1745           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
    1746           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
    1747           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
    1748           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
    1749           0 :                 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
    1750           0 :                 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < (10); cntr_expansionroom_0++) {
    1751           0 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
    1752             :                 }
    1753           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    1754           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    1755           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    1756           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    1757           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1758             :         }
    1759           0 :         if (ndr_flags & NDR_BUFFERS) {
    1760           0 :                 if (r->pac) {
    1761           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pac_size));
    1762           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
    1763             :                 }
    1764           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
    1765           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
    1766           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
    1767           0 :                 if (r->auth) {
    1768           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->auth_size));
    1769           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
    1770             :                 }
    1771           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    1772           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    1773           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    1774           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    1775             :         }
    1776           0 :         return NDR_ERR_SUCCESS;
    1777             : }
    1778             : 
    1779           0 : static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
    1780             : {
    1781             :         uint32_t _ptr_pac;
    1782           0 :         uint32_t size_pac_1 = 0;
    1783           0 :         TALLOC_CTX *_mem_save_pac_0 = NULL;
    1784             :         uint32_t _ptr_auth;
    1785           0 :         uint32_t size_auth_1 = 0;
    1786           0 :         TALLOC_CTX *_mem_save_auth_0 = NULL;
    1787           0 :         uint32_t size_expansionroom_0 = 0;
    1788             :         uint32_t cntr_expansionroom_0;
    1789           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1790           0 :         if (ndr_flags & NDR_SCALARS) {
    1791           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1792           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
    1793           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
    1794           0 :                 if (_ptr_pac) {
    1795           0 :                         NDR_PULL_ALLOC(ndr, r->pac);
    1796             :                 } else {
    1797           0 :                         r->pac = NULL;
    1798             :                 }
    1799           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
    1800           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
    1801           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
    1802           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
    1803           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
    1804           0 :                 if (_ptr_auth) {
    1805           0 :                         NDR_PULL_ALLOC(ndr, r->auth);
    1806             :                 } else {
    1807           0 :                         r->auth = NULL;
    1808             :                 }
    1809           0 :                 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
    1810           0 :                 size_expansionroom_0 = 10;
    1811           0 :                 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < (size_expansionroom_0); cntr_expansionroom_0++) {
    1812           0 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
    1813             :                 }
    1814           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    1815           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    1816           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    1817           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    1818           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1819             :         }
    1820           0 :         if (ndr_flags & NDR_BUFFERS) {
    1821           0 :                 if (r->pac) {
    1822           0 :                         _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1823           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
    1824           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
    1825           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->pac, &size_pac_1));
    1826           0 :                         NDR_PULL_ALLOC_N(ndr, r->pac, size_pac_1);
    1827           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, size_pac_1));
    1828           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
    1829             :                 }
    1830           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
    1831           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
    1832           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
    1833           0 :                 if (r->auth) {
    1834           0 :                         _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1835           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
    1836           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
    1837           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->auth, &size_auth_1));
    1838           0 :                         NDR_PULL_ALLOC_N(ndr, r->auth, size_auth_1);
    1839           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, size_auth_1));
    1840           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
    1841             :                 }
    1842           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    1843           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    1844           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    1845           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    1846           0 :                 if (r->pac) {
    1847           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->pac, r->pac_size));
    1848             :                 }
    1849           0 :                 if (r->auth) {
    1850           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->auth, r->auth_size));
    1851             :                 }
    1852             :         }
    1853           0 :         return NDR_ERR_SUCCESS;
    1854             : }
    1855             : 
    1856           0 : _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
    1857             : {
    1858             :         uint32_t cntr_expansionroom_0;
    1859           0 :         ndr_print_struct(ndr, name, "netr_PacInfo");
    1860           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1861           0 :         ndr->depth++;
    1862           0 :         ndr_print_uint32(ndr, "pac_size", r->pac_size);
    1863           0 :         ndr_print_ptr(ndr, "pac", r->pac);
    1864           0 :         ndr->depth++;
    1865           0 :         if (r->pac) {
    1866           0 :                 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
    1867             :         }
    1868           0 :         ndr->depth--;
    1869           0 :         ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
    1870           0 :         ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
    1871           0 :         ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
    1872           0 :         ndr_print_uint32(ndr, "auth_size", r->auth_size);
    1873           0 :         ndr_print_ptr(ndr, "auth", r->auth);
    1874           0 :         ndr->depth++;
    1875           0 :         if (r->auth) {
    1876           0 :                 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
    1877             :         }
    1878           0 :         ndr->depth--;
    1879           0 :         ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
    1880           0 :         ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
    1881           0 :         ndr->depth++;
    1882           0 :         for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < (10); cntr_expansionroom_0++) {
    1883           0 :                 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
    1884             :         }
    1885           0 :         ndr->depth--;
    1886           0 :         ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
    1887           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    1888           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    1889           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    1890           0 :         ndr->depth--;
    1891             : }
    1892             : 
    1893         260 : static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
    1894             : {
    1895             :         {
    1896         260 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1897         260 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1898         260 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1899         260 :                 if (ndr_flags & NDR_SCALARS) {
    1900         260 :                         NDR_CHECK(ndr_push_align(ndr, 5));
    1901         260 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
    1902         260 :                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
    1903         260 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1904             :                 }
    1905         260 :                 if (ndr_flags & NDR_BUFFERS) {
    1906         260 :                         if (r->data) {
    1907          52 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
    1908          52 :                                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
    1909             :                         }
    1910             :                 }
    1911         260 :                 ndr->flags = _flags_save_STRUCT;
    1912             :         }
    1913         260 :         return NDR_ERR_SUCCESS;
    1914             : }
    1915             : 
    1916         260 : static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
    1917             : {
    1918             :         uint32_t _ptr_data;
    1919         260 :         uint32_t size_data_1 = 0;
    1920         260 :         TALLOC_CTX *_mem_save_data_0 = NULL;
    1921             :         {
    1922         260 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1923         260 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1924         260 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1925         260 :                 if (ndr_flags & NDR_SCALARS) {
    1926         260 :                         NDR_CHECK(ndr_pull_align(ndr, 5));
    1927         260 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
    1928         260 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
    1929         260 :                         if (_ptr_data) {
    1930          52 :                                 NDR_PULL_ALLOC(ndr, r->data);
    1931             :                         } else {
    1932         208 :                                 r->data = NULL;
    1933             :                         }
    1934         260 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1935             :                 }
    1936         260 :                 if (ndr_flags & NDR_BUFFERS) {
    1937         260 :                         if (r->data) {
    1938          52 :                                 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1939          52 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
    1940          52 :                                 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
    1941          52 :                                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
    1942          52 :                                 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
    1943          52 :                                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
    1944          52 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
    1945             :                         }
    1946         260 :                         if (r->data) {
    1947          52 :                                 NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
    1948             :                         }
    1949             :                 }
    1950         260 :                 ndr->flags = _flags_save_STRUCT;
    1951             :         }
    1952         260 :         return NDR_ERR_SUCCESS;
    1953             : }
    1954             : 
    1955           0 : _PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
    1956             : {
    1957           0 :         ndr_print_struct(ndr, name, "netr_GenericInfo2");
    1958           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1959             :         {
    1960           0 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    1961           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    1962           0 :                 ndr->depth++;
    1963           0 :                 ndr_print_uint32(ndr, "length", r->length);
    1964           0 :                 ndr_print_ptr(ndr, "data", r->data);
    1965           0 :                 ndr->depth++;
    1966           0 :                 if (r->data) {
    1967           0 :                         ndr_print_array_uint8(ndr, "data", r->data, r->length);
    1968             :                 }
    1969           0 :                 ndr->depth--;
    1970           0 :                 ndr->depth--;
    1971           0 :                 ndr->flags = _flags_save_STRUCT;
    1972             :         }
    1973             : }
    1974             : 
    1975       26471 : _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
    1976             : {
    1977             :         uint32_t level;
    1978       26471 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1979       26471 :         if (ndr_flags & NDR_SCALARS) {
    1980             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1981       26471 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1982       26471 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1983       26471 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
    1984             :                 /* ms_union is always aligned to the largest union arm*/
    1985       26471 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1986       26471 :                 switch (level) {
    1987        9724 :                         case NetlogonValidationSamInfo: {
    1988        9724 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
    1989        8379 :                         break; }
    1990             : 
    1991        9665 :                         case NetlogonValidationSamInfo2: {
    1992        9665 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
    1993        8392 :                         break; }
    1994             : 
    1995           0 :                         case 4: {
    1996           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
    1997           0 :                         break; }
    1998             : 
    1999         260 :                         case NetlogonValidationGenericInfo2: {
    2000         260 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
    2001         260 :                         break; }
    2002             : 
    2003        5562 :                         case NetlogonValidationSamInfo4: {
    2004        5562 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
    2005        5490 :                         break; }
    2006             : 
    2007        1039 :                         default: {
    2008        1039 :                         break; }
    2009             : 
    2010             :                 }
    2011           0 :         }
    2012       26471 :         if (ndr_flags & NDR_BUFFERS) {
    2013       26471 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2014             :                         /* We didn't get it above, and the token is not needed after this. */
    2015           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2016             :                 }
    2017       26471 :                 switch (level) {
    2018        9724 :                         case NetlogonValidationSamInfo:
    2019        9724 :                                 if (r->sam2) {
    2020        5870 :                                         NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
    2021             :                                 }
    2022        8379 :                         break;
    2023             : 
    2024        9665 :                         case NetlogonValidationSamInfo2:
    2025        9665 :                                 if (r->sam3) {
    2026        6186 :                                         NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
    2027             :                                 }
    2028        8392 :                         break;
    2029             : 
    2030           0 :                         case 4:
    2031           0 :                                 if (r->pac) {
    2032           0 :                                         NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
    2033             :                                 }
    2034           0 :                         break;
    2035             : 
    2036         260 :                         case NetlogonValidationGenericInfo2:
    2037         260 :                                 if (r->generic) {
    2038         260 :                                         NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
    2039             :                                 }
    2040         260 :                         break;
    2041             : 
    2042        5562 :                         case NetlogonValidationSamInfo4:
    2043        5562 :                                 if (r->sam6) {
    2044        2576 :                                         NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
    2045             :                                 }
    2046        5490 :                         break;
    2047             : 
    2048        1039 :                         default:
    2049        1039 :                         break;
    2050             : 
    2051             :                 }
    2052           0 :         }
    2053       23560 :         return NDR_ERR_SUCCESS;
    2054             : }
    2055             : 
    2056       23633 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
    2057             : {
    2058             :         uint32_t level;
    2059             :         uint16_t _level;
    2060       23633 :         TALLOC_CTX *_mem_save_sam2_0 = NULL;
    2061             :         uint32_t _ptr_sam2;
    2062       23633 :         TALLOC_CTX *_mem_save_sam3_0 = NULL;
    2063             :         uint32_t _ptr_sam3;
    2064       23633 :         TALLOC_CTX *_mem_save_pac_0 = NULL;
    2065             :         uint32_t _ptr_pac;
    2066       23633 :         TALLOC_CTX *_mem_save_generic_0 = NULL;
    2067             :         uint32_t _ptr_generic;
    2068       23633 :         TALLOC_CTX *_mem_save_sam6_0 = NULL;
    2069             :         uint32_t _ptr_sam6;
    2070       23633 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2071       23633 :         if (ndr_flags & NDR_SCALARS) {
    2072             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2073       23633 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2074       23633 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2075       23633 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
    2076       23633 :                 if (_level != level) {
    2077           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    2078             :                 }
    2079             :                 /* ms_union is always aligned to the largest union arm*/
    2080       23633 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2081       23633 :                 switch (level) {
    2082        8612 :                         case NetlogonValidationSamInfo: {
    2083        8612 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
    2084        8612 :                                 if (_ptr_sam2) {
    2085        5182 :                                         NDR_PULL_ALLOC(ndr, r->sam2);
    2086             :                                 } else {
    2087        3430 :                                         r->sam2 = NULL;
    2088             :                                 }
    2089        7492 :                         break; }
    2090             : 
    2091        8613 :                         case NetlogonValidationSamInfo2: {
    2092        8613 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
    2093        8613 :                                 if (_ptr_sam3) {
    2094        5502 :                                         NDR_PULL_ALLOC(ndr, r->sam3);
    2095             :                                 } else {
    2096        3111 :                                         r->sam3 = NULL;
    2097             :                                 }
    2098        7553 :                         break; }
    2099             : 
    2100           0 :                         case 4: {
    2101           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
    2102           0 :                                 if (_ptr_pac) {
    2103           0 :                                         NDR_PULL_ALLOC(ndr, r->pac);
    2104             :                                 } else {
    2105           0 :                                         r->pac = NULL;
    2106             :                                 }
    2107           0 :                         break; }
    2108             : 
    2109         260 :                         case NetlogonValidationGenericInfo2: {
    2110         260 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
    2111         260 :                                 if (_ptr_generic) {
    2112         260 :                                         NDR_PULL_ALLOC(ndr, r->generic);
    2113             :                                 } else {
    2114           0 :                                         r->generic = NULL;
    2115             :                                 }
    2116         260 :                         break; }
    2117             : 
    2118        5072 :                         case NetlogonValidationSamInfo4: {
    2119        5072 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
    2120        5072 :                                 if (_ptr_sam6) {
    2121        2092 :                                         NDR_PULL_ALLOC(ndr, r->sam6);
    2122             :                                 } else {
    2123        2980 :                                         r->sam6 = NULL;
    2124             :                                 }
    2125        5012 :                         break; }
    2126             : 
    2127         892 :                         default: {
    2128         892 :                         break; }
    2129             : 
    2130             :                 }
    2131           0 :         }
    2132       23633 :         if (ndr_flags & NDR_BUFFERS) {
    2133       23633 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2134             :                         /* We didn't get it above, and the token is not needed after this. */
    2135           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2136             :                 }
    2137       23633 :                 switch (level) {
    2138        8612 :                         case NetlogonValidationSamInfo:
    2139        8612 :                                 if (r->sam2) {
    2140        5182 :                                         _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2141        5182 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
    2142        5182 :                                         NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
    2143        5182 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
    2144             :                                 }
    2145        7492 :                         break;
    2146             : 
    2147        8613 :                         case NetlogonValidationSamInfo2:
    2148        8613 :                                 if (r->sam3) {
    2149        5502 :                                         _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2150        5502 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
    2151        5502 :                                         NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
    2152        5502 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
    2153             :                                 }
    2154        7553 :                         break;
    2155             : 
    2156           0 :                         case 4:
    2157           0 :                                 if (r->pac) {
    2158           0 :                                         _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2159           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
    2160           0 :                                         NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
    2161           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
    2162             :                                 }
    2163           0 :                         break;
    2164             : 
    2165         260 :                         case NetlogonValidationGenericInfo2:
    2166         260 :                                 if (r->generic) {
    2167         260 :                                         _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2168         260 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
    2169         260 :                                         NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
    2170         260 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
    2171             :                                 }
    2172         260 :                         break;
    2173             : 
    2174        5072 :                         case NetlogonValidationSamInfo4:
    2175        5072 :                                 if (r->sam6) {
    2176        2092 :                                         _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2177        2092 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
    2178        2092 :                                         NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
    2179        2092 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
    2180             :                                 }
    2181        5012 :                         break;
    2182             : 
    2183         892 :                         default:
    2184         892 :                         break;
    2185             : 
    2186             :                 }
    2187           0 :         }
    2188       21209 :         return NDR_ERR_SUCCESS;
    2189             : }
    2190             : 
    2191        5888 : _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
    2192             : {
    2193             :         uint32_t level;
    2194        5888 :         level = ndr_print_steal_switch_value(ndr, r);
    2195        5888 :         ndr_print_union(ndr, name, level, "netr_Validation");
    2196        5888 :         switch (level) {
    2197        2720 :                 case NetlogonValidationSamInfo:
    2198        2720 :                         ndr_print_ptr(ndr, "sam2", r->sam2);
    2199        2720 :                         ndr->depth++;
    2200        2720 :                         if (r->sam2) {
    2201        1680 :                                 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
    2202             :                         }
    2203        2720 :                         ndr->depth--;
    2204        2720 :                 break;
    2205             : 
    2206        2576 :                 case NetlogonValidationSamInfo2:
    2207        2576 :                         ndr_print_ptr(ndr, "sam3", r->sam3);
    2208        2576 :                         ndr->depth++;
    2209        2576 :                         if (r->sam3) {
    2210        1680 :                                 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
    2211             :                         }
    2212        2576 :                         ndr->depth--;
    2213        2576 :                 break;
    2214             : 
    2215           0 :                 case 4:
    2216           0 :                         ndr_print_ptr(ndr, "pac", r->pac);
    2217           0 :                         ndr->depth++;
    2218           0 :                         if (r->pac) {
    2219           0 :                                 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
    2220             :                         }
    2221           0 :                         ndr->depth--;
    2222           0 :                 break;
    2223             : 
    2224           0 :                 case NetlogonValidationGenericInfo2:
    2225           0 :                         ndr_print_ptr(ndr, "generic", r->generic);
    2226           0 :                         ndr->depth++;
    2227           0 :                         if (r->generic) {
    2228           0 :                                 ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
    2229             :                         }
    2230           0 :                         ndr->depth--;
    2231           0 :                 break;
    2232             : 
    2233         144 :                 case NetlogonValidationSamInfo4:
    2234         144 :                         ndr_print_ptr(ndr, "sam6", r->sam6);
    2235         144 :                         ndr->depth++;
    2236         144 :                         if (r->sam6) {
    2237         144 :                                 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
    2238             :                         }
    2239         144 :                         ndr->depth--;
    2240         144 :                 break;
    2241             : 
    2242         374 :                 default:
    2243         374 :                 break;
    2244             : 
    2245             :         }
    2246        5888 : }
    2247             : 
    2248      133212 : _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
    2249             : {
    2250             :         {
    2251      133212 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2252      133212 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2253      133212 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2254      133212 :                 if (ndr_flags & NDR_SCALARS) {
    2255      133212 :                         NDR_CHECK(ndr_push_align(ndr, 1));
    2256      133212 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
    2257      133212 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 1));
    2258             :                 }
    2259      119979 :                 if (ndr_flags & NDR_BUFFERS) {
    2260             :                 }
    2261      133212 :                 ndr->flags = _flags_save_STRUCT;
    2262             :         }
    2263      133212 :         return NDR_ERR_SUCCESS;
    2264             : }
    2265             : 
    2266      131708 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
    2267             : {
    2268      131708 :         uint32_t size_data_0 = 0;
    2269             :         {
    2270      131708 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2271      131708 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2272      131708 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2273      131708 :                 if (ndr_flags & NDR_SCALARS) {
    2274      131708 :                         NDR_CHECK(ndr_pull_align(ndr, 1));
    2275      131708 :                         size_data_0 = 8;
    2276      131708 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
    2277      131708 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
    2278             :                 }
    2279      118875 :                 if (ndr_flags & NDR_BUFFERS) {
    2280             :                 }
    2281      131708 :                 ndr->flags = _flags_save_STRUCT;
    2282             :         }
    2283      131708 :         return NDR_ERR_SUCCESS;
    2284             : }
    2285             : 
    2286           0 : static void ndr_print_flags_netr_Credential(struct ndr_print *ndr, const char *name, int unused, const struct netr_Credential *r)
    2287             : {
    2288           0 :         ndr_print_netr_Credential(ndr, name, r);
    2289           0 : }
    2290             : 
    2291        8774 : _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
    2292             : {
    2293        8774 :         ndr_print_struct(ndr, name, "netr_Credential");
    2294        8774 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2295             :         {
    2296        8774 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    2297        8774 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2298        8774 :                 ndr->depth++;
    2299        8774 :                 ndr_print_array_uint8(ndr, "data", r->data, 8);
    2300        8774 :                 ndr->depth--;
    2301        8774 :                 ndr->flags = _flags_save_STRUCT;
    2302             :         }
    2303             : }
    2304             : 
    2305       47955 : _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
    2306             : {
    2307       47955 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2308       47955 :         if (ndr_flags & NDR_SCALARS) {
    2309       47955 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2310       47955 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
    2311       47955 :                 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
    2312       47955 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2313             :         }
    2314       42231 :         if (ndr_flags & NDR_BUFFERS) {
    2315             :         }
    2316       47955 :         return NDR_ERR_SUCCESS;
    2317             : }
    2318             : 
    2319       45954 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
    2320             : {
    2321       45954 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2322       45954 :         if (ndr_flags & NDR_SCALARS) {
    2323       45954 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2324       45954 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
    2325       45954 :                 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
    2326       45954 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2327             :         }
    2328       40476 :         if (ndr_flags & NDR_BUFFERS) {
    2329             :         }
    2330       45954 :         return NDR_ERR_SUCCESS;
    2331             : }
    2332             : 
    2333           0 : static void ndr_print_flags_netr_Authenticator(struct ndr_print *ndr, const char *name, int unused, const struct netr_Authenticator *r)
    2334             : {
    2335           0 :         ndr_print_netr_Authenticator(ndr, name, r);
    2336           0 : }
    2337             : 
    2338        3438 : _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
    2339             : {
    2340        3438 :         ndr_print_struct(ndr, name, "netr_Authenticator");
    2341        3438 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2342        3438 :         ndr->depth++;
    2343        3438 :         ndr_print_netr_Credential(ndr, "cred", &r->cred);
    2344        3438 :         ndr_print_time_t(ndr, "timestamp", r->timestamp);
    2345        3438 :         ndr->depth--;
    2346             : }
    2347             : 
    2348           0 : static enum ndr_err_code ndr_push_netr_DELTA_DELETE_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_USER *r)
    2349             : {
    2350           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2351           0 :         if (ndr_flags & NDR_SCALARS) {
    2352           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2353           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
    2354           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    2355           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    2356           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    2357           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    2358           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    2359           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    2360           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    2361           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    2362           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2363             :         }
    2364           0 :         if (ndr_flags & NDR_BUFFERS) {
    2365           0 :                 if (r->account_name) {
    2366           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
    2367           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2368           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
    2369           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    2370             :                 }
    2371           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    2372           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    2373           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    2374           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    2375             :         }
    2376           0 :         return NDR_ERR_SUCCESS;
    2377             : }
    2378             : 
    2379           0 : static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
    2380             : {
    2381             :         uint32_t _ptr_account_name;
    2382           0 :         uint32_t size_account_name_1 = 0;
    2383           0 :         uint32_t length_account_name_1 = 0;
    2384           0 :         TALLOC_CTX *_mem_save_account_name_0 = NULL;
    2385           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2386           0 :         if (ndr_flags & NDR_SCALARS) {
    2387           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2388           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
    2389           0 :                 if (_ptr_account_name) {
    2390           0 :                         NDR_PULL_ALLOC(ndr, r->account_name);
    2391             :                 } else {
    2392           0 :                         r->account_name = NULL;
    2393             :                 }
    2394           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    2395           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    2396           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    2397           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    2398           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    2399           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    2400           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    2401           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    2402           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2403             :         }
    2404           0 :         if (ndr_flags & NDR_BUFFERS) {
    2405           0 :                 if (r->account_name) {
    2406           0 :                         _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2407           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
    2408           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
    2409           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
    2410           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->account_name, &size_account_name_1));
    2411           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->account_name, &length_account_name_1));
    2412           0 :                         if (length_account_name_1 > size_account_name_1) {
    2413           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
    2414             :                         }
    2415           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
    2416           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
    2417           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
    2418             :                 }
    2419           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    2420           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    2421           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    2422           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    2423             :         }
    2424           0 :         return NDR_ERR_SUCCESS;
    2425             : }
    2426             : 
    2427           0 : _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
    2428             : {
    2429           0 :         ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
    2430           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2431           0 :         ndr->depth++;
    2432           0 :         ndr_print_ptr(ndr, "account_name", r->account_name);
    2433           0 :         ndr->depth++;
    2434           0 :         if (r->account_name) {
    2435           0 :                 ndr_print_string(ndr, "account_name", r->account_name);
    2436             :         }
    2437           0 :         ndr->depth--;
    2438           0 :         ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
    2439           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    2440           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    2441           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    2442           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    2443           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    2444           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    2445           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    2446           0 :         ndr->depth--;
    2447             : }
    2448             : 
    2449           0 : static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
    2450             : {
    2451           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2452           0 :         if (ndr_flags & NDR_SCALARS) {
    2453           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2454           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
    2455           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
    2456           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
    2457           0 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
    2458           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2459             :         }
    2460           0 :         if (ndr_flags & NDR_BUFFERS) {
    2461             :         }
    2462           0 :         return NDR_ERR_SUCCESS;
    2463             : }
    2464             : 
    2465           0 : static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
    2466             : {
    2467           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2468           0 :         if (ndr_flags & NDR_SCALARS) {
    2469           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2470           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
    2471           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
    2472           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
    2473           0 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
    2474           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2475             :         }
    2476           0 :         if (ndr_flags & NDR_BUFFERS) {
    2477             :         }
    2478           0 :         return NDR_ERR_SUCCESS;
    2479             : }
    2480             : 
    2481           0 : _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
    2482             : {
    2483           0 :         ndr_print_struct(ndr, name, "netr_USER_KEY16");
    2484           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2485           0 :         ndr->depth++;
    2486           0 :         ndr_print_uint16(ndr, "length", r->length);
    2487           0 :         ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
    2488           0 :         ndr_print_uint32(ndr, "flags", r->flags);
    2489           0 :         ndr_print_samr_Password(ndr, "pwd", &r->pwd);
    2490           0 :         ndr->depth--;
    2491             : }
    2492             : 
    2493           0 : static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
    2494             : {
    2495           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2496           0 :         if (ndr_flags & NDR_SCALARS) {
    2497           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2498           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
    2499           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
    2500           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
    2501           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
    2502           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
    2503           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
    2504           0 :                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
    2505           0 :                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
    2506           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2507             :         }
    2508           0 :         if (ndr_flags & NDR_BUFFERS) {
    2509             :         }
    2510           0 :         return NDR_ERR_SUCCESS;
    2511             : }
    2512             : 
    2513           0 : static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
    2514             : {
    2515           0 :         uint32_t size_nt_history_0 = 0;
    2516           0 :         uint32_t size_lm_history_0 = 0;
    2517           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2518           0 :         if (ndr_flags & NDR_SCALARS) {
    2519           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2520           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
    2521           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
    2522           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
    2523           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
    2524           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
    2525           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
    2526           0 :                 size_nt_history_0 = r->nt_length;
    2527           0 :                 NDR_PULL_ALLOC_N(ndr, r->nt_history, size_nt_history_0);
    2528           0 :                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, size_nt_history_0));
    2529           0 :                 size_lm_history_0 = r->lm_length;
    2530           0 :                 NDR_PULL_ALLOC_N(ndr, r->lm_history, size_lm_history_0);
    2531           0 :                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, size_lm_history_0));
    2532           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2533             :         }
    2534           0 :         if (ndr_flags & NDR_BUFFERS) {
    2535             :         }
    2536           0 :         return NDR_ERR_SUCCESS;
    2537             : }
    2538             : 
    2539           0 : _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
    2540             : {
    2541           0 :         ndr_print_struct(ndr, name, "netr_PasswordHistory");
    2542           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2543           0 :         ndr->depth++;
    2544           0 :         ndr_print_uint16(ndr, "nt_length", r->nt_length);
    2545           0 :         ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
    2546           0 :         ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
    2547           0 :         ndr_print_uint16(ndr, "lm_length", r->lm_length);
    2548           0 :         ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
    2549           0 :         ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
    2550           0 :         ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
    2551           0 :         ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
    2552           0 :         ndr->depth--;
    2553             : }
    2554             : 
    2555           0 : static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
    2556             : {
    2557           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2558           0 :         if (ndr_flags & NDR_SCALARS) {
    2559           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2560           0 :                 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
    2561           0 :                 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
    2562           0 :                 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
    2563           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2564             :         }
    2565           0 :         if (ndr_flags & NDR_BUFFERS) {
    2566             :         }
    2567           0 :         return NDR_ERR_SUCCESS;
    2568             : }
    2569             : 
    2570           0 : static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
    2571             : {
    2572           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2573           0 :         if (ndr_flags & NDR_SCALARS) {
    2574           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2575           0 :                 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
    2576           0 :                 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
    2577           0 :                 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
    2578           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2579             :         }
    2580           0 :         if (ndr_flags & NDR_BUFFERS) {
    2581             :         }
    2582           0 :         return NDR_ERR_SUCCESS;
    2583             : }
    2584             : 
    2585           0 : _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
    2586             : {
    2587           0 :         ndr_print_struct(ndr, name, "netr_USER_KEYS2");
    2588           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2589           0 :         ndr->depth++;
    2590           0 :         ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
    2591           0 :         ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
    2592           0 :         ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
    2593           0 :         ndr->depth--;
    2594             : }
    2595             : 
    2596           0 : static enum ndr_err_code ndr_push_netr_USER_KEY_UNION(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY_UNION *r)
    2597             : {
    2598           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2599           0 :         if (ndr_flags & NDR_SCALARS) {
    2600           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2601           0 :                 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
    2602           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2603             :         }
    2604           0 :         if (ndr_flags & NDR_BUFFERS) {
    2605             :         }
    2606           0 :         return NDR_ERR_SUCCESS;
    2607             : }
    2608             : 
    2609           0 : static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
    2610             : {
    2611           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2612           0 :         if (ndr_flags & NDR_SCALARS) {
    2613           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2614           0 :                 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
    2615           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2616             :         }
    2617           0 :         if (ndr_flags & NDR_BUFFERS) {
    2618             :         }
    2619           0 :         return NDR_ERR_SUCCESS;
    2620             : }
    2621             : 
    2622           0 : _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
    2623             : {
    2624           0 :         ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
    2625           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2626           0 :         ndr->depth++;
    2627           0 :         ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
    2628           0 :         ndr->depth--;
    2629             : }
    2630             : 
    2631           0 : _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
    2632             : {
    2633           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2634           0 :         if (ndr_flags & NDR_SCALARS) {
    2635           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    2636           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
    2637           0 :                 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
    2638           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    2639             :         }
    2640           0 :         if (ndr_flags & NDR_BUFFERS) {
    2641             :         }
    2642           0 :         return NDR_ERR_SUCCESS;
    2643             : }
    2644             : 
    2645           0 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
    2646             : {
    2647           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2648           0 :         if (ndr_flags & NDR_SCALARS) {
    2649           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    2650           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
    2651           0 :                 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
    2652           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    2653             :         }
    2654           0 :         if (ndr_flags & NDR_BUFFERS) {
    2655             :         }
    2656           0 :         return NDR_ERR_SUCCESS;
    2657             : }
    2658             : 
    2659           0 : static void ndr_print_flags_netr_USER_KEYS(struct ndr_print *ndr, const char *name, int unused, const struct netr_USER_KEYS *r)
    2660             : {
    2661           0 :         ndr_print_netr_USER_KEYS(ndr, name, r);
    2662           0 : }
    2663             : 
    2664           0 : _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
    2665             : {
    2666           0 :         ndr_print_struct(ndr, name, "netr_USER_KEYS");
    2667           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2668           0 :         ndr->depth++;
    2669           0 :         ndr_print_uint32(ndr, "version", r->version);
    2670           0 :         ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
    2671           0 :         ndr->depth--;
    2672             : }
    2673             : 
    2674           0 : static enum ndr_err_code ndr_push_netr_USER_PRIVATE_INFO(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_PRIVATE_INFO *r)
    2675             : {
    2676           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2677           0 :         if (ndr_flags & NDR_SCALARS) {
    2678           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2679           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
    2680           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
    2681             :                 {
    2682           0 :                         uint32_t _flags_save_uint8 = ndr->flags;
    2683           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2684           0 :                         NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
    2685           0 :                         ndr->flags = _flags_save_uint8;
    2686             :                 }
    2687           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2688             :         }
    2689           0 :         if (ndr_flags & NDR_BUFFERS) {
    2690             :                 {
    2691           0 :                         uint32_t _flags_save_uint8 = ndr->flags;
    2692           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2693           0 :                         if (r->SensitiveData) {
    2694           0 :                                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->DataLength));
    2695           0 :                                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
    2696             :                         }
    2697           0 :                         ndr->flags = _flags_save_uint8;
    2698             :                 }
    2699             :         }
    2700           0 :         return NDR_ERR_SUCCESS;
    2701             : }
    2702             : 
    2703           0 : static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
    2704             : {
    2705             :         uint32_t _ptr_SensitiveData;
    2706           0 :         uint32_t size_SensitiveData_1 = 0;
    2707           0 :         TALLOC_CTX *_mem_save_SensitiveData_0 = NULL;
    2708           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2709           0 :         if (ndr_flags & NDR_SCALARS) {
    2710           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2711           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
    2712           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
    2713             :                 {
    2714           0 :                         uint32_t _flags_save_uint8 = ndr->flags;
    2715           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2716           0 :                         NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
    2717           0 :                         if (_ptr_SensitiveData) {
    2718           0 :                                 NDR_PULL_ALLOC(ndr, r->SensitiveData);
    2719             :                         } else {
    2720           0 :                                 r->SensitiveData = NULL;
    2721             :                         }
    2722           0 :                         ndr->flags = _flags_save_uint8;
    2723             :                 }
    2724           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2725             :         }
    2726           0 :         if (ndr_flags & NDR_BUFFERS) {
    2727             :                 {
    2728           0 :                         uint32_t _flags_save_uint8 = ndr->flags;
    2729           0 :                         ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2730           0 :                         if (r->SensitiveData) {
    2731           0 :                                 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2732           0 :                                 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
    2733           0 :                                 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
    2734           0 :                                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->SensitiveData, &size_SensitiveData_1));
    2735           0 :                                 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, size_SensitiveData_1);
    2736           0 :                                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, size_SensitiveData_1));
    2737           0 :                                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
    2738             :                         }
    2739           0 :                         ndr->flags = _flags_save_uint8;
    2740             :                 }
    2741           0 :                 if (r->SensitiveData) {
    2742           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
    2743             :                 }
    2744             :         }
    2745           0 :         return NDR_ERR_SUCCESS;
    2746             : }
    2747             : 
    2748           0 : _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
    2749             : {
    2750           0 :         ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
    2751           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2752           0 :         ndr->depth++;
    2753           0 :         ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
    2754           0 :         ndr_print_uint32(ndr, "DataLength", r->DataLength);
    2755             :         {
    2756           0 :                 uint32_t _flags_save_uint8 = ndr->flags;
    2757           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    2758           0 :                 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
    2759           0 :                 ndr->depth++;
    2760           0 :                 if (r->SensitiveData) {
    2761           0 :                         ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
    2762             :                 }
    2763           0 :                 ndr->depth--;
    2764           0 :                 ndr->flags = _flags_save_uint8;
    2765             :         }
    2766           0 :         ndr->depth--;
    2767             : }
    2768             : 
    2769           0 : static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
    2770             : {
    2771           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2772           0 :         if (ndr_flags & NDR_SCALARS) {
    2773           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2774           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2775           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2776           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    2777           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
    2778           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    2779           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    2780           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    2781           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    2782           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    2783           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
    2784           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
    2785           0 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    2786           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
    2787           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
    2788           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
    2789           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
    2790           0 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
    2791           0 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
    2792           0 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
    2793           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
    2794           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
    2795           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
    2796           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
    2797           0 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
    2798           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
    2799           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
    2800           0 :                 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
    2801           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
    2802           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    2803           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    2804           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    2805           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    2806           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    2807           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    2808           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    2809           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    2810           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    2811           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2812             :         }
    2813           0 :         if (ndr_flags & NDR_BUFFERS) {
    2814           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2815           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2816           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    2817           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    2818           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    2819           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    2820           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    2821           0 :                 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    2822           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
    2823           0 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
    2824           0 :                 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
    2825           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    2826           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    2827           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    2828           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    2829           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    2830             :         }
    2831           0 :         return NDR_ERR_SUCCESS;
    2832             : }
    2833             : 
    2834           0 : static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
    2835             : {
    2836           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2837           0 :         if (ndr_flags & NDR_SCALARS) {
    2838           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2839           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
    2840           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
    2841           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    2842           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
    2843           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
    2844           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
    2845           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
    2846           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    2847           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
    2848           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
    2849           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
    2850           0 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
    2851           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
    2852           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
    2853           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
    2854           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
    2855           0 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
    2856           0 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
    2857           0 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
    2858           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
    2859           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
    2860           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
    2861           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
    2862           0 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
    2863           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
    2864           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
    2865           0 :                 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
    2866           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
    2867           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    2868           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
    2869           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    2870           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    2871           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    2872           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    2873           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    2874           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    2875           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    2876           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2877             :         }
    2878           0 :         if (ndr_flags & NDR_BUFFERS) {
    2879           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
    2880           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
    2881           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
    2882           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
    2883           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
    2884           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    2885           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
    2886           0 :                 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
    2887           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
    2888           0 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
    2889           0 :                 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
    2890           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    2891           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
    2892           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    2893           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    2894           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    2895             :         }
    2896           0 :         return NDR_ERR_SUCCESS;
    2897             : }
    2898             : 
    2899           0 : _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
    2900             : {
    2901           0 :         ndr_print_struct(ndr, name, "netr_DELTA_USER");
    2902           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2903           0 :         ndr->depth++;
    2904           0 :         ndr_print_lsa_String(ndr, "account_name", &r->account_name);
    2905           0 :         ndr_print_lsa_String(ndr, "full_name", &r->full_name);
    2906           0 :         ndr_print_uint32(ndr, "rid", r->rid);
    2907           0 :         ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
    2908           0 :         ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
    2909           0 :         ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
    2910           0 :         ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
    2911           0 :         ndr_print_lsa_String(ndr, "description", &r->description);
    2912           0 :         ndr_print_lsa_String(ndr, "workstations", &r->workstations);
    2913           0 :         ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
    2914           0 :         ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
    2915           0 :         ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
    2916           0 :         ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
    2917           0 :         ndr_print_uint16(ndr, "logon_count", r->logon_count);
    2918           0 :         ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
    2919           0 :         ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
    2920           0 :         ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
    2921           0 :         ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
    2922           0 :         ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
    2923           0 :         ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
    2924           0 :         ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
    2925           0 :         ndr_print_uint8(ndr, "password_expired", r->password_expired);
    2926           0 :         ndr_print_lsa_String(ndr, "comment", &r->comment);
    2927           0 :         ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
    2928           0 :         ndr_print_uint16(ndr, "country_code", r->country_code);
    2929           0 :         ndr_print_uint16(ndr, "code_page", r->code_page);
    2930           0 :         ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
    2931           0 :         ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
    2932           0 :         ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
    2933           0 :         ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
    2934           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    2935           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    2936           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    2937           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    2938           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    2939           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    2940           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    2941           0 :         ndr->depth--;
    2942             : }
    2943             : 
    2944           0 : static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
    2945             : {
    2946           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2947           0 :         if (ndr_flags & NDR_SCALARS) {
    2948           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2949           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
    2950           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
    2951           0 :                 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
    2952           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
    2953           0 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
    2954           0 :                 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
    2955           0 :                 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
    2956           0 :                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
    2957           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
    2958           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
    2959           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    2960           0 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
    2961           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    2962           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    2963           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    2964           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
    2965           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    2966           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    2967           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    2968           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2969             :         }
    2970           0 :         if (ndr_flags & NDR_BUFFERS) {
    2971           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
    2972           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
    2973           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    2974           0 :                 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
    2975           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    2976           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    2977           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    2978             :         }
    2979           0 :         return NDR_ERR_SUCCESS;
    2980             : }
    2981             : 
    2982           0 : static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
    2983             : {
    2984           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2985           0 :         if (ndr_flags & NDR_SCALARS) {
    2986           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2987           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
    2988           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
    2989           0 :                 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
    2990           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
    2991           0 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
    2992           0 :                 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
    2993           0 :                 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
    2994           0 :                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
    2995           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
    2996           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
    2997           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    2998           0 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
    2999           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3000           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3001           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3002           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
    3003           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    3004           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    3005           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    3006           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3007             :         }
    3008           0 :         if (ndr_flags & NDR_BUFFERS) {
    3009           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
    3010           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
    3011           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3012           0 :                 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
    3013           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3014           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3015           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3016             :         }
    3017           0 :         return NDR_ERR_SUCCESS;
    3018             : }
    3019             : 
    3020           0 : _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
    3021             : {
    3022           0 :         ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
    3023           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3024           0 :         ndr->depth++;
    3025           0 :         ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
    3026           0 :         ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
    3027           0 :         ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
    3028           0 :         ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
    3029           0 :         ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
    3030           0 :         ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
    3031           0 :         ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
    3032           0 :         ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
    3033           0 :         ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
    3034           0 :         ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
    3035           0 :         ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
    3036           0 :         ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
    3037           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    3038           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    3039           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    3040           0 :         ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
    3041           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    3042           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    3043           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    3044           0 :         ndr->depth--;
    3045             : }
    3046             : 
    3047           0 : static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
    3048             : {
    3049           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3050           0 :         if (ndr_flags & NDR_SCALARS) {
    3051           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3052           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
    3053           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    3054           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
    3055           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    3056           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
    3057           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3058           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3059           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3060           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3061           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3062           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    3063           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    3064           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    3065           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    3066           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3067             :         }
    3068           0 :         if (ndr_flags & NDR_BUFFERS) {
    3069           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
    3070           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    3071           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3072           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3073           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3074           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3075           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3076             :         }
    3077           0 :         return NDR_ERR_SUCCESS;
    3078             : }
    3079             : 
    3080           0 : static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
    3081             : {
    3082           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3083           0 :         if (ndr_flags & NDR_SCALARS) {
    3084           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3085           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
    3086           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    3087           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
    3088           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    3089           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
    3090           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3091           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3092           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3093           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3094           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3095           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    3096           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    3097           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    3098           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    3099           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3100             :         }
    3101           0 :         if (ndr_flags & NDR_BUFFERS) {
    3102           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
    3103           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    3104           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3105           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3106           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3107           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3108           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3109             :         }
    3110           0 :         return NDR_ERR_SUCCESS;
    3111             : }
    3112             : 
    3113           0 : _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
    3114             : {
    3115           0 :         ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
    3116           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3117           0 :         ndr->depth++;
    3118           0 :         ndr_print_lsa_String(ndr, "group_name", &r->group_name);
    3119           0 :         ndr_print_uint32(ndr, "rid", r->rid);
    3120           0 :         ndr_print_uint32(ndr, "attributes", r->attributes);
    3121           0 :         ndr_print_lsa_String(ndr, "description", &r->description);
    3122           0 :         ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
    3123           0 :         ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
    3124           0 :         ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
    3125           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    3126           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    3127           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    3128           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    3129           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    3130           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    3131           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    3132           0 :         ndr->depth--;
    3133             : }
    3134             : 
    3135           0 : static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
    3136             : {
    3137           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3138           0 :         if (ndr_flags & NDR_SCALARS) {
    3139           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3140           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
    3141           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
    3142           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3143           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3144           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3145           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3146           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    3147           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    3148           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    3149           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    3150           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3151             :         }
    3152           0 :         if (ndr_flags & NDR_BUFFERS) {
    3153           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
    3154           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
    3155           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3156           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3157           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3158           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3159             :         }
    3160           0 :         return NDR_ERR_SUCCESS;
    3161             : }
    3162             : 
    3163           0 : static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
    3164             : {
    3165           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3166           0 :         if (ndr_flags & NDR_SCALARS) {
    3167           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3168           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
    3169           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
    3170           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3171           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3172           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3173           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3174           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    3175           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    3176           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    3177           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    3178           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3179             :         }
    3180           0 :         if (ndr_flags & NDR_BUFFERS) {
    3181           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
    3182           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
    3183           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3184           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3185           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3186           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3187             :         }
    3188           0 :         return NDR_ERR_SUCCESS;
    3189             : }
    3190             : 
    3191           0 : _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
    3192             : {
    3193           0 :         ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
    3194           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3195           0 :         ndr->depth++;
    3196           0 :         ndr_print_lsa_String(ndr, "OldName", &r->OldName);
    3197           0 :         ndr_print_lsa_String(ndr, "NewName", &r->NewName);
    3198           0 :         ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
    3199           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    3200           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    3201           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    3202           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    3203           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    3204           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    3205           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    3206           0 :         ndr->depth--;
    3207             : }
    3208             : 
    3209           0 : static enum ndr_err_code ndr_push_netr_DELTA_GROUP_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP_MEMBER *r)
    3210             : {
    3211             :         uint32_t cntr_rids_1;
    3212             :         uint32_t cntr_attribs_1;
    3213           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3214           0 :         if (ndr_flags & NDR_SCALARS) {
    3215           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3216           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
    3217           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
    3218           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
    3219           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
    3220           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
    3221           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
    3222           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
    3223           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3224             :         }
    3225           0 :         if (ndr_flags & NDR_BUFFERS) {
    3226           0 :                 if (r->rids) {
    3227           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
    3228           0 :                         for (cntr_rids_1 = 0; cntr_rids_1 < (r->num_rids); cntr_rids_1++) {
    3229           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
    3230             :                         }
    3231             :                 }
    3232           0 :                 if (r->attribs) {
    3233           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
    3234           0 :                         for (cntr_attribs_1 = 0; cntr_attribs_1 < (r->num_rids); cntr_attribs_1++) {
    3235           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
    3236             :                         }
    3237             :                 }
    3238             :         }
    3239           0 :         return NDR_ERR_SUCCESS;
    3240             : }
    3241             : 
    3242           0 : static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
    3243             : {
    3244             :         uint32_t _ptr_rids;
    3245           0 :         uint32_t size_rids_1 = 0;
    3246             :         uint32_t cntr_rids_1;
    3247           0 :         TALLOC_CTX *_mem_save_rids_0 = NULL;
    3248           0 :         TALLOC_CTX *_mem_save_rids_1 = NULL;
    3249             :         uint32_t _ptr_attribs;
    3250           0 :         uint32_t size_attribs_1 = 0;
    3251             :         uint32_t cntr_attribs_1;
    3252           0 :         TALLOC_CTX *_mem_save_attribs_0 = NULL;
    3253           0 :         TALLOC_CTX *_mem_save_attribs_1 = NULL;
    3254           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3255           0 :         if (ndr_flags & NDR_SCALARS) {
    3256           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3257           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
    3258           0 :                 if (_ptr_rids) {
    3259           0 :                         NDR_PULL_ALLOC(ndr, r->rids);
    3260             :                 } else {
    3261           0 :                         r->rids = NULL;
    3262             :                 }
    3263           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
    3264           0 :                 if (_ptr_attribs) {
    3265           0 :                         NDR_PULL_ALLOC(ndr, r->attribs);
    3266             :                 } else {
    3267           0 :                         r->attribs = NULL;
    3268             :                 }
    3269           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
    3270           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
    3271           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
    3272           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
    3273           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
    3274           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3275             :         }
    3276           0 :         if (ndr_flags & NDR_BUFFERS) {
    3277           0 :                 if (r->rids) {
    3278           0 :                         _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3279           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
    3280           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
    3281           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->rids, &size_rids_1));
    3282           0 :                         NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
    3283           0 :                         _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
    3284           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
    3285           0 :                         for (cntr_rids_1 = 0; cntr_rids_1 < (size_rids_1); cntr_rids_1++) {
    3286           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
    3287             :                         }
    3288           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
    3289           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
    3290             :                 }
    3291           0 :                 if (r->attribs) {
    3292           0 :                         _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3293           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
    3294           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
    3295           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->attribs, &size_attribs_1));
    3296           0 :                         NDR_PULL_ALLOC_N(ndr, r->attribs, size_attribs_1);
    3297           0 :                         _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
    3298           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
    3299           0 :                         for (cntr_attribs_1 = 0; cntr_attribs_1 < (size_attribs_1); cntr_attribs_1++) {
    3300           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
    3301             :                         }
    3302           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
    3303           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
    3304             :                 }
    3305           0 :                 if (r->rids) {
    3306           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->rids, r->num_rids));
    3307             :                 }
    3308           0 :                 if (r->attribs) {
    3309           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->attribs, r->num_rids));
    3310             :                 }
    3311             :         }
    3312           0 :         return NDR_ERR_SUCCESS;
    3313             : }
    3314             : 
    3315           0 : _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
    3316             : {
    3317             :         uint32_t cntr_rids_1;
    3318             :         uint32_t cntr_attribs_1;
    3319           0 :         ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
    3320           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3321           0 :         ndr->depth++;
    3322           0 :         ndr_print_ptr(ndr, "rids", r->rids);
    3323           0 :         ndr->depth++;
    3324           0 :         if (r->rids) {
    3325           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
    3326           0 :                 ndr->depth++;
    3327           0 :                 for (cntr_rids_1 = 0; cntr_rids_1 < (r->num_rids); cntr_rids_1++) {
    3328           0 :                         ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
    3329             :                 }
    3330           0 :                 ndr->depth--;
    3331             :         }
    3332           0 :         ndr->depth--;
    3333           0 :         ndr_print_ptr(ndr, "attribs", r->attribs);
    3334           0 :         ndr->depth++;
    3335           0 :         if (r->attribs) {
    3336           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
    3337           0 :                 ndr->depth++;
    3338           0 :                 for (cntr_attribs_1 = 0; cntr_attribs_1 < (r->num_rids); cntr_attribs_1++) {
    3339           0 :                         ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
    3340             :                 }
    3341           0 :                 ndr->depth--;
    3342             :         }
    3343           0 :         ndr->depth--;
    3344           0 :         ndr_print_uint32(ndr, "num_rids", r->num_rids);
    3345           0 :         ndr_print_uint32(ndr, "unknown1", r->unknown1);
    3346           0 :         ndr_print_uint32(ndr, "unknown2", r->unknown2);
    3347           0 :         ndr_print_uint32(ndr, "unknown3", r->unknown3);
    3348           0 :         ndr_print_uint32(ndr, "unknown4", r->unknown4);
    3349           0 :         ndr->depth--;
    3350             : }
    3351             : 
    3352           0 : static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
    3353             : {
    3354           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3355           0 :         if (ndr_flags & NDR_SCALARS) {
    3356           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3357           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
    3358           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    3359           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
    3360           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3361           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
    3362           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3363           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3364           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3365           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    3366           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    3367           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    3368           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    3369           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3370             :         }
    3371           0 :         if (ndr_flags & NDR_BUFFERS) {
    3372           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
    3373           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3374           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
    3375           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3376           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3377           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3378             :         }
    3379           0 :         return NDR_ERR_SUCCESS;
    3380             : }
    3381             : 
    3382           0 : static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
    3383             : {
    3384           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3385           0 :         if (ndr_flags & NDR_SCALARS) {
    3386           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3387           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
    3388           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    3389           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
    3390           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3391           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
    3392           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3393           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3394           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3395           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    3396           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    3397           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    3398           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    3399           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3400             :         }
    3401           0 :         if (ndr_flags & NDR_BUFFERS) {
    3402           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
    3403           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3404           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
    3405           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3406           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3407           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3408             :         }
    3409           0 :         return NDR_ERR_SUCCESS;
    3410             : }
    3411             : 
    3412           0 : _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
    3413             : {
    3414           0 :         ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
    3415           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3416           0 :         ndr->depth++;
    3417           0 :         ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
    3418           0 :         ndr_print_uint32(ndr, "rid", r->rid);
    3419           0 :         ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
    3420           0 :         ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
    3421           0 :         ndr_print_lsa_String(ndr, "description", &r->description);
    3422           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    3423           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    3424           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    3425           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    3426           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    3427           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    3428           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    3429           0 :         ndr->depth--;
    3430             : }
    3431             : 
    3432           0 : static enum ndr_err_code ndr_push_netr_DELTA_ALIAS_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS_MEMBER *r)
    3433             : {
    3434           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3435           0 :         if (ndr_flags & NDR_SCALARS) {
    3436           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3437           0 :                 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
    3438           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
    3439           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
    3440           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
    3441           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
    3442           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3443             :         }
    3444           0 :         if (ndr_flags & NDR_BUFFERS) {
    3445           0 :                 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
    3446             :         }
    3447           0 :         return NDR_ERR_SUCCESS;
    3448             : }
    3449             : 
    3450           0 : static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
    3451             : {
    3452           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3453           0 :         if (ndr_flags & NDR_SCALARS) {
    3454           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3455           0 :                 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
    3456           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
    3457           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
    3458           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
    3459           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
    3460           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3461             :         }
    3462           0 :         if (ndr_flags & NDR_BUFFERS) {
    3463           0 :                 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
    3464             :         }
    3465           0 :         return NDR_ERR_SUCCESS;
    3466             : }
    3467             : 
    3468           0 : _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
    3469             : {
    3470           0 :         ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
    3471           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3472           0 :         ndr->depth++;
    3473           0 :         ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
    3474           0 :         ndr_print_uint32(ndr, "unknown1", r->unknown1);
    3475           0 :         ndr_print_uint32(ndr, "unknown2", r->unknown2);
    3476           0 :         ndr_print_uint32(ndr, "unknown3", r->unknown3);
    3477           0 :         ndr_print_uint32(ndr, "unknown4", r->unknown4);
    3478           0 :         ndr->depth--;
    3479             : }
    3480             : 
    3481           0 : static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
    3482             : {
    3483           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3484           0 :         if (ndr_flags & NDR_SCALARS) {
    3485           0 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    3486           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
    3487           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
    3488           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
    3489           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
    3490           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
    3491           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
    3492           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    3493             :         }
    3494           0 :         if (ndr_flags & NDR_BUFFERS) {
    3495             :         }
    3496           0 :         return NDR_ERR_SUCCESS;
    3497             : }
    3498             : 
    3499           0 : static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
    3500             : {
    3501           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3502           0 :         if (ndr_flags & NDR_SCALARS) {
    3503           0 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    3504           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
    3505           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
    3506           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
    3507           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
    3508           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
    3509           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
    3510           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    3511             :         }
    3512           0 :         if (ndr_flags & NDR_BUFFERS) {
    3513             :         }
    3514           0 :         return NDR_ERR_SUCCESS;
    3515             : }
    3516             : 
    3517           0 : _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
    3518             : {
    3519           0 :         ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
    3520           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3521           0 :         ndr->depth++;
    3522           0 :         ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
    3523           0 :         ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
    3524           0 :         ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
    3525           0 :         ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
    3526           0 :         ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
    3527           0 :         ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
    3528           0 :         ndr->depth--;
    3529             : }
    3530             : 
    3531           0 : static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
    3532             : {
    3533             :         uint32_t cntr_eventauditoptions_1;
    3534           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3535           0 :         if (ndr_flags & NDR_SCALARS) {
    3536           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3537           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
    3538           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
    3539           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
    3540           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
    3541           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
    3542           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
    3543           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
    3544           0 :                 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
    3545           0 :                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
    3546           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
    3547           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
    3548           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3549           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3550           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3551           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3552           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3553           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    3554           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    3555           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    3556           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    3557           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3558             :         }
    3559           0 :         if (ndr_flags & NDR_BUFFERS) {
    3560           0 :                 if (r->eventauditoptions) {
    3561           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
    3562           0 :                         for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < (r->maxauditeventcount + 1); cntr_eventauditoptions_1++) {
    3563           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
    3564             :                         }
    3565             :                 }
    3566           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
    3567           0 :                 if (r->sid) {
    3568           0 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    3569             :                 }
    3570           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3571           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3572           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3573           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3574           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3575             :         }
    3576           0 :         return NDR_ERR_SUCCESS;
    3577             : }
    3578             : 
    3579           0 : static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
    3580             : {
    3581             :         uint32_t _ptr_eventauditoptions;
    3582           0 :         uint32_t size_eventauditoptions_1 = 0;
    3583             :         uint32_t cntr_eventauditoptions_1;
    3584           0 :         TALLOC_CTX *_mem_save_eventauditoptions_0 = NULL;
    3585           0 :         TALLOC_CTX *_mem_save_eventauditoptions_1 = NULL;
    3586             :         uint32_t _ptr_sid;
    3587           0 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    3588           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3589           0 :         if (ndr_flags & NDR_SCALARS) {
    3590           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3591           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
    3592           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
    3593           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
    3594           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
    3595           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
    3596           0 :                 if (_ptr_eventauditoptions) {
    3597           0 :                         NDR_PULL_ALLOC(ndr, r->eventauditoptions);
    3598             :                 } else {
    3599           0 :                         r->eventauditoptions = NULL;
    3600             :                 }
    3601           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
    3602           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    3603           0 :                 if (_ptr_sid) {
    3604           0 :                         NDR_PULL_ALLOC(ndr, r->sid);
    3605             :                 } else {
    3606           0 :                         r->sid = NULL;
    3607             :                 }
    3608           0 :                 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
    3609           0 :                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
    3610           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
    3611           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
    3612           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3613           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3614           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3615           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3616           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3617           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    3618           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    3619           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    3620           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    3621           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3622             :         }
    3623           0 :         if (ndr_flags & NDR_BUFFERS) {
    3624           0 :                 if (r->eventauditoptions) {
    3625           0 :                         _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3626           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
    3627           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
    3628           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->eventauditoptions, &size_eventauditoptions_1));
    3629           0 :                         NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, size_eventauditoptions_1);
    3630           0 :                         _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
    3631           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
    3632           0 :                         for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < (size_eventauditoptions_1); cntr_eventauditoptions_1++) {
    3633           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
    3634             :                         }
    3635           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
    3636           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
    3637             :                 }
    3638           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
    3639           0 :                 if (r->sid) {
    3640           0 :                         _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3641           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
    3642           0 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    3643           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
    3644             :                 }
    3645           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3646           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3647           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3648           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3649           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3650           0 :                 if (r->eventauditoptions) {
    3651           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
    3652             :                 }
    3653             :         }
    3654           0 :         return NDR_ERR_SUCCESS;
    3655             : }
    3656             : 
    3657           0 : _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
    3658             : {
    3659             :         uint32_t cntr_eventauditoptions_1;
    3660           0 :         ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
    3661           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3662           0 :         ndr->depth++;
    3663           0 :         ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
    3664           0 :         ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
    3665           0 :         ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
    3666           0 :         ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
    3667           0 :         ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
    3668           0 :         ndr->depth++;
    3669           0 :         if (r->eventauditoptions) {
    3670           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
    3671           0 :                 ndr->depth++;
    3672           0 :                 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < (r->maxauditeventcount + 1); cntr_eventauditoptions_1++) {
    3673           0 :                         ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
    3674             :                 }
    3675           0 :                 ndr->depth--;
    3676             :         }
    3677           0 :         ndr->depth--;
    3678           0 :         ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
    3679           0 :         ndr_print_ptr(ndr, "sid", r->sid);
    3680           0 :         ndr->depth++;
    3681           0 :         if (r->sid) {
    3682           0 :                 ndr_print_dom_sid2(ndr, "sid", r->sid);
    3683             :         }
    3684           0 :         ndr->depth--;
    3685           0 :         ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
    3686           0 :         ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
    3687           0 :         ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
    3688           0 :         ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
    3689           0 :         ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
    3690           0 :         ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
    3691           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    3692           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    3693           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    3694           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    3695           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    3696           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    3697           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    3698           0 :         ndr->depth--;
    3699             : }
    3700             : 
    3701           0 : static enum ndr_err_code ndr_push_netr_DELTA_TRUSTED_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_TRUSTED_DOMAIN *r)
    3702             : {
    3703             :         uint32_t cntr_controller_names_1;
    3704           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3705           0 :         if (ndr_flags & NDR_SCALARS) {
    3706           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3707           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
    3708           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
    3709           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
    3710           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
    3711           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3712           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3713           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3714           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3715           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3716           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
    3717           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    3718           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    3719           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    3720           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3721             :         }
    3722           0 :         if (ndr_flags & NDR_BUFFERS) {
    3723           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
    3724           0 :                 if (r->controller_names) {
    3725           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_controllers));
    3726           0 :                         for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (r->num_controllers); cntr_controller_names_1++) {
    3727           0 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
    3728             :                         }
    3729           0 :                         for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (r->num_controllers); cntr_controller_names_1++) {
    3730           0 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
    3731             :                         }
    3732             :                 }
    3733           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3734           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3735           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3736           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3737           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3738             :         }
    3739           0 :         return NDR_ERR_SUCCESS;
    3740             : }
    3741             : 
    3742           0 : static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
    3743             : {
    3744             :         uint32_t _ptr_controller_names;
    3745           0 :         uint32_t size_controller_names_1 = 0;
    3746             :         uint32_t cntr_controller_names_1;
    3747           0 :         TALLOC_CTX *_mem_save_controller_names_0 = NULL;
    3748           0 :         TALLOC_CTX *_mem_save_controller_names_1 = NULL;
    3749           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3750           0 :         if (ndr_flags & NDR_SCALARS) {
    3751           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3752           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
    3753           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
    3754           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
    3755           0 :                 if (_ptr_controller_names) {
    3756           0 :                         NDR_PULL_ALLOC(ndr, r->controller_names);
    3757             :                 } else {
    3758           0 :                         r->controller_names = NULL;
    3759             :                 }
    3760           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
    3761           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3762           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3763           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3764           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3765           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3766           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
    3767           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    3768           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    3769           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    3770           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3771             :         }
    3772           0 :         if (ndr_flags & NDR_BUFFERS) {
    3773           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
    3774           0 :                 if (r->controller_names) {
    3775           0 :                         _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3776           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
    3777           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
    3778           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->controller_names, &size_controller_names_1));
    3779           0 :                         NDR_PULL_ALLOC_N(ndr, r->controller_names, size_controller_names_1);
    3780           0 :                         _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
    3781           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
    3782           0 :                         for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (size_controller_names_1); cntr_controller_names_1++) {
    3783           0 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
    3784             :                         }
    3785           0 :                         for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (size_controller_names_1); cntr_controller_names_1++) {
    3786           0 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
    3787             :                         }
    3788           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
    3789           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
    3790             :                 }
    3791           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3792           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3793           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3794           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3795           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3796           0 :                 if (r->controller_names) {
    3797           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
    3798             :                 }
    3799           0 :                 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (size_controller_names_1); cntr_controller_names_1++) {
    3800             :                 }
    3801             :         }
    3802           0 :         return NDR_ERR_SUCCESS;
    3803             : }
    3804             : 
    3805           0 : _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
    3806             : {
    3807             :         uint32_t cntr_controller_names_1;
    3808           0 :         ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
    3809           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3810           0 :         ndr->depth++;
    3811           0 :         ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
    3812           0 :         ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
    3813           0 :         ndr_print_ptr(ndr, "controller_names", r->controller_names);
    3814           0 :         ndr->depth++;
    3815           0 :         if (r->controller_names) {
    3816           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
    3817           0 :                 ndr->depth++;
    3818           0 :                 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < (r->num_controllers); cntr_controller_names_1++) {
    3819           0 :                         ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
    3820             :                 }
    3821           0 :                 ndr->depth--;
    3822             :         }
    3823           0 :         ndr->depth--;
    3824           0 :         ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
    3825           0 :         ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
    3826           0 :         ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
    3827           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    3828           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    3829           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    3830           0 :         ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
    3831           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    3832           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    3833           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    3834           0 :         ndr->depth--;
    3835             : }
    3836             : 
    3837           0 : static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
    3838             : {
    3839             :         uint32_t cntr_privilege_attrib_1;
    3840             :         uint32_t cntr_privilege_name_1;
    3841           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3842           0 :         if (ndr_flags & NDR_SCALARS) {
    3843           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3844           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
    3845           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
    3846           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
    3847           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
    3848           0 :                 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
    3849           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
    3850           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
    3851           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3852           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3853           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3854           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3855           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3856           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    3857           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    3858           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    3859           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    3860           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3861             :         }
    3862           0 :         if (ndr_flags & NDR_BUFFERS) {
    3863           0 :                 if (r->privilege_attrib) {
    3864           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries));
    3865           0 :                         for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < (r->privilege_entries); cntr_privilege_attrib_1++) {
    3866           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
    3867             :                         }
    3868             :                 }
    3869           0 :                 if (r->privilege_name) {
    3870           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries));
    3871           0 :                         for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (r->privilege_entries); cntr_privilege_name_1++) {
    3872           0 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
    3873             :                         }
    3874           0 :                         for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (r->privilege_entries); cntr_privilege_name_1++) {
    3875           0 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
    3876             :                         }
    3877             :                 }
    3878           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3879           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3880           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3881           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3882           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3883             :         }
    3884           0 :         return NDR_ERR_SUCCESS;
    3885             : }
    3886             : 
    3887           0 : static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
    3888             : {
    3889             :         uint32_t _ptr_privilege_attrib;
    3890           0 :         uint32_t size_privilege_attrib_1 = 0;
    3891             :         uint32_t cntr_privilege_attrib_1;
    3892           0 :         TALLOC_CTX *_mem_save_privilege_attrib_0 = NULL;
    3893           0 :         TALLOC_CTX *_mem_save_privilege_attrib_1 = NULL;
    3894             :         uint32_t _ptr_privilege_name;
    3895           0 :         uint32_t size_privilege_name_1 = 0;
    3896             :         uint32_t cntr_privilege_name_1;
    3897           0 :         TALLOC_CTX *_mem_save_privilege_name_0 = NULL;
    3898           0 :         TALLOC_CTX *_mem_save_privilege_name_1 = NULL;
    3899           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3900           0 :         if (ndr_flags & NDR_SCALARS) {
    3901           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3902           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
    3903           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
    3904           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
    3905           0 :                 if (_ptr_privilege_attrib) {
    3906           0 :                         NDR_PULL_ALLOC(ndr, r->privilege_attrib);
    3907             :                 } else {
    3908           0 :                         r->privilege_attrib = NULL;
    3909             :                 }
    3910           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
    3911           0 :                 if (_ptr_privilege_name) {
    3912           0 :                         NDR_PULL_ALLOC(ndr, r->privilege_name);
    3913             :                 } else {
    3914           0 :                         r->privilege_name = NULL;
    3915             :                 }
    3916           0 :                 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
    3917           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
    3918           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
    3919           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    3920           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    3921           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    3922           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    3923           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    3924           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    3925           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    3926           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    3927           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    3928           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3929             :         }
    3930           0 :         if (ndr_flags & NDR_BUFFERS) {
    3931           0 :                 if (r->privilege_attrib) {
    3932           0 :                         _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3933           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
    3934           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
    3935           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->privilege_attrib, &size_privilege_attrib_1));
    3936           0 :                         NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, size_privilege_attrib_1);
    3937           0 :                         _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
    3938           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
    3939           0 :                         for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < (size_privilege_attrib_1); cntr_privilege_attrib_1++) {
    3940           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
    3941             :                         }
    3942           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
    3943           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
    3944             :                 }
    3945           0 :                 if (r->privilege_name) {
    3946           0 :                         _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3947           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
    3948           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
    3949           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->privilege_name, &size_privilege_name_1));
    3950           0 :                         NDR_PULL_ALLOC_N(ndr, r->privilege_name, size_privilege_name_1);
    3951           0 :                         _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
    3952           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
    3953           0 :                         for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (size_privilege_name_1); cntr_privilege_name_1++) {
    3954           0 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
    3955             :                         }
    3956           0 :                         for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (size_privilege_name_1); cntr_privilege_name_1++) {
    3957           0 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
    3958             :                         }
    3959           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
    3960           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
    3961             :                 }
    3962           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    3963           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    3964           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    3965           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    3966           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    3967           0 :                 if (r->privilege_attrib) {
    3968           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
    3969             :                 }
    3970           0 :                 if (r->privilege_name) {
    3971           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
    3972             :                 }
    3973           0 :                 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (size_privilege_name_1); cntr_privilege_name_1++) {
    3974             :                 }
    3975             :         }
    3976           0 :         return NDR_ERR_SUCCESS;
    3977             : }
    3978             : 
    3979           0 : _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
    3980             : {
    3981             :         uint32_t cntr_privilege_attrib_1;
    3982             :         uint32_t cntr_privilege_name_1;
    3983           0 :         ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
    3984           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3985           0 :         ndr->depth++;
    3986           0 :         ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
    3987           0 :         ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
    3988           0 :         ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
    3989           0 :         ndr->depth++;
    3990           0 :         if (r->privilege_attrib) {
    3991           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
    3992           0 :                 ndr->depth++;
    3993           0 :                 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < (r->privilege_entries); cntr_privilege_attrib_1++) {
    3994           0 :                         ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
    3995             :                 }
    3996           0 :                 ndr->depth--;
    3997             :         }
    3998           0 :         ndr->depth--;
    3999           0 :         ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
    4000           0 :         ndr->depth++;
    4001           0 :         if (r->privilege_name) {
    4002           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
    4003           0 :                 ndr->depth++;
    4004           0 :                 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < (r->privilege_entries); cntr_privilege_name_1++) {
    4005           0 :                         ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
    4006             :                 }
    4007           0 :                 ndr->depth--;
    4008             :         }
    4009           0 :         ndr->depth--;
    4010           0 :         ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
    4011           0 :         ndr_print_uint32(ndr, "system_flags", r->system_flags);
    4012           0 :         ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
    4013           0 :         ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
    4014           0 :         ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
    4015           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    4016           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    4017           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    4018           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    4019           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    4020           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    4021           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    4022           0 :         ndr->depth--;
    4023             : }
    4024             : 
    4025           0 : static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
    4026             : {
    4027           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4028           0 :         if (ndr_flags & NDR_SCALARS) {
    4029           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4030           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
    4031           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
    4032           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
    4033           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4034             :         }
    4035           0 :         if (ndr_flags & NDR_BUFFERS) {
    4036           0 :                 if (r->cipher_data) {
    4037           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxlen));
    4038           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    4039           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len));
    4040           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
    4041             :                 }
    4042             :         }
    4043           0 :         return NDR_ERR_SUCCESS;
    4044             : }
    4045             : 
    4046           0 : static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
    4047             : {
    4048             :         uint32_t _ptr_cipher_data;
    4049           0 :         uint32_t size_cipher_data_1 = 0;
    4050           0 :         uint32_t length_cipher_data_1 = 0;
    4051           0 :         TALLOC_CTX *_mem_save_cipher_data_0 = NULL;
    4052           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4053           0 :         if (ndr_flags & NDR_SCALARS) {
    4054           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4055           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
    4056           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
    4057           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
    4058           0 :                 if (_ptr_cipher_data) {
    4059           0 :                         NDR_PULL_ALLOC(ndr, r->cipher_data);
    4060             :                 } else {
    4061           0 :                         r->cipher_data = NULL;
    4062             :                 }
    4063           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4064             :         }
    4065           0 :         if (ndr_flags & NDR_BUFFERS) {
    4066           0 :                 if (r->cipher_data) {
    4067           0 :                         _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4068           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
    4069           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
    4070           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
    4071           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->cipher_data, &size_cipher_data_1));
    4072           0 :                         NDR_CHECK(ndr_get_array_length(ndr, (void*)&r->cipher_data, &length_cipher_data_1));
    4073           0 :                         if (length_cipher_data_1 > size_cipher_data_1) {
    4074           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_cipher_data_1, length_cipher_data_1);
    4075             :                         }
    4076           0 :                         NDR_PULL_ALLOC_N(ndr, r->cipher_data, size_cipher_data_1);
    4077           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, length_cipher_data_1));
    4078           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
    4079             :                 }
    4080           0 :                 if (r->cipher_data) {
    4081           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
    4082             :                 }
    4083           0 :                 if (r->cipher_data) {
    4084           0 :                         NDR_CHECK(ndr_check_steal_array_length(ndr, (void*)&r->cipher_data, r->len));
    4085             :                 }
    4086             :         }
    4087           0 :         return NDR_ERR_SUCCESS;
    4088             : }
    4089             : 
    4090           0 : _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
    4091             : {
    4092           0 :         ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
    4093           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4094           0 :         ndr->depth++;
    4095           0 :         ndr_print_uint32(ndr, "len", r->len);
    4096           0 :         ndr_print_uint32(ndr, "maxlen", r->maxlen);
    4097           0 :         ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
    4098           0 :         ndr->depth++;
    4099           0 :         if (r->cipher_data) {
    4100           0 :                 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
    4101             :         }
    4102           0 :         ndr->depth--;
    4103           0 :         ndr->depth--;
    4104             : }
    4105             : 
    4106           0 : static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
    4107             : {
    4108           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4109           0 :         if (ndr_flags & NDR_SCALARS) {
    4110           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4111           0 :                 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
    4112           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
    4113           0 :                 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
    4114           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
    4115           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
    4116           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    4117           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    4118           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    4119           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    4120           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    4121           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    4122           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
    4123           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
    4124           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
    4125           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    4126             :         }
    4127           0 :         if (ndr_flags & NDR_BUFFERS) {
    4128           0 :                 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
    4129           0 :                 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
    4130           0 :                 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    4131           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    4132           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    4133           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    4134           0 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    4135             :         }
    4136           0 :         return NDR_ERR_SUCCESS;
    4137             : }
    4138             : 
    4139           0 : static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
    4140             : {
    4141           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4142           0 :         if (ndr_flags & NDR_SCALARS) {
    4143           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4144           0 :                 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
    4145           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
    4146           0 :                 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
    4147           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
    4148           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
    4149           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
    4150           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
    4151           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
    4152           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
    4153           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
    4154           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    4155           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
    4156           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
    4157           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
    4158           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    4159             :         }
    4160           0 :         if (ndr_flags & NDR_BUFFERS) {
    4161           0 :                 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
    4162           0 :                 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
    4163           0 :                 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
    4164           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
    4165           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
    4166           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
    4167           0 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
    4168             :         }
    4169           0 :         return NDR_ERR_SUCCESS;
    4170             : }
    4171             : 
    4172           0 : _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
    4173             : {
    4174           0 :         ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
    4175           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4176           0 :         ndr->depth++;
    4177           0 :         ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
    4178           0 :         ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
    4179           0 :         ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
    4180           0 :         ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
    4181           0 :         ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
    4182           0 :         ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
    4183           0 :         ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
    4184           0 :         ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
    4185           0 :         ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
    4186           0 :         ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
    4187           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    4188           0 :         ndr_print_uint32(ndr, "unknown6", r->unknown6);
    4189           0 :         ndr_print_uint32(ndr, "unknown7", r->unknown7);
    4190           0 :         ndr_print_uint32(ndr, "unknown8", r->unknown8);
    4191           0 :         ndr->depth--;
    4192             : }
    4193             : 
    4194           0 : static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
    4195             : {
    4196           0 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
    4197           0 :         return NDR_ERR_SUCCESS;
    4198             : }
    4199             : 
    4200           0 : static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
    4201             : {
    4202             :         uint16_t v;
    4203           0 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
    4204           0 :         *r = v;
    4205           0 :         return NDR_ERR_SUCCESS;
    4206             : }
    4207             : 
    4208           0 : _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
    4209             : {
    4210           0 :         const char *val = NULL;
    4211             : 
    4212           0 :         switch (r) {
    4213           0 :                 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
    4214           0 :                 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
    4215           0 :                 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
    4216           0 :                 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
    4217           0 :                 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
    4218           0 :                 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
    4219           0 :                 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
    4220           0 :                 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
    4221           0 :                 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
    4222           0 :                 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
    4223           0 :                 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
    4224           0 :                 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
    4225           0 :                 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
    4226           0 :                 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
    4227           0 :                 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
    4228           0 :                 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
    4229           0 :                 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
    4230           0 :                 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
    4231           0 :                 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
    4232           0 :                 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
    4233           0 :                 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
    4234           0 :                 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
    4235             :         }
    4236           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    4237           0 : }
    4238             : 
    4239           0 : static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
    4240             : {
    4241             :         uint32_t level;
    4242           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4243           0 :         if (ndr_flags & NDR_SCALARS) {
    4244             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4245           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4246           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    4247           0 :                 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
    4248             :                 /* ms_union is always aligned to the largest union arm*/
    4249           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    4250           0 :                 switch (level) {
    4251           0 :                         case NETR_DELTA_DOMAIN: {
    4252           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
    4253           0 :                         break; }
    4254             : 
    4255           0 :                         case NETR_DELTA_GROUP: {
    4256           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
    4257           0 :                         break; }
    4258             : 
    4259           0 :                         case NETR_DELTA_DELETE_GROUP: {
    4260           0 :                         break; }
    4261             : 
    4262           0 :                         case NETR_DELTA_RENAME_GROUP: {
    4263           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
    4264           0 :                         break; }
    4265             : 
    4266           0 :                         case NETR_DELTA_USER: {
    4267           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
    4268           0 :                         break; }
    4269             : 
    4270           0 :                         case NETR_DELTA_DELETE_USER: {
    4271           0 :                         break; }
    4272             : 
    4273           0 :                         case NETR_DELTA_RENAME_USER: {
    4274           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
    4275           0 :                         break; }
    4276             : 
    4277           0 :                         case NETR_DELTA_GROUP_MEMBER: {
    4278           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
    4279           0 :                         break; }
    4280             : 
    4281           0 :                         case NETR_DELTA_ALIAS: {
    4282           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
    4283           0 :                         break; }
    4284             : 
    4285           0 :                         case NETR_DELTA_DELETE_ALIAS: {
    4286           0 :                         break; }
    4287             : 
    4288           0 :                         case NETR_DELTA_RENAME_ALIAS: {
    4289           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
    4290           0 :                         break; }
    4291             : 
    4292           0 :                         case NETR_DELTA_ALIAS_MEMBER: {
    4293           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
    4294           0 :                         break; }
    4295             : 
    4296           0 :                         case NETR_DELTA_POLICY: {
    4297           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
    4298           0 :                         break; }
    4299             : 
    4300           0 :                         case NETR_DELTA_TRUSTED_DOMAIN: {
    4301           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
    4302           0 :                         break; }
    4303             : 
    4304           0 :                         case NETR_DELTA_DELETE_TRUST: {
    4305           0 :                         break; }
    4306             : 
    4307           0 :                         case NETR_DELTA_ACCOUNT: {
    4308           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
    4309           0 :                         break; }
    4310             : 
    4311           0 :                         case NETR_DELTA_DELETE_ACCOUNT: {
    4312           0 :                         break; }
    4313             : 
    4314           0 :                         case NETR_DELTA_SECRET: {
    4315           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
    4316           0 :                         break; }
    4317             : 
    4318           0 :                         case NETR_DELTA_DELETE_SECRET: {
    4319           0 :                         break; }
    4320             : 
    4321           0 :                         case NETR_DELTA_DELETE_GROUP2: {
    4322           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
    4323           0 :                         break; }
    4324             : 
    4325           0 :                         case NETR_DELTA_DELETE_USER2: {
    4326           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
    4327           0 :                         break; }
    4328             : 
    4329           0 :                         case NETR_DELTA_MODIFY_COUNT: {
    4330           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
    4331           0 :                         break; }
    4332             : 
    4333           0 :                         default: {
    4334           0 :                         break; }
    4335             : 
    4336             :                 }
    4337           0 :         }
    4338           0 :         if (ndr_flags & NDR_BUFFERS) {
    4339           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4340             :                         /* We didn't get it above, and the token is not needed after this. */
    4341           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    4342             :                 }
    4343           0 :                 switch (level) {
    4344           0 :                         case NETR_DELTA_DOMAIN:
    4345           0 :                                 if (r->domain) {
    4346           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
    4347             :                                 }
    4348           0 :                         break;
    4349             : 
    4350           0 :                         case NETR_DELTA_GROUP:
    4351           0 :                                 if (r->group) {
    4352           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
    4353             :                                 }
    4354           0 :                         break;
    4355             : 
    4356           0 :                         case NETR_DELTA_DELETE_GROUP:
    4357           0 :                         break;
    4358             : 
    4359           0 :                         case NETR_DELTA_RENAME_GROUP:
    4360           0 :                                 if (r->rename_group) {
    4361           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
    4362             :                                 }
    4363           0 :                         break;
    4364             : 
    4365           0 :                         case NETR_DELTA_USER:
    4366           0 :                                 if (r->user) {
    4367           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
    4368             :                                 }
    4369           0 :                         break;
    4370             : 
    4371           0 :                         case NETR_DELTA_DELETE_USER:
    4372           0 :                         break;
    4373             : 
    4374           0 :                         case NETR_DELTA_RENAME_USER:
    4375           0 :                                 if (r->rename_user) {
    4376           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
    4377             :                                 }
    4378           0 :                         break;
    4379             : 
    4380           0 :                         case NETR_DELTA_GROUP_MEMBER:
    4381           0 :                                 if (r->group_member) {
    4382           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
    4383             :                                 }
    4384           0 :                         break;
    4385             : 
    4386           0 :                         case NETR_DELTA_ALIAS:
    4387           0 :                                 if (r->alias) {
    4388           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
    4389             :                                 }
    4390           0 :                         break;
    4391             : 
    4392           0 :                         case NETR_DELTA_DELETE_ALIAS:
    4393           0 :                         break;
    4394             : 
    4395           0 :                         case NETR_DELTA_RENAME_ALIAS:
    4396           0 :                                 if (r->rename_alias) {
    4397           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
    4398             :                                 }
    4399           0 :                         break;
    4400             : 
    4401           0 :                         case NETR_DELTA_ALIAS_MEMBER:
    4402           0 :                                 if (r->alias_member) {
    4403           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
    4404             :                                 }
    4405           0 :                         break;
    4406             : 
    4407           0 :                         case NETR_DELTA_POLICY:
    4408           0 :                                 if (r->policy) {
    4409           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
    4410             :                                 }
    4411           0 :                         break;
    4412             : 
    4413           0 :                         case NETR_DELTA_TRUSTED_DOMAIN:
    4414           0 :                                 if (r->trusted_domain) {
    4415           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
    4416             :                                 }
    4417           0 :                         break;
    4418             : 
    4419           0 :                         case NETR_DELTA_DELETE_TRUST:
    4420           0 :                         break;
    4421             : 
    4422           0 :                         case NETR_DELTA_ACCOUNT:
    4423           0 :                                 if (r->account) {
    4424           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
    4425             :                                 }
    4426           0 :                         break;
    4427             : 
    4428           0 :                         case NETR_DELTA_DELETE_ACCOUNT:
    4429           0 :                         break;
    4430             : 
    4431           0 :                         case NETR_DELTA_SECRET:
    4432           0 :                                 if (r->secret) {
    4433           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
    4434             :                                 }
    4435           0 :                         break;
    4436             : 
    4437           0 :                         case NETR_DELTA_DELETE_SECRET:
    4438           0 :                         break;
    4439             : 
    4440           0 :                         case NETR_DELTA_DELETE_GROUP2:
    4441           0 :                                 if (r->delete_group) {
    4442           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
    4443             :                                 }
    4444           0 :                         break;
    4445             : 
    4446           0 :                         case NETR_DELTA_DELETE_USER2:
    4447           0 :                                 if (r->delete_user) {
    4448           0 :                                         NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
    4449             :                                 }
    4450           0 :                         break;
    4451             : 
    4452           0 :                         case NETR_DELTA_MODIFY_COUNT:
    4453           0 :                                 if (r->modified_count) {
    4454           0 :                                         NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
    4455             :                                 }
    4456           0 :                         break;
    4457             : 
    4458           0 :                         default:
    4459           0 :                         break;
    4460             : 
    4461             :                 }
    4462           0 :         }
    4463           0 :         return NDR_ERR_SUCCESS;
    4464             : }
    4465             : 
    4466           0 : static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
    4467             : {
    4468             :         uint32_t level;
    4469             :         uint16_t _level;
    4470           0 :         TALLOC_CTX *_mem_save_domain_0 = NULL;
    4471             :         uint32_t _ptr_domain;
    4472           0 :         TALLOC_CTX *_mem_save_group_0 = NULL;
    4473             :         uint32_t _ptr_group;
    4474           0 :         TALLOC_CTX *_mem_save_rename_group_0 = NULL;
    4475             :         uint32_t _ptr_rename_group;
    4476           0 :         TALLOC_CTX *_mem_save_user_0 = NULL;
    4477             :         uint32_t _ptr_user;
    4478           0 :         TALLOC_CTX *_mem_save_rename_user_0 = NULL;
    4479             :         uint32_t _ptr_rename_user;
    4480           0 :         TALLOC_CTX *_mem_save_group_member_0 = NULL;
    4481             :         uint32_t _ptr_group_member;
    4482           0 :         TALLOC_CTX *_mem_save_alias_0 = NULL;
    4483             :         uint32_t _ptr_alias;
    4484           0 :         TALLOC_CTX *_mem_save_rename_alias_0 = NULL;
    4485             :         uint32_t _ptr_rename_alias;
    4486           0 :         TALLOC_CTX *_mem_save_alias_member_0 = NULL;
    4487             :         uint32_t _ptr_alias_member;
    4488           0 :         TALLOC_CTX *_mem_save_policy_0 = NULL;
    4489             :         uint32_t _ptr_policy;
    4490           0 :         TALLOC_CTX *_mem_save_trusted_domain_0 = NULL;
    4491             :         uint32_t _ptr_trusted_domain;
    4492           0 :         TALLOC_CTX *_mem_save_account_0 = NULL;
    4493             :         uint32_t _ptr_account;
    4494           0 :         TALLOC_CTX *_mem_save_secret_0 = NULL;
    4495             :         uint32_t _ptr_secret;
    4496           0 :         TALLOC_CTX *_mem_save_delete_group_0 = NULL;
    4497             :         uint32_t _ptr_delete_group;
    4498           0 :         TALLOC_CTX *_mem_save_delete_user_0 = NULL;
    4499             :         uint32_t _ptr_delete_user;
    4500           0 :         TALLOC_CTX *_mem_save_modified_count_0 = NULL;
    4501             :         uint32_t _ptr_modified_count;
    4502           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4503           0 :         if (ndr_flags & NDR_SCALARS) {
    4504             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    4505           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4506           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    4507           0 :                 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
    4508           0 :                 if (_level != level) {
    4509           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    4510             :                 }
    4511             :                 /* ms_union is always aligned to the largest union arm*/
    4512           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    4513           0 :                 switch (level) {
    4514           0 :                         case NETR_DELTA_DOMAIN: {
    4515           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
    4516           0 :                                 if (_ptr_domain) {
    4517           0 :                                         NDR_PULL_ALLOC(ndr, r->domain);
    4518             :                                 } else {
    4519           0 :                                         r->domain = NULL;
    4520             :                                 }
    4521           0 :                         break; }
    4522             : 
    4523           0 :                         case NETR_DELTA_GROUP: {
    4524           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
    4525           0 :                                 if (_ptr_group) {
    4526           0 :                                         NDR_PULL_ALLOC(ndr, r->group);
    4527             :                                 } else {
    4528           0 :                                         r->group = NULL;
    4529             :                                 }
    4530           0 :                         break; }
    4531             : 
    4532           0 :                         case NETR_DELTA_DELETE_GROUP: {
    4533           0 :                         break; }
    4534             : 
    4535           0 :                         case NETR_DELTA_RENAME_GROUP: {
    4536           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
    4537           0 :                                 if (_ptr_rename_group) {
    4538           0 :                                         NDR_PULL_ALLOC(ndr, r->rename_group);
    4539             :                                 } else {
    4540           0 :                                         r->rename_group = NULL;
    4541             :                                 }
    4542           0 :                         break; }
    4543             : 
    4544           0 :                         case NETR_DELTA_USER: {
    4545           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
    4546           0 :                                 if (_ptr_user) {
    4547           0 :                                         NDR_PULL_ALLOC(ndr, r->user);
    4548             :                                 } else {
    4549           0 :                                         r->user = NULL;
    4550             :                                 }
    4551           0 :                         break; }
    4552             : 
    4553           0 :                         case NETR_DELTA_DELETE_USER: {
    4554           0 :                         break; }
    4555             : 
    4556           0 :                         case NETR_DELTA_RENAME_USER: {
    4557           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
    4558           0 :                                 if (_ptr_rename_user) {
    4559           0 :                                         NDR_PULL_ALLOC(ndr, r->rename_user);
    4560             :                                 } else {
    4561           0 :                                         r->rename_user = NULL;
    4562             :                                 }
    4563           0 :                         break; }
    4564             : 
    4565           0 :                         case NETR_DELTA_GROUP_MEMBER: {
    4566           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
    4567           0 :                                 if (_ptr_group_member) {
    4568           0 :                                         NDR_PULL_ALLOC(ndr, r->group_member);
    4569             :                                 } else {
    4570           0 :                                         r->group_member = NULL;
    4571             :                                 }
    4572           0 :                         break; }
    4573             : 
    4574           0 :                         case NETR_DELTA_ALIAS: {
    4575           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
    4576           0 :                                 if (_ptr_alias) {
    4577           0 :                                         NDR_PULL_ALLOC(ndr, r->alias);
    4578             :                                 } else {
    4579           0 :                                         r->alias = NULL;
    4580             :                                 }
    4581           0 :                         break; }
    4582             : 
    4583           0 :                         case NETR_DELTA_DELETE_ALIAS: {
    4584           0 :                         break; }
    4585             : 
    4586           0 :                         case NETR_DELTA_RENAME_ALIAS: {
    4587           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
    4588           0 :                                 if (_ptr_rename_alias) {
    4589           0 :                                         NDR_PULL_ALLOC(ndr, r->rename_alias);
    4590             :                                 } else {
    4591           0 :                                         r->rename_alias = NULL;
    4592             :                                 }
    4593           0 :                         break; }
    4594             : 
    4595           0 :                         case NETR_DELTA_ALIAS_MEMBER: {
    4596           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
    4597           0 :                                 if (_ptr_alias_member) {
    4598           0 :                                         NDR_PULL_ALLOC(ndr, r->alias_member);
    4599             :                                 } else {
    4600           0 :                                         r->alias_member = NULL;
    4601             :                                 }
    4602           0 :                         break; }
    4603             : 
    4604           0 :                         case NETR_DELTA_POLICY: {
    4605           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
    4606           0 :                                 if (_ptr_policy) {
    4607           0 :                                         NDR_PULL_ALLOC(ndr, r->policy);
    4608             :                                 } else {
    4609           0 :                                         r->policy = NULL;
    4610             :                                 }
    4611           0 :                         break; }
    4612             : 
    4613           0 :                         case NETR_DELTA_TRUSTED_DOMAIN: {
    4614           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
    4615           0 :                                 if (_ptr_trusted_domain) {
    4616           0 :                                         NDR_PULL_ALLOC(ndr, r->trusted_domain);
    4617             :                                 } else {
    4618           0 :                                         r->trusted_domain = NULL;
    4619             :                                 }
    4620           0 :                         break; }
    4621             : 
    4622           0 :                         case NETR_DELTA_DELETE_TRUST: {
    4623           0 :                         break; }
    4624             : 
    4625           0 :                         case NETR_DELTA_ACCOUNT: {
    4626           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
    4627           0 :                                 if (_ptr_account) {
    4628           0 :                                         NDR_PULL_ALLOC(ndr, r->account);
    4629             :                                 } else {
    4630           0 :                                         r->account = NULL;
    4631             :                                 }
    4632           0 :                         break; }
    4633             : 
    4634           0 :                         case NETR_DELTA_DELETE_ACCOUNT: {
    4635           0 :                         break; }
    4636             : 
    4637           0 :                         case NETR_DELTA_SECRET: {
    4638           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
    4639           0 :                                 if (_ptr_secret) {
    4640           0 :                                         NDR_PULL_ALLOC(ndr, r->secret);
    4641             :                                 } else {
    4642           0 :                                         r->secret = NULL;
    4643             :                                 }
    4644           0 :                         break; }
    4645             : 
    4646           0 :                         case NETR_DELTA_DELETE_SECRET: {
    4647           0 :                         break; }
    4648             : 
    4649           0 :                         case NETR_DELTA_DELETE_GROUP2: {
    4650           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
    4651           0 :                                 if (_ptr_delete_group) {
    4652           0 :                                         NDR_PULL_ALLOC(ndr, r->delete_group);
    4653             :                                 } else {
    4654           0 :                                         r->delete_group = NULL;
    4655             :                                 }
    4656           0 :                         break; }
    4657             : 
    4658           0 :                         case NETR_DELTA_DELETE_USER2: {
    4659           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
    4660           0 :                                 if (_ptr_delete_user) {
    4661           0 :                                         NDR_PULL_ALLOC(ndr, r->delete_user);
    4662             :                                 } else {
    4663           0 :                                         r->delete_user = NULL;
    4664             :                                 }
    4665           0 :                         break; }
    4666             : 
    4667           0 :                         case NETR_DELTA_MODIFY_COUNT: {
    4668           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
    4669           0 :                                 if (_ptr_modified_count) {
    4670           0 :                                         NDR_PULL_ALLOC(ndr, r->modified_count);
    4671             :                                 } else {
    4672           0 :                                         r->modified_count = NULL;
    4673             :                                 }
    4674           0 :                         break; }
    4675             : 
    4676           0 :                         default: {
    4677           0 :                         break; }
    4678             : 
    4679             :                 }
    4680           0 :         }
    4681           0 :         if (ndr_flags & NDR_BUFFERS) {
    4682           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    4683             :                         /* We didn't get it above, and the token is not needed after this. */
    4684           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    4685             :                 }
    4686           0 :                 switch (level) {
    4687           0 :                         case NETR_DELTA_DOMAIN:
    4688           0 :                                 if (r->domain) {
    4689           0 :                                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4690           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
    4691           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
    4692           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
    4693             :                                 }
    4694           0 :                         break;
    4695             : 
    4696           0 :                         case NETR_DELTA_GROUP:
    4697           0 :                                 if (r->group) {
    4698           0 :                                         _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4699           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
    4700           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
    4701           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
    4702             :                                 }
    4703           0 :                         break;
    4704             : 
    4705           0 :                         case NETR_DELTA_DELETE_GROUP:
    4706           0 :                         break;
    4707             : 
    4708           0 :                         case NETR_DELTA_RENAME_GROUP:
    4709           0 :                                 if (r->rename_group) {
    4710           0 :                                         _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4711           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
    4712           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
    4713           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
    4714             :                                 }
    4715           0 :                         break;
    4716             : 
    4717           0 :                         case NETR_DELTA_USER:
    4718           0 :                                 if (r->user) {
    4719           0 :                                         _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4720           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
    4721           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
    4722           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
    4723             :                                 }
    4724           0 :                         break;
    4725             : 
    4726           0 :                         case NETR_DELTA_DELETE_USER:
    4727           0 :                         break;
    4728             : 
    4729           0 :                         case NETR_DELTA_RENAME_USER:
    4730           0 :                                 if (r->rename_user) {
    4731           0 :                                         _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4732           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
    4733           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
    4734           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
    4735             :                                 }
    4736           0 :                         break;
    4737             : 
    4738           0 :                         case NETR_DELTA_GROUP_MEMBER:
    4739           0 :                                 if (r->group_member) {
    4740           0 :                                         _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4741           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
    4742           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
    4743           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
    4744             :                                 }
    4745           0 :                         break;
    4746             : 
    4747           0 :                         case NETR_DELTA_ALIAS:
    4748           0 :                                 if (r->alias) {
    4749           0 :                                         _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4750           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
    4751           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
    4752           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
    4753             :                                 }
    4754           0 :                         break;
    4755             : 
    4756           0 :                         case NETR_DELTA_DELETE_ALIAS:
    4757           0 :                         break;
    4758             : 
    4759           0 :                         case NETR_DELTA_RENAME_ALIAS:
    4760           0 :                                 if (r->rename_alias) {
    4761           0 :                                         _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4762           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
    4763           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
    4764           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
    4765             :                                 }
    4766           0 :                         break;
    4767             : 
    4768           0 :                         case NETR_DELTA_ALIAS_MEMBER:
    4769           0 :                                 if (r->alias_member) {
    4770           0 :                                         _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4771           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
    4772           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
    4773           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
    4774             :                                 }
    4775           0 :                         break;
    4776             : 
    4777           0 :                         case NETR_DELTA_POLICY:
    4778           0 :                                 if (r->policy) {
    4779           0 :                                         _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4780           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
    4781           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
    4782           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
    4783             :                                 }
    4784           0 :                         break;
    4785             : 
    4786           0 :                         case NETR_DELTA_TRUSTED_DOMAIN:
    4787           0 :                                 if (r->trusted_domain) {
    4788           0 :                                         _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4789           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
    4790           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
    4791           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
    4792             :                                 }
    4793           0 :                         break;
    4794             : 
    4795           0 :                         case NETR_DELTA_DELETE_TRUST:
    4796           0 :                         break;
    4797             : 
    4798           0 :                         case NETR_DELTA_ACCOUNT:
    4799           0 :                                 if (r->account) {
    4800           0 :                                         _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4801           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
    4802           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
    4803           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
    4804             :                                 }
    4805           0 :                         break;
    4806             : 
    4807           0 :                         case NETR_DELTA_DELETE_ACCOUNT:
    4808           0 :                         break;
    4809             : 
    4810           0 :                         case NETR_DELTA_SECRET:
    4811           0 :                                 if (r->secret) {
    4812           0 :                                         _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4813           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
    4814           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
    4815           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
    4816             :                                 }
    4817           0 :                         break;
    4818             : 
    4819           0 :                         case NETR_DELTA_DELETE_SECRET:
    4820           0 :                         break;
    4821             : 
    4822           0 :                         case NETR_DELTA_DELETE_GROUP2:
    4823           0 :                                 if (r->delete_group) {
    4824           0 :                                         _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4825           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
    4826           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
    4827           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
    4828             :                                 }
    4829           0 :                         break;
    4830             : 
    4831           0 :                         case NETR_DELTA_DELETE_USER2:
    4832           0 :                                 if (r->delete_user) {
    4833           0 :                                         _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4834           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
    4835           0 :                                         NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
    4836           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
    4837             :                                 }
    4838           0 :                         break;
    4839             : 
    4840           0 :                         case NETR_DELTA_MODIFY_COUNT:
    4841           0 :                                 if (r->modified_count) {
    4842           0 :                                         _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
    4843           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
    4844           0 :                                         NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
    4845           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
    4846             :                                 }
    4847           0 :                         break;
    4848             : 
    4849           0 :                         default:
    4850           0 :                         break;
    4851             : 
    4852             :                 }
    4853           0 :         }
    4854           0 :         return NDR_ERR_SUCCESS;
    4855             : }
    4856             : 
    4857           0 : _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
    4858             : {
    4859             :         uint32_t level;
    4860           0 :         level = ndr_print_steal_switch_value(ndr, r);
    4861           0 :         ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
    4862           0 :         switch (level) {
    4863           0 :                 case NETR_DELTA_DOMAIN:
    4864           0 :                         ndr_print_ptr(ndr, "domain", r->domain);
    4865           0 :                         ndr->depth++;
    4866           0 :                         if (r->domain) {
    4867           0 :                                 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
    4868             :                         }
    4869           0 :                         ndr->depth--;
    4870           0 :                 break;
    4871             : 
    4872           0 :                 case NETR_DELTA_GROUP:
    4873           0 :                         ndr_print_ptr(ndr, "group", r->group);
    4874           0 :                         ndr->depth++;
    4875           0 :                         if (r->group) {
    4876           0 :                                 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
    4877             :                         }
    4878           0 :                         ndr->depth--;
    4879           0 :                 break;
    4880             : 
    4881           0 :                 case NETR_DELTA_DELETE_GROUP:
    4882           0 :                 break;
    4883             : 
    4884           0 :                 case NETR_DELTA_RENAME_GROUP:
    4885           0 :                         ndr_print_ptr(ndr, "rename_group", r->rename_group);
    4886           0 :                         ndr->depth++;
    4887           0 :                         if (r->rename_group) {
    4888           0 :                                 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
    4889             :                         }
    4890           0 :                         ndr->depth--;
    4891           0 :                 break;
    4892             : 
    4893           0 :                 case NETR_DELTA_USER:
    4894           0 :                         ndr_print_ptr(ndr, "user", r->user);
    4895           0 :                         ndr->depth++;
    4896           0 :                         if (r->user) {
    4897           0 :                                 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
    4898             :                         }
    4899           0 :                         ndr->depth--;
    4900           0 :                 break;
    4901             : 
    4902           0 :                 case NETR_DELTA_DELETE_USER:
    4903           0 :                 break;
    4904             : 
    4905           0 :                 case NETR_DELTA_RENAME_USER:
    4906           0 :                         ndr_print_ptr(ndr, "rename_user", r->rename_user);
    4907           0 :                         ndr->depth++;
    4908           0 :                         if (r->rename_user) {
    4909           0 :                                 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
    4910             :                         }
    4911           0 :                         ndr->depth--;
    4912           0 :                 break;
    4913             : 
    4914           0 :                 case NETR_DELTA_GROUP_MEMBER:
    4915           0 :                         ndr_print_ptr(ndr, "group_member", r->group_member);
    4916           0 :                         ndr->depth++;
    4917           0 :                         if (r->group_member) {
    4918           0 :                                 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
    4919             :                         }
    4920           0 :                         ndr->depth--;
    4921           0 :                 break;
    4922             : 
    4923           0 :                 case NETR_DELTA_ALIAS:
    4924           0 :                         ndr_print_ptr(ndr, "alias", r->alias);
    4925           0 :                         ndr->depth++;
    4926           0 :                         if (r->alias) {
    4927           0 :                                 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
    4928             :                         }
    4929           0 :                         ndr->depth--;
    4930           0 :                 break;
    4931             : 
    4932           0 :                 case NETR_DELTA_DELETE_ALIAS:
    4933           0 :                 break;
    4934             : 
    4935           0 :                 case NETR_DELTA_RENAME_ALIAS:
    4936           0 :                         ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
    4937           0 :                         ndr->depth++;
    4938           0 :                         if (r->rename_alias) {
    4939           0 :                                 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
    4940             :                         }
    4941           0 :                         ndr->depth--;
    4942           0 :                 break;
    4943             : 
    4944           0 :                 case NETR_DELTA_ALIAS_MEMBER:
    4945           0 :                         ndr_print_ptr(ndr, "alias_member", r->alias_member);
    4946           0 :                         ndr->depth++;
    4947           0 :                         if (r->alias_member) {
    4948           0 :                                 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
    4949             :                         }
    4950           0 :                         ndr->depth--;
    4951           0 :                 break;
    4952             : 
    4953           0 :                 case NETR_DELTA_POLICY:
    4954           0 :                         ndr_print_ptr(ndr, "policy", r->policy);
    4955           0 :                         ndr->depth++;
    4956           0 :                         if (r->policy) {
    4957           0 :                                 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
    4958             :                         }
    4959           0 :                         ndr->depth--;
    4960           0 :                 break;
    4961             : 
    4962           0 :                 case NETR_DELTA_TRUSTED_DOMAIN:
    4963           0 :                         ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
    4964           0 :                         ndr->depth++;
    4965           0 :                         if (r->trusted_domain) {
    4966           0 :                                 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
    4967             :                         }
    4968           0 :                         ndr->depth--;
    4969           0 :                 break;
    4970             : 
    4971           0 :                 case NETR_DELTA_DELETE_TRUST:
    4972           0 :                 break;
    4973             : 
    4974           0 :                 case NETR_DELTA_ACCOUNT:
    4975           0 :                         ndr_print_ptr(ndr, "account", r->account);
    4976           0 :                         ndr->depth++;
    4977           0 :                         if (r->account) {
    4978           0 :                                 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
    4979             :                         }
    4980           0 :                         ndr->depth--;
    4981           0 :                 break;
    4982             : 
    4983           0 :                 case NETR_DELTA_DELETE_ACCOUNT:
    4984           0 :                 break;
    4985             : 
    4986           0 :                 case NETR_DELTA_SECRET:
    4987           0 :                         ndr_print_ptr(ndr, "secret", r->secret);
    4988           0 :                         ndr->depth++;
    4989           0 :                         if (r->secret) {
    4990           0 :                                 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
    4991             :                         }
    4992           0 :                         ndr->depth--;
    4993           0 :                 break;
    4994             : 
    4995           0 :                 case NETR_DELTA_DELETE_SECRET:
    4996           0 :                 break;
    4997             : 
    4998           0 :                 case NETR_DELTA_DELETE_GROUP2:
    4999           0 :                         ndr_print_ptr(ndr, "delete_group", r->delete_group);
    5000           0 :                         ndr->depth++;
    5001           0 :                         if (r->delete_group) {
    5002           0 :                                 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
    5003             :                         }
    5004           0 :                         ndr->depth--;
    5005           0 :                 break;
    5006             : 
    5007           0 :                 case NETR_DELTA_DELETE_USER2:
    5008           0 :                         ndr_print_ptr(ndr, "delete_user", r->delete_user);
    5009           0 :                         ndr->depth++;
    5010           0 :                         if (r->delete_user) {
    5011           0 :                                 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
    5012             :                         }
    5013           0 :                         ndr->depth--;
    5014           0 :                 break;
    5015             : 
    5016           0 :                 case NETR_DELTA_MODIFY_COUNT:
    5017           0 :                         ndr_print_ptr(ndr, "modified_count", r->modified_count);
    5018           0 :                         ndr->depth++;
    5019           0 :                         if (r->modified_count) {
    5020           0 :                                 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
    5021             :                         }
    5022           0 :                         ndr->depth--;
    5023           0 :                 break;
    5024             : 
    5025           0 :                 default:
    5026           0 :                 break;
    5027             : 
    5028             :         }
    5029           0 : }
    5030             : 
    5031           0 : static enum ndr_err_code ndr_push_netr_DELTA_ID_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_ID_UNION *r)
    5032             : {
    5033             :         uint32_t level;
    5034           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5035           0 :         if (ndr_flags & NDR_SCALARS) {
    5036             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5037           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5038           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    5039           0 :                 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
    5040             :                 /* ms_union is always aligned to the largest union arm*/
    5041           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    5042           0 :                 switch (level) {
    5043           0 :                         case NETR_DELTA_DOMAIN: {
    5044           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5045           0 :                         break; }
    5046             : 
    5047           0 :                         case NETR_DELTA_GROUP: {
    5048           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5049           0 :                         break; }
    5050             : 
    5051           0 :                         case NETR_DELTA_DELETE_GROUP: {
    5052           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5053           0 :                         break; }
    5054             : 
    5055           0 :                         case NETR_DELTA_RENAME_GROUP: {
    5056           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5057           0 :                         break; }
    5058             : 
    5059           0 :                         case NETR_DELTA_USER: {
    5060           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5061           0 :                         break; }
    5062             : 
    5063           0 :                         case NETR_DELTA_DELETE_USER: {
    5064           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5065           0 :                         break; }
    5066             : 
    5067           0 :                         case NETR_DELTA_RENAME_USER: {
    5068           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5069           0 :                         break; }
    5070             : 
    5071           0 :                         case NETR_DELTA_GROUP_MEMBER: {
    5072           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5073           0 :                         break; }
    5074             : 
    5075           0 :                         case NETR_DELTA_ALIAS: {
    5076           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5077           0 :                         break; }
    5078             : 
    5079           0 :                         case NETR_DELTA_DELETE_ALIAS: {
    5080           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5081           0 :                         break; }
    5082             : 
    5083           0 :                         case NETR_DELTA_RENAME_ALIAS: {
    5084           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5085           0 :                         break; }
    5086             : 
    5087           0 :                         case NETR_DELTA_ALIAS_MEMBER: {
    5088           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5089           0 :                         break; }
    5090             : 
    5091           0 :                         case NETR_DELTA_POLICY: {
    5092           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
    5093           0 :                         break; }
    5094             : 
    5095           0 :                         case NETR_DELTA_TRUSTED_DOMAIN: {
    5096           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
    5097           0 :                         break; }
    5098             : 
    5099           0 :                         case NETR_DELTA_DELETE_TRUST: {
    5100           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
    5101           0 :                         break; }
    5102             : 
    5103           0 :                         case NETR_DELTA_ACCOUNT: {
    5104           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
    5105           0 :                         break; }
    5106             : 
    5107           0 :                         case NETR_DELTA_DELETE_ACCOUNT: {
    5108           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
    5109           0 :                         break; }
    5110             : 
    5111           0 :                         case NETR_DELTA_SECRET: {
    5112           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
    5113           0 :                         break; }
    5114             : 
    5115           0 :                         case NETR_DELTA_DELETE_SECRET: {
    5116           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
    5117           0 :                         break; }
    5118             : 
    5119           0 :                         case NETR_DELTA_DELETE_GROUP2: {
    5120           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5121           0 :                         break; }
    5122             : 
    5123           0 :                         case NETR_DELTA_DELETE_USER2: {
    5124           0 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
    5125           0 :                         break; }
    5126             : 
    5127           0 :                         case NETR_DELTA_MODIFY_COUNT: {
    5128           0 :                         break; }
    5129             : 
    5130           0 :                         default: {
    5131           0 :                         break; }
    5132             : 
    5133             :                 }
    5134           0 :         }
    5135           0 :         if (ndr_flags & NDR_BUFFERS) {
    5136           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5137             :                         /* We didn't get it above, and the token is not needed after this. */
    5138           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    5139             :                 }
    5140           0 :                 switch (level) {
    5141           0 :                         case NETR_DELTA_DOMAIN:
    5142           0 :                         break;
    5143             : 
    5144           0 :                         case NETR_DELTA_GROUP:
    5145           0 :                         break;
    5146             : 
    5147           0 :                         case NETR_DELTA_DELETE_GROUP:
    5148           0 :                         break;
    5149             : 
    5150           0 :                         case NETR_DELTA_RENAME_GROUP:
    5151           0 :                         break;
    5152             : 
    5153           0 :                         case NETR_DELTA_USER:
    5154           0 :                         break;
    5155             : 
    5156           0 :                         case NETR_DELTA_DELETE_USER:
    5157           0 :                         break;
    5158             : 
    5159           0 :                         case NETR_DELTA_RENAME_USER:
    5160           0 :                         break;
    5161             : 
    5162           0 :                         case NETR_DELTA_GROUP_MEMBER:
    5163           0 :                         break;
    5164             : 
    5165           0 :                         case NETR_DELTA_ALIAS:
    5166           0 :                         break;
    5167             : 
    5168           0 :                         case NETR_DELTA_DELETE_ALIAS:
    5169           0 :                         break;
    5170             : 
    5171           0 :                         case NETR_DELTA_RENAME_ALIAS:
    5172           0 :                         break;
    5173             : 
    5174           0 :                         case NETR_DELTA_ALIAS_MEMBER:
    5175           0 :                         break;
    5176             : 
    5177           0 :                         case NETR_DELTA_POLICY:
    5178           0 :                                 if (r->sid) {
    5179           0 :                                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5180             :                                 }
    5181           0 :                         break;
    5182             : 
    5183           0 :                         case NETR_DELTA_TRUSTED_DOMAIN:
    5184           0 :                                 if (r->sid) {
    5185           0 :                                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5186             :                                 }
    5187           0 :                         break;
    5188             : 
    5189           0 :                         case NETR_DELTA_DELETE_TRUST:
    5190           0 :                                 if (r->sid) {
    5191           0 :                                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5192             :                                 }
    5193           0 :                         break;
    5194             : 
    5195           0 :                         case NETR_DELTA_ACCOUNT:
    5196           0 :                                 if (r->sid) {
    5197           0 :                                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5198             :                                 }
    5199           0 :                         break;
    5200             : 
    5201           0 :                         case NETR_DELTA_DELETE_ACCOUNT:
    5202           0 :                                 if (r->sid) {
    5203           0 :                                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5204             :                                 }
    5205           0 :                         break;
    5206             : 
    5207           0 :                         case NETR_DELTA_SECRET:
    5208           0 :                                 if (r->name) {
    5209           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
    5210           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    5211           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
    5212           0 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    5213             :                                 }
    5214           0 :                         break;
    5215             : 
    5216           0 :                         case NETR_DELTA_DELETE_SECRET:
    5217           0 :                                 if (r->name) {
    5218           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
    5219           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    5220           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
    5221           0 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    5222             :                                 }
    5223           0 :                         break;
    5224             : 
    5225           0 :                         case NETR_DELTA_DELETE_GROUP2:
    5226           0 :                         break;
    5227             : 
    5228           0 :                         case NETR_DELTA_DELETE_USER2:
    5229           0 :                         break;
    5230             : 
    5231           0 :                         case NETR_DELTA_MODIFY_COUNT:
    5232           0 :                         break;
    5233             : 
    5234           0 :                         default:
    5235           0 :                         break;
    5236             : 
    5237             :                 }
    5238           0 :         }
    5239           0 :         return NDR_ERR_SUCCESS;
    5240             : }
    5241             : 
    5242           0 : static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
    5243             : {
    5244             :         uint32_t level;
    5245             :         uint16_t _level;
    5246           0 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    5247             :         uint32_t _ptr_sid;
    5248           0 :         TALLOC_CTX *_mem_save_name_0 = NULL;
    5249             :         uint32_t _ptr_name;
    5250           0 :         uint32_t size_name_1 = 0;
    5251           0 :         uint32_t length_name_1 = 0;
    5252           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5253           0 :         if (ndr_flags & NDR_SCALARS) {
    5254             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    5255           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5256           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    5257           0 :                 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
    5258           0 :                 if (_level != level) {
    5259           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    5260             :                 }
    5261             :                 /* ms_union is always aligned to the largest union arm*/
    5262           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    5263           0 :                 switch (level) {
    5264           0 :                         case NETR_DELTA_DOMAIN: {
    5265           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5266           0 :                         break; }
    5267             : 
    5268           0 :                         case NETR_DELTA_GROUP: {
    5269           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5270           0 :                         break; }
    5271             : 
    5272           0 :                         case NETR_DELTA_DELETE_GROUP: {
    5273           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5274           0 :                         break; }
    5275             : 
    5276           0 :                         case NETR_DELTA_RENAME_GROUP: {
    5277           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5278           0 :                         break; }
    5279             : 
    5280           0 :                         case NETR_DELTA_USER: {
    5281           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5282           0 :                         break; }
    5283             : 
    5284           0 :                         case NETR_DELTA_DELETE_USER: {
    5285           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5286           0 :                         break; }
    5287             : 
    5288           0 :                         case NETR_DELTA_RENAME_USER: {
    5289           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5290           0 :                         break; }
    5291             : 
    5292           0 :                         case NETR_DELTA_GROUP_MEMBER: {
    5293           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5294           0 :                         break; }
    5295             : 
    5296           0 :                         case NETR_DELTA_ALIAS: {
    5297           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5298           0 :                         break; }
    5299             : 
    5300           0 :                         case NETR_DELTA_DELETE_ALIAS: {
    5301           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5302           0 :                         break; }
    5303             : 
    5304           0 :                         case NETR_DELTA_RENAME_ALIAS: {
    5305           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5306           0 :                         break; }
    5307             : 
    5308           0 :                         case NETR_DELTA_ALIAS_MEMBER: {
    5309           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5310           0 :                         break; }
    5311             : 
    5312           0 :                         case NETR_DELTA_POLICY: {
    5313           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    5314           0 :                                 if (_ptr_sid) {
    5315           0 :                                         NDR_PULL_ALLOC(ndr, r->sid);
    5316             :                                 } else {
    5317           0 :                                         r->sid = NULL;
    5318             :                                 }
    5319           0 :                         break; }
    5320             : 
    5321           0 :                         case NETR_DELTA_TRUSTED_DOMAIN: {
    5322           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    5323           0 :                                 if (_ptr_sid) {
    5324           0 :                                         NDR_PULL_ALLOC(ndr, r->sid);
    5325             :                                 } else {
    5326           0 :                                         r->sid = NULL;
    5327             :                                 }
    5328           0 :                         break; }
    5329             : 
    5330           0 :                         case NETR_DELTA_DELETE_TRUST: {
    5331           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    5332           0 :                                 if (_ptr_sid) {
    5333           0 :                                         NDR_PULL_ALLOC(ndr, r->sid);
    5334             :                                 } else {
    5335           0 :                                         r->sid = NULL;
    5336             :                                 }
    5337           0 :                         break; }
    5338             : 
    5339           0 :                         case NETR_DELTA_ACCOUNT: {
    5340           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    5341           0 :                                 if (_ptr_sid) {
    5342           0 :                                         NDR_PULL_ALLOC(ndr, r->sid);
    5343             :                                 } else {
    5344           0 :                                         r->sid = NULL;
    5345             :                                 }
    5346           0 :                         break; }
    5347             : 
    5348           0 :                         case NETR_DELTA_DELETE_ACCOUNT: {
    5349           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    5350           0 :                                 if (_ptr_sid) {
    5351           0 :                                         NDR_PULL_ALLOC(ndr, r->sid);
    5352             :                                 } else {
    5353           0 :                                         r->sid = NULL;
    5354             :                                 }
    5355           0 :                         break; }
    5356             : 
    5357           0 :                         case NETR_DELTA_SECRET: {
    5358           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
    5359           0 :                                 if (_ptr_name) {
    5360           0 :                                         NDR_PULL_ALLOC(ndr, r->name);
    5361             :                                 } else {
    5362           0 :                                         r->name = NULL;
    5363             :                                 }
    5364           0 :                         break; }
    5365             : 
    5366           0 :                         case NETR_DELTA_DELETE_SECRET: {
    5367           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
    5368           0 :                                 if (_ptr_name) {
    5369           0 :                                         NDR_PULL_ALLOC(ndr, r->name);
    5370             :                                 } else {
    5371           0 :                                         r->name = NULL;
    5372             :                                 }
    5373           0 :                         break; }
    5374             : 
    5375           0 :                         case NETR_DELTA_DELETE_GROUP2: {
    5376           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5377           0 :                         break; }
    5378             : 
    5379           0 :                         case NETR_DELTA_DELETE_USER2: {
    5380           0 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
    5381           0 :                         break; }
    5382             : 
    5383           0 :                         case NETR_DELTA_MODIFY_COUNT: {
    5384           0 :                         break; }
    5385             : 
    5386           0 :                         default: {
    5387           0 :                         break; }
    5388             : 
    5389             :                 }
    5390           0 :         }
    5391           0 :         if (ndr_flags & NDR_BUFFERS) {
    5392           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    5393             :                         /* We didn't get it above, and the token is not needed after this. */
    5394           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    5395             :                 }
    5396           0 :                 switch (level) {
    5397           0 :                         case NETR_DELTA_DOMAIN:
    5398           0 :                         break;
    5399             : 
    5400           0 :                         case NETR_DELTA_GROUP:
    5401           0 :                         break;
    5402             : 
    5403           0 :                         case NETR_DELTA_DELETE_GROUP:
    5404           0 :                         break;
    5405             : 
    5406           0 :                         case NETR_DELTA_RENAME_GROUP:
    5407           0 :                         break;
    5408             : 
    5409           0 :                         case NETR_DELTA_USER:
    5410           0 :                         break;
    5411             : 
    5412           0 :                         case NETR_DELTA_DELETE_USER:
    5413           0 :                         break;
    5414             : 
    5415           0 :                         case NETR_DELTA_RENAME_USER:
    5416           0 :                         break;
    5417             : 
    5418           0 :                         case NETR_DELTA_GROUP_MEMBER:
    5419           0 :                         break;
    5420             : 
    5421           0 :                         case NETR_DELTA_ALIAS:
    5422           0 :                         break;
    5423             : 
    5424           0 :                         case NETR_DELTA_DELETE_ALIAS:
    5425           0 :                         break;
    5426             : 
    5427           0 :                         case NETR_DELTA_RENAME_ALIAS:
    5428           0 :                         break;
    5429             : 
    5430           0 :                         case NETR_DELTA_ALIAS_MEMBER:
    5431           0 :                         break;
    5432             : 
    5433           0 :                         case NETR_DELTA_POLICY:
    5434           0 :                                 if (r->sid) {
    5435           0 :                                         _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5436           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
    5437           0 :                                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5438           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
    5439             :                                 }
    5440           0 :                         break;
    5441             : 
    5442           0 :                         case NETR_DELTA_TRUSTED_DOMAIN:
    5443           0 :                                 if (r->sid) {
    5444           0 :                                         _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5445           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
    5446           0 :                                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5447           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
    5448             :                                 }
    5449           0 :                         break;
    5450             : 
    5451           0 :                         case NETR_DELTA_DELETE_TRUST:
    5452           0 :                                 if (r->sid) {
    5453           0 :                                         _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5454           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
    5455           0 :                                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5456           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
    5457             :                                 }
    5458           0 :                         break;
    5459             : 
    5460           0 :                         case NETR_DELTA_ACCOUNT:
    5461           0 :                                 if (r->sid) {
    5462           0 :                                         _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5463           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
    5464           0 :                                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5465           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
    5466             :                                 }
    5467           0 :                         break;
    5468             : 
    5469           0 :                         case NETR_DELTA_DELETE_ACCOUNT:
    5470           0 :                                 if (r->sid) {
    5471           0 :                                         _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5472           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
    5473           0 :                                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    5474           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
    5475             :                                 }
    5476           0 :                         break;
    5477             : 
    5478           0 :                         case NETR_DELTA_SECRET:
    5479           0 :                                 if (r->name) {
    5480           0 :                                         _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5481           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
    5482           0 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
    5483           0 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
    5484           0 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->name, &size_name_1));
    5485           0 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->name, &length_name_1));
    5486           0 :                                         if (length_name_1 > size_name_1) {
    5487           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);
    5488             :                                         }
    5489           0 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
    5490           0 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
    5491           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
    5492             :                                 }
    5493           0 :                         break;
    5494             : 
    5495           0 :                         case NETR_DELTA_DELETE_SECRET:
    5496           0 :                                 if (r->name) {
    5497           0 :                                         _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5498           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
    5499           0 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
    5500           0 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
    5501           0 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->name, &size_name_1));
    5502           0 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->name, &length_name_1));
    5503           0 :                                         if (length_name_1 > size_name_1) {
    5504           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);
    5505             :                                         }
    5506           0 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
    5507           0 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
    5508           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
    5509             :                                 }
    5510           0 :                         break;
    5511             : 
    5512           0 :                         case NETR_DELTA_DELETE_GROUP2:
    5513           0 :                         break;
    5514             : 
    5515           0 :                         case NETR_DELTA_DELETE_USER2:
    5516           0 :                         break;
    5517             : 
    5518           0 :                         case NETR_DELTA_MODIFY_COUNT:
    5519           0 :                         break;
    5520             : 
    5521           0 :                         default:
    5522           0 :                         break;
    5523             : 
    5524             :                 }
    5525           0 :         }
    5526           0 :         return NDR_ERR_SUCCESS;
    5527             : }
    5528             : 
    5529           0 : _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
    5530             : {
    5531             :         uint32_t level;
    5532           0 :         level = ndr_print_steal_switch_value(ndr, r);
    5533           0 :         ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
    5534           0 :         switch (level) {
    5535           0 :                 case NETR_DELTA_DOMAIN:
    5536           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5537           0 :                 break;
    5538             : 
    5539           0 :                 case NETR_DELTA_GROUP:
    5540           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5541           0 :                 break;
    5542             : 
    5543           0 :                 case NETR_DELTA_DELETE_GROUP:
    5544           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5545           0 :                 break;
    5546             : 
    5547           0 :                 case NETR_DELTA_RENAME_GROUP:
    5548           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5549           0 :                 break;
    5550             : 
    5551           0 :                 case NETR_DELTA_USER:
    5552           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5553           0 :                 break;
    5554             : 
    5555           0 :                 case NETR_DELTA_DELETE_USER:
    5556           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5557           0 :                 break;
    5558             : 
    5559           0 :                 case NETR_DELTA_RENAME_USER:
    5560           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5561           0 :                 break;
    5562             : 
    5563           0 :                 case NETR_DELTA_GROUP_MEMBER:
    5564           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5565           0 :                 break;
    5566             : 
    5567           0 :                 case NETR_DELTA_ALIAS:
    5568           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5569           0 :                 break;
    5570             : 
    5571           0 :                 case NETR_DELTA_DELETE_ALIAS:
    5572           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5573           0 :                 break;
    5574             : 
    5575           0 :                 case NETR_DELTA_RENAME_ALIAS:
    5576           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5577           0 :                 break;
    5578             : 
    5579           0 :                 case NETR_DELTA_ALIAS_MEMBER:
    5580           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5581           0 :                 break;
    5582             : 
    5583           0 :                 case NETR_DELTA_POLICY:
    5584           0 :                         ndr_print_ptr(ndr, "sid", r->sid);
    5585           0 :                         ndr->depth++;
    5586           0 :                         if (r->sid) {
    5587           0 :                                 ndr_print_dom_sid2(ndr, "sid", r->sid);
    5588             :                         }
    5589           0 :                         ndr->depth--;
    5590           0 :                 break;
    5591             : 
    5592           0 :                 case NETR_DELTA_TRUSTED_DOMAIN:
    5593           0 :                         ndr_print_ptr(ndr, "sid", r->sid);
    5594           0 :                         ndr->depth++;
    5595           0 :                         if (r->sid) {
    5596           0 :                                 ndr_print_dom_sid2(ndr, "sid", r->sid);
    5597             :                         }
    5598           0 :                         ndr->depth--;
    5599           0 :                 break;
    5600             : 
    5601           0 :                 case NETR_DELTA_DELETE_TRUST:
    5602           0 :                         ndr_print_ptr(ndr, "sid", r->sid);
    5603           0 :                         ndr->depth++;
    5604           0 :                         if (r->sid) {
    5605           0 :                                 ndr_print_dom_sid2(ndr, "sid", r->sid);
    5606             :                         }
    5607           0 :                         ndr->depth--;
    5608           0 :                 break;
    5609             : 
    5610           0 :                 case NETR_DELTA_ACCOUNT:
    5611           0 :                         ndr_print_ptr(ndr, "sid", r->sid);
    5612           0 :                         ndr->depth++;
    5613           0 :                         if (r->sid) {
    5614           0 :                                 ndr_print_dom_sid2(ndr, "sid", r->sid);
    5615             :                         }
    5616           0 :                         ndr->depth--;
    5617           0 :                 break;
    5618             : 
    5619           0 :                 case NETR_DELTA_DELETE_ACCOUNT:
    5620           0 :                         ndr_print_ptr(ndr, "sid", r->sid);
    5621           0 :                         ndr->depth++;
    5622           0 :                         if (r->sid) {
    5623           0 :                                 ndr_print_dom_sid2(ndr, "sid", r->sid);
    5624             :                         }
    5625           0 :                         ndr->depth--;
    5626           0 :                 break;
    5627             : 
    5628           0 :                 case NETR_DELTA_SECRET:
    5629           0 :                         ndr_print_ptr(ndr, "name", r->name);
    5630           0 :                         ndr->depth++;
    5631           0 :                         if (r->name) {
    5632           0 :                                 ndr_print_string(ndr, "name", r->name);
    5633             :                         }
    5634           0 :                         ndr->depth--;
    5635           0 :                 break;
    5636             : 
    5637           0 :                 case NETR_DELTA_DELETE_SECRET:
    5638           0 :                         ndr_print_ptr(ndr, "name", r->name);
    5639           0 :                         ndr->depth++;
    5640           0 :                         if (r->name) {
    5641           0 :                                 ndr_print_string(ndr, "name", r->name);
    5642             :                         }
    5643           0 :                         ndr->depth--;
    5644           0 :                 break;
    5645             : 
    5646           0 :                 case NETR_DELTA_DELETE_GROUP2:
    5647           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5648           0 :                 break;
    5649             : 
    5650           0 :                 case NETR_DELTA_DELETE_USER2:
    5651           0 :                         ndr_print_uint32(ndr, "rid", r->rid);
    5652           0 :                 break;
    5653             : 
    5654           0 :                 case NETR_DELTA_MODIFY_COUNT:
    5655           0 :                 break;
    5656             : 
    5657           0 :                 default:
    5658           0 :                 break;
    5659             : 
    5660             :         }
    5661           0 : }
    5662             : 
    5663           0 : static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
    5664             : {
    5665           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5666           0 :         if (ndr_flags & NDR_SCALARS) {
    5667           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    5668           0 :                 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
    5669           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
    5670           0 :                 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
    5671           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
    5672           0 :                 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
    5673           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    5674             :         }
    5675           0 :         if (ndr_flags & NDR_BUFFERS) {
    5676           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
    5677           0 :                 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
    5678           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
    5679           0 :                 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
    5680             :         }
    5681           0 :         return NDR_ERR_SUCCESS;
    5682             : }
    5683             : 
    5684           0 : static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
    5685             : {
    5686           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5687           0 :         if (ndr_flags & NDR_SCALARS) {
    5688           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    5689           0 :                 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
    5690           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
    5691           0 :                 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
    5692           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
    5693           0 :                 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
    5694           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    5695             :         }
    5696           0 :         if (ndr_flags & NDR_BUFFERS) {
    5697           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
    5698           0 :                 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
    5699           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
    5700           0 :                 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
    5701             :         }
    5702           0 :         return NDR_ERR_SUCCESS;
    5703             : }
    5704             : 
    5705           0 : _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
    5706             : {
    5707           0 :         ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
    5708           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5709           0 :         ndr->depth++;
    5710           0 :         ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
    5711           0 :         ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
    5712           0 :         ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
    5713           0 :         ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
    5714           0 :         ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
    5715           0 :         ndr->depth--;
    5716             : }
    5717             : 
    5718           0 : static enum ndr_err_code ndr_push_netr_DELTA_ENUM_ARRAY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM_ARRAY *r)
    5719             : {
    5720             :         uint32_t cntr_delta_enum_1;
    5721           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5722           0 :         if (ndr_flags & NDR_SCALARS) {
    5723           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    5724           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
    5725           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
    5726           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    5727             :         }
    5728           0 :         if (ndr_flags & NDR_BUFFERS) {
    5729           0 :                 if (r->delta_enum) {
    5730           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_deltas));
    5731           0 :                         for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (r->num_deltas); cntr_delta_enum_1++) {
    5732           0 :                                 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
    5733             :                         }
    5734           0 :                         for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (r->num_deltas); cntr_delta_enum_1++) {
    5735           0 :                                 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
    5736             :                         }
    5737             :                 }
    5738             :         }
    5739           0 :         return NDR_ERR_SUCCESS;
    5740             : }
    5741             : 
    5742           0 : static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
    5743             : {
    5744             :         uint32_t _ptr_delta_enum;
    5745           0 :         uint32_t size_delta_enum_1 = 0;
    5746             :         uint32_t cntr_delta_enum_1;
    5747           0 :         TALLOC_CTX *_mem_save_delta_enum_0 = NULL;
    5748           0 :         TALLOC_CTX *_mem_save_delta_enum_1 = NULL;
    5749           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5750           0 :         if (ndr_flags & NDR_SCALARS) {
    5751           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    5752           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
    5753           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
    5754           0 :                 if (_ptr_delta_enum) {
    5755           0 :                         NDR_PULL_ALLOC(ndr, r->delta_enum);
    5756             :                 } else {
    5757           0 :                         r->delta_enum = NULL;
    5758             :                 }
    5759           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    5760             :         }
    5761           0 :         if (ndr_flags & NDR_BUFFERS) {
    5762           0 :                 if (r->delta_enum) {
    5763           0 :                         _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
    5764           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
    5765           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
    5766           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->delta_enum, &size_delta_enum_1));
    5767           0 :                         NDR_PULL_ALLOC_N(ndr, r->delta_enum, size_delta_enum_1);
    5768           0 :                         _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
    5769           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
    5770           0 :                         for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (size_delta_enum_1); cntr_delta_enum_1++) {
    5771           0 :                                 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
    5772             :                         }
    5773           0 :                         for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (size_delta_enum_1); cntr_delta_enum_1++) {
    5774           0 :                                 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
    5775             :                         }
    5776           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
    5777           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
    5778             :                 }
    5779           0 :                 if (r->delta_enum) {
    5780           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
    5781             :                 }
    5782           0 :                 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (size_delta_enum_1); cntr_delta_enum_1++) {
    5783             :                 }
    5784             :         }
    5785           0 :         return NDR_ERR_SUCCESS;
    5786             : }
    5787             : 
    5788           0 : _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
    5789             : {
    5790             :         uint32_t cntr_delta_enum_1;
    5791           0 :         ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
    5792           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5793           0 :         ndr->depth++;
    5794           0 :         ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
    5795           0 :         ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
    5796           0 :         ndr->depth++;
    5797           0 :         if (r->delta_enum) {
    5798           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
    5799           0 :                 ndr->depth++;
    5800           0 :                 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < (r->num_deltas); cntr_delta_enum_1++) {
    5801           0 :                         ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
    5802             :                 }
    5803           0 :                 ndr->depth--;
    5804             :         }
    5805           0 :         ndr->depth--;
    5806           0 :         ndr->depth--;
    5807             : }
    5808             : 
    5809         108 : static enum ndr_err_code ndr_push_netr_UAS_INFO_0(struct ndr_push *ndr, int ndr_flags, const struct netr_UAS_INFO_0 *r)
    5810             : {
    5811             :         {
    5812         108 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    5813         108 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    5814         108 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5815         108 :                 if (ndr_flags & NDR_SCALARS) {
    5816         108 :                         NDR_CHECK(ndr_push_align(ndr, 4));
    5817         108 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
    5818         108 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
    5819         108 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
    5820         108 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    5821             :                 }
    5822          90 :                 if (ndr_flags & NDR_BUFFERS) {
    5823             :                 }
    5824         108 :                 ndr->flags = _flags_save_STRUCT;
    5825             :         }
    5826         108 :         return NDR_ERR_SUCCESS;
    5827             : }
    5828             : 
    5829          96 : static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
    5830             : {
    5831          96 :         uint32_t size_computer_name_0 = 0;
    5832             :         {
    5833          96 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    5834          96 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    5835          96 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5836          96 :                 if (ndr_flags & NDR_SCALARS) {
    5837          96 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
    5838          96 :                         size_computer_name_0 = 16;
    5839          96 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, size_computer_name_0));
    5840          96 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
    5841          96 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
    5842          96 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    5843             :                 }
    5844          80 :                 if (ndr_flags & NDR_BUFFERS) {
    5845             :                 }
    5846          96 :                 ndr->flags = _flags_save_STRUCT;
    5847             :         }
    5848          96 :         return NDR_ERR_SUCCESS;
    5849             : }
    5850             : 
    5851          24 : _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
    5852             : {
    5853          24 :         ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
    5854          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5855             :         {
    5856          24 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    5857          24 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    5858          24 :                 ndr->depth++;
    5859          24 :                 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
    5860          24 :                 ndr_print_uint32(ndr, "timecreated", r->timecreated);
    5861          24 :                 ndr_print_uint32(ndr, "serial_number", r->serial_number);
    5862          24 :                 ndr->depth--;
    5863          24 :                 ndr->flags = _flags_save_STRUCT;
    5864             :         }
    5865             : }
    5866             : 
    5867          60 : static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
    5868             : {
    5869          60 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5870          60 :         if (ndr_flags & NDR_SCALARS) {
    5871          60 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    5872             :                 {
    5873          60 :                         uint32_t _flags_save_DATA_BLOB = ndr->flags;
    5874          60 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    5875          60 :                         NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
    5876          60 :                         ndr->flags = _flags_save_DATA_BLOB;
    5877             :                 }
    5878          60 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    5879             :         }
    5880          50 :         if (ndr_flags & NDR_BUFFERS) {
    5881             :         }
    5882          60 :         return NDR_ERR_SUCCESS;
    5883             : }
    5884             : 
    5885          48 : static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
    5886             : {
    5887          48 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5888          48 :         if (ndr_flags & NDR_SCALARS) {
    5889          48 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    5890             :                 {
    5891          48 :                         uint32_t _flags_save_DATA_BLOB = ndr->flags;
    5892          48 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    5893          48 :                         NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
    5894          48 :                         ndr->flags = _flags_save_DATA_BLOB;
    5895             :                 }
    5896          48 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    5897             :         }
    5898          40 :         if (ndr_flags & NDR_BUFFERS) {
    5899             :         }
    5900          48 :         return NDR_ERR_SUCCESS;
    5901             : }
    5902             : 
    5903          24 : _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
    5904             : {
    5905          24 :         ndr_print_struct(ndr, name, "netr_AccountBuffer");
    5906          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5907          24 :         ndr->depth++;
    5908             :         {
    5909          24 :                 uint32_t _flags_save_DATA_BLOB = ndr->flags;
    5910          24 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
    5911          24 :                 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
    5912          24 :                 ndr->flags = _flags_save_DATA_BLOB;
    5913             :         }
    5914          24 :         ndr->depth--;
    5915             : }
    5916             : 
    5917         403 : static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    5918             : {
    5919         445 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    5920         403 :         return NDR_ERR_SUCCESS;
    5921             : }
    5922             : 
    5923         519 : static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    5924             : {
    5925             :         uint32_t v;
    5926         570 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    5927         570 :         *r = v;
    5928         519 :         return NDR_ERR_SUCCESS;
    5929             : }
    5930             : 
    5931          84 : _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    5932             : {
    5933          84 :         ndr_print_uint32(ndr, name, r);
    5934          84 :         ndr->depth++;
    5935          84 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_NEEDED", NETLOGON_REPLICATION_NEEDED, r);
    5936          84 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_IN_PROGRESS", NETLOGON_REPLICATION_IN_PROGRESS, r);
    5937          84 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_FULL_SYNC_REPLICATION", NETLOGON_FULL_SYNC_REPLICATION, r);
    5938          84 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REDO_NEEDED", NETLOGON_REDO_NEEDED, r);
    5939          84 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_IP", NETLOGON_HAS_IP, r);
    5940          84 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_TIMESERV", NETLOGON_HAS_TIMESERV, r);
    5941          84 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_DNS_UPDATE_FAILURE", NETLOGON_DNS_UPDATE_FAILURE, r);
    5942          84 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERIFY_STATUS_RETURNED", NETLOGON_VERIFY_STATUS_RETURNED, r);
    5943          84 :         ndr->depth--;
    5944          84 : }
    5945             : 
    5946         115 : static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_1(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_1 *r)
    5947             : {
    5948         115 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5949         115 :         if (ndr_flags & NDR_SCALARS) {
    5950         115 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    5951         133 :                 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
    5952         115 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
    5953         115 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    5954             :         }
    5955          97 :         if (ndr_flags & NDR_BUFFERS) {
    5956             :         }
    5957         115 :         return NDR_ERR_SUCCESS;
    5958             : }
    5959             : 
    5960          99 : static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
    5961             : {
    5962          99 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    5963          99 :         if (ndr_flags & NDR_SCALARS) {
    5964          99 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    5965         114 :                 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
    5966          99 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
    5967          99 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    5968             :         }
    5969          84 :         if (ndr_flags & NDR_BUFFERS) {
    5970             :         }
    5971          99 :         return NDR_ERR_SUCCESS;
    5972             : }
    5973             : 
    5974          36 : _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
    5975             : {
    5976          36 :         ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
    5977          36 :         if (r == NULL) { ndr_print_null(ndr); return; }
    5978          36 :         ndr->depth++;
    5979          36 :         ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
    5980          36 :         ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
    5981          36 :         ndr->depth--;
    5982             : }
    5983             : 
    5984         318 : static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_2(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_2 *r)
    5985             : {
    5986         318 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    5987         318 :         if (ndr_flags & NDR_SCALARS) {
    5988         318 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    5989         342 :                 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
    5990         318 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
    5991         318 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
    5992         318 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->tc_connection_status));
    5993         318 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    5994             :         }
    5995         318 :         if (ndr_flags & NDR_BUFFERS) {
    5996         318 :                 if (r->trusted_dc_name) {
    5997         306 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
    5998         306 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    5999         306 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
    6000         306 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_dc_name, ndr_charset_length(r->trusted_dc_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6001             :                 }
    6002             :         }
    6003         294 :         return NDR_ERR_SUCCESS;
    6004             : }
    6005             : 
    6006         459 : static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
    6007             : {
    6008             :         uint32_t _ptr_trusted_dc_name;
    6009         459 :         uint32_t size_trusted_dc_name_1 = 0;
    6010         459 :         uint32_t length_trusted_dc_name_1 = 0;
    6011         459 :         TALLOC_CTX *_mem_save_trusted_dc_name_0 = NULL;
    6012         459 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6013         459 :         if (ndr_flags & NDR_SCALARS) {
    6014         459 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6015         495 :                 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
    6016         459 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
    6017         459 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
    6018         459 :                 if (_ptr_trusted_dc_name) {
    6019         447 :                         NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
    6020             :                 } else {
    6021          12 :                         r->trusted_dc_name = NULL;
    6022             :                 }
    6023         459 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->tc_connection_status));
    6024         459 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    6025             :         }
    6026         459 :         if (ndr_flags & NDR_BUFFERS) {
    6027         459 :                 if (r->trusted_dc_name) {
    6028         447 :                         _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6029         447 :                         NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
    6030         447 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
    6031         447 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
    6032         447 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->trusted_dc_name, &size_trusted_dc_name_1));
    6033         447 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->trusted_dc_name, &length_trusted_dc_name_1));
    6034         447 :                         if (length_trusted_dc_name_1 > size_trusted_dc_name_1) {
    6035           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_dc_name_1, length_trusted_dc_name_1);
    6036             :                         }
    6037         447 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_dc_name_1, sizeof(uint16_t)));
    6038         447 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, length_trusted_dc_name_1, sizeof(uint16_t), CH_UTF16));
    6039         447 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
    6040             :                 }
    6041             :         }
    6042         423 :         return NDR_ERR_SUCCESS;
    6043             : }
    6044             : 
    6045          48 : _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
    6046             : {
    6047          48 :         ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
    6048          48 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6049          48 :         ndr->depth++;
    6050          48 :         ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
    6051          48 :         ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
    6052          48 :         ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
    6053          48 :         ndr->depth++;
    6054          48 :         if (r->trusted_dc_name) {
    6055          48 :                 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
    6056             :         }
    6057          48 :         ndr->depth--;
    6058          48 :         ndr_print_WERROR(ndr, "tc_connection_status", r->tc_connection_status);
    6059          48 :         ndr->depth--;
    6060             : }
    6061             : 
    6062          12 : static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_3(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_3 *r)
    6063             : {
    6064          12 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6065          12 :         if (ndr_flags & NDR_SCALARS) {
    6066          12 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    6067          12 :                 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
    6068          12 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
    6069          12 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
    6070          12 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
    6071          12 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
    6072          12 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
    6073          12 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
    6074          12 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    6075             :         }
    6076          12 :         if (ndr_flags & NDR_BUFFERS) {
    6077             :         }
    6078          12 :         return NDR_ERR_SUCCESS;
    6079             : }
    6080             : 
    6081          12 : static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
    6082             : {
    6083          12 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6084          12 :         if (ndr_flags & NDR_SCALARS) {
    6085          12 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    6086          12 :                 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
    6087          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
    6088          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
    6089          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
    6090          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
    6091          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
    6092          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
    6093          12 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    6094             :         }
    6095          12 :         if (ndr_flags & NDR_BUFFERS) {
    6096             :         }
    6097          12 :         return NDR_ERR_SUCCESS;
    6098             : }
    6099             : 
    6100           0 : _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
    6101             : {
    6102           0 :         ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
    6103           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6104           0 :         ndr->depth++;
    6105           0 :         ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
    6106           0 :         ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
    6107           0 :         ndr_print_uint32(ndr, "unknown1", r->unknown1);
    6108           0 :         ndr_print_uint32(ndr, "unknown2", r->unknown2);
    6109           0 :         ndr_print_uint32(ndr, "unknown3", r->unknown3);
    6110           0 :         ndr_print_uint32(ndr, "unknown4", r->unknown4);
    6111           0 :         ndr_print_uint32(ndr, "unknown5", r->unknown5);
    6112           0 :         ndr->depth--;
    6113             : }
    6114             : 
    6115           0 : static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_4(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_4 *r)
    6116             : {
    6117           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6118           0 :         if (ndr_flags & NDR_SCALARS) {
    6119           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    6120           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
    6121           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name));
    6122           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    6123             :         }
    6124           0 :         if (ndr_flags & NDR_BUFFERS) {
    6125           0 :                 if (r->trusted_dc_name) {
    6126           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
    6127           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6128           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
    6129           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_dc_name, ndr_charset_length(r->trusted_dc_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6130             :                 }
    6131           0 :                 if (r->trusted_domain_name) {
    6132           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
    6133           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6134           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
    6135           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_domain_name, ndr_charset_length(r->trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6136             :                 }
    6137             :         }
    6138           0 :         return NDR_ERR_SUCCESS;
    6139             : }
    6140             : 
    6141           0 : static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r)
    6142             : {
    6143             :         uint32_t _ptr_trusted_dc_name;
    6144           0 :         uint32_t size_trusted_dc_name_1 = 0;
    6145           0 :         uint32_t length_trusted_dc_name_1 = 0;
    6146           0 :         TALLOC_CTX *_mem_save_trusted_dc_name_0 = NULL;
    6147             :         uint32_t _ptr_trusted_domain_name;
    6148           0 :         uint32_t size_trusted_domain_name_1 = 0;
    6149           0 :         uint32_t length_trusted_domain_name_1 = 0;
    6150           0 :         TALLOC_CTX *_mem_save_trusted_domain_name_0 = NULL;
    6151           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6152           0 :         if (ndr_flags & NDR_SCALARS) {
    6153           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6154           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
    6155           0 :                 if (_ptr_trusted_dc_name) {
    6156           0 :                         NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
    6157             :                 } else {
    6158           0 :                         r->trusted_dc_name = NULL;
    6159             :                 }
    6160           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
    6161           0 :                 if (_ptr_trusted_domain_name) {
    6162           0 :                         NDR_PULL_ALLOC(ndr, r->trusted_domain_name);
    6163             :                 } else {
    6164           0 :                         r->trusted_domain_name = NULL;
    6165             :                 }
    6166           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    6167             :         }
    6168           0 :         if (ndr_flags & NDR_BUFFERS) {
    6169           0 :                 if (r->trusted_dc_name) {
    6170           0 :                         _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6171           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
    6172           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
    6173           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
    6174           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->trusted_dc_name, &size_trusted_dc_name_1));
    6175           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->trusted_dc_name, &length_trusted_dc_name_1));
    6176           0 :                         if (length_trusted_dc_name_1 > size_trusted_dc_name_1) {
    6177           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_dc_name_1, length_trusted_dc_name_1);
    6178             :                         }
    6179           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_dc_name_1, sizeof(uint16_t)));
    6180           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, length_trusted_dc_name_1, sizeof(uint16_t), CH_UTF16));
    6181           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
    6182             :                 }
    6183           0 :                 if (r->trusted_domain_name) {
    6184           0 :                         _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6185           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0);
    6186           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name));
    6187           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name));
    6188           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->trusted_domain_name, &size_trusted_domain_name_1));
    6189           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->trusted_domain_name, &length_trusted_domain_name_1));
    6190           0 :                         if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
    6191           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);
    6192             :                         }
    6193           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
    6194           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
    6195           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
    6196             :                 }
    6197             :         }
    6198           0 :         return NDR_ERR_SUCCESS;
    6199             : }
    6200             : 
    6201           0 : _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r)
    6202             : {
    6203           0 :         ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4");
    6204           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    6205           0 :         ndr->depth++;
    6206           0 :         ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
    6207           0 :         ndr->depth++;
    6208           0 :         if (r->trusted_dc_name) {
    6209           0 :                 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
    6210             :         }
    6211           0 :         ndr->depth--;
    6212           0 :         ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name);
    6213           0 :         ndr->depth++;
    6214           0 :         if (r->trusted_domain_name) {
    6215           0 :                 ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name);
    6216             :         }
    6217           0 :         ndr->depth--;
    6218           0 :         ndr->depth--;
    6219             : }
    6220             : 
    6221        9799 : _PUBLIC_ enum ndr_err_code ndr_push_netr_CONTROL_QUERY_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_QUERY_INFORMATION *r)
    6222             : {
    6223             :         uint32_t level;
    6224        9799 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6225        9799 :         if (ndr_flags & NDR_SCALARS) {
    6226             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6227        9799 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6228        9799 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    6229        9799 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    6230             :                 /* ms_union is always aligned to the largest union arm*/
    6231        9799 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    6232        9799 :                 switch (level) {
    6233        2472 :                         case 1: {
    6234        2472 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
    6235        2040 :                         break; }
    6236             : 
    6237        2692 :                         case 2: {
    6238        2692 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
    6239        2260 :                         break; }
    6240             : 
    6241        2678 :                         case 3: {
    6242        2678 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
    6243        2210 :                         break; }
    6244             : 
    6245        1648 :                         case 4: {
    6246        1648 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
    6247        1360 :                         break; }
    6248             : 
    6249         255 :                         default: {
    6250         255 :                         break; }
    6251             : 
    6252             :                 }
    6253           0 :         }
    6254        9799 :         if (ndr_flags & NDR_BUFFERS) {
    6255        9799 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6256             :                         /* We didn't get it above, and the token is not needed after this. */
    6257           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6258             :                 }
    6259        9799 :                 switch (level) {
    6260        2472 :                         case 1:
    6261        2472 :                                 if (r->info1) {
    6262         115 :                                         NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
    6263             :                                 }
    6264        2040 :                         break;
    6265             : 
    6266        2692 :                         case 2:
    6267        2692 :                                 if (r->info2) {
    6268         318 :                                         NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
    6269             :                                 }
    6270        2260 :                         break;
    6271             : 
    6272        2678 :                         case 3:
    6273        2678 :                                 if (r->info3) {
    6274          12 :                                         NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
    6275             :                                 }
    6276        2210 :                         break;
    6277             : 
    6278        1648 :                         case 4:
    6279        1648 :                                 if (r->info4) {
    6280           0 :                                         NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
    6281             :                                 }
    6282        1360 :                         break;
    6283             : 
    6284         255 :                         default:
    6285         255 :                         break;
    6286             : 
    6287             :                 }
    6288           0 :         }
    6289        8125 :         return NDR_ERR_SUCCESS;
    6290             : }
    6291             : 
    6292        8430 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
    6293             : {
    6294             :         uint32_t level;
    6295             :         uint32_t _level;
    6296        8430 :         TALLOC_CTX *_mem_save_info1_0 = NULL;
    6297             :         uint32_t _ptr_info1;
    6298        8430 :         TALLOC_CTX *_mem_save_info2_0 = NULL;
    6299             :         uint32_t _ptr_info2;
    6300        8430 :         TALLOC_CTX *_mem_save_info3_0 = NULL;
    6301             :         uint32_t _ptr_info3;
    6302        8430 :         TALLOC_CTX *_mem_save_info4_0 = NULL;
    6303             :         uint32_t _ptr_info4;
    6304        8430 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6305        8430 :         if (ndr_flags & NDR_SCALARS) {
    6306             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6307        8430 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6308        8430 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    6309        8430 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    6310        8430 :                 if (_level != level) {
    6311           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    6312             :                 }
    6313             :                 /* ms_union is always aligned to the largest union arm*/
    6314        8430 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6315        8430 :                 switch (level) {
    6316        2088 :                         case 1: {
    6317        2088 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
    6318        2088 :                                 if (_ptr_info1) {
    6319          99 :                                         NDR_PULL_ALLOC(ndr, r->info1);
    6320             :                                 } else {
    6321        1989 :                                         r->info1 = NULL;
    6322             :                                 }
    6323        1728 :                         break; }
    6324             : 
    6325        2427 :                         case 2: {
    6326        2427 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
    6327        2427 :                                 if (_ptr_info2) {
    6328         459 :                                         NDR_PULL_ALLOC(ndr, r->info2);
    6329             :                                 } else {
    6330        1968 :                                         r->info2 = NULL;
    6331             :                                 }
    6332        2051 :                         break; }
    6333             : 
    6334        2262 :                         case 3: {
    6335        2262 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
    6336        2262 :                                 if (_ptr_info3) {
    6337          12 :                                         NDR_PULL_ALLOC(ndr, r->info3);
    6338             :                                 } else {
    6339        2250 :                                         r->info3 = NULL;
    6340             :                                 }
    6341        1872 :                         break; }
    6342             : 
    6343        1392 :                         case 4: {
    6344        1392 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
    6345        1392 :                                 if (_ptr_info4) {
    6346           0 :                                         NDR_PULL_ALLOC(ndr, r->info4);
    6347             :                                 } else {
    6348        1392 :                                         r->info4 = NULL;
    6349             :                                 }
    6350        1152 :                         break; }
    6351             : 
    6352         216 :                         default: {
    6353         216 :                         break; }
    6354             : 
    6355             :                 }
    6356           0 :         }
    6357        8430 :         if (ndr_flags & NDR_BUFFERS) {
    6358        8430 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6359             :                         /* We didn't get it above, and the token is not needed after this. */
    6360           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6361             :                 }
    6362        8430 :                 switch (level) {
    6363        2088 :                         case 1:
    6364        2088 :                                 if (r->info1) {
    6365          99 :                                         _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6366          99 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
    6367          99 :                                         NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
    6368          99 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
    6369             :                                 }
    6370        1728 :                         break;
    6371             : 
    6372        2427 :                         case 2:
    6373        2427 :                                 if (r->info2) {
    6374         459 :                                         _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6375         459 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
    6376         459 :                                         NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
    6377         459 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
    6378             :                                 }
    6379        2051 :                         break;
    6380             : 
    6381        2262 :                         case 3:
    6382        2262 :                                 if (r->info3) {
    6383          12 :                                         _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6384          12 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
    6385          12 :                                         NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
    6386          12 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
    6387             :                                 }
    6388        1872 :                         break;
    6389             : 
    6390        1392 :                         case 4:
    6391        1392 :                                 if (r->info4) {
    6392           0 :                                         _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6393           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
    6394           0 :                                         NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
    6395           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
    6396             :                                 }
    6397        1152 :                         break;
    6398             : 
    6399         216 :                         default:
    6400         216 :                         break;
    6401             : 
    6402             :                 }
    6403           0 :         }
    6404        7019 :         return NDR_ERR_SUCCESS;
    6405             : }
    6406             : 
    6407        3348 : _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
    6408             : {
    6409             :         uint32_t level;
    6410        3348 :         level = ndr_print_steal_switch_value(ndr, r);
    6411        3348 :         ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
    6412        3348 :         switch (level) {
    6413         864 :                 case 1:
    6414         864 :                         ndr_print_ptr(ndr, "info1", r->info1);
    6415         864 :                         ndr->depth++;
    6416         864 :                         if (r->info1) {
    6417          36 :                                 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
    6418             :                         }
    6419         864 :                         ndr->depth--;
    6420         864 :                 break;
    6421             : 
    6422         864 :                 case 2:
    6423         864 :                         ndr_print_ptr(ndr, "info2", r->info2);
    6424         864 :                         ndr->depth++;
    6425         864 :                         if (r->info2) {
    6426          48 :                                 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
    6427             :                         }
    6428         864 :                         ndr->depth--;
    6429         864 :                 break;
    6430             : 
    6431         936 :                 case 3:
    6432         936 :                         ndr_print_ptr(ndr, "info3", r->info3);
    6433         936 :                         ndr->depth++;
    6434         936 :                         if (r->info3) {
    6435           0 :                                 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
    6436             :                         }
    6437         936 :                         ndr->depth--;
    6438         936 :                 break;
    6439             : 
    6440         576 :                 case 4:
    6441         576 :                         ndr_print_ptr(ndr, "info4", r->info4);
    6442         576 :                         ndr->depth++;
    6443         576 :                         if (r->info4) {
    6444           0 :                                 ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4);
    6445             :                         }
    6446         576 :                         ndr->depth--;
    6447         576 :                 break;
    6448             : 
    6449          90 :                 default:
    6450          90 :                 break;
    6451             : 
    6452             :         }
    6453        3348 : }
    6454             : 
    6455       11205 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
    6456             : {
    6457       11205 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    6458       11205 :         return NDR_ERR_SUCCESS;
    6459             : }
    6460             : 
    6461        8125 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
    6462             : {
    6463             :         uint32_t v;
    6464        8125 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    6465        8125 :         *r = v;
    6466        8125 :         return NDR_ERR_SUCCESS;
    6467             : }
    6468             : 
    6469           0 : _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
    6470             : {
    6471           0 :         const char *val = NULL;
    6472             : 
    6473           0 :         switch (r) {
    6474           0 :                 case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break;
    6475           0 :                 case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break;
    6476           0 :                 case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break;
    6477           0 :                 case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break;
    6478           0 :                 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
    6479           0 :                 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
    6480           0 :                 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
    6481           0 :                 case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break;
    6482           0 :                 case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break;
    6483           0 :                 case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break;
    6484           0 :                 case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break;
    6485           0 :                 case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break;
    6486           0 :                 case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break;
    6487           0 :                 case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break;
    6488           0 :                 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
    6489           0 :                 case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break;
    6490             :         }
    6491           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    6492           0 : }
    6493             : 
    6494        2775 : _PUBLIC_ enum ndr_err_code ndr_push_netr_CONTROL_DATA_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_DATA_INFORMATION *r)
    6495             : {
    6496             :         uint32_t level;
    6497        2775 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6498        2775 :         if (ndr_flags & NDR_SCALARS) {
    6499             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6500        2775 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6501        2775 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    6502        2775 :                 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, level));
    6503             :                 /* ms_union is always aligned to the largest union arm*/
    6504        2775 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    6505        2775 :                 switch (level) {
    6506         660 :                         case NETLOGON_CONTROL_REDISCOVER: {
    6507         660 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
    6508         562 :                         break; }
    6509             : 
    6510         590 :                         case NETLOGON_CONTROL_TC_QUERY: {
    6511         590 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
    6512         492 :                         break; }
    6513             : 
    6514         522 :                         case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
    6515         522 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
    6516         432 :                         break; }
    6517             : 
    6518           0 :                         case NETLOGON_CONTROL_CHANGE_PASSWORD: {
    6519           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
    6520           0 :                         break; }
    6521             : 
    6522         133 :                         case NETLOGON_CONTROL_TC_VERIFY: {
    6523         133 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
    6524         133 :                         break; }
    6525             : 
    6526           0 :                         case NETLOGON_CONTROL_FIND_USER: {
    6527           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
    6528           0 :                         break; }
    6529             : 
    6530         696 :                         case NETLOGON_CONTROL_SET_DBFLAG: {
    6531         696 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
    6532         576 :                         break; }
    6533             : 
    6534         144 :                         default: {
    6535         144 :                         break; }
    6536             : 
    6537             :                 }
    6538           0 :         }
    6539        2775 :         if (ndr_flags & NDR_BUFFERS) {
    6540        2775 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6541             :                         /* We didn't get it above, and the token is not needed after this. */
    6542           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6543             :                 }
    6544        2775 :                 switch (level) {
    6545         660 :                         case NETLOGON_CONTROL_REDISCOVER:
    6546         660 :                                 if (r->domain) {
    6547         660 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6548         660 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6549         660 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6550         660 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6551             :                                 }
    6552         562 :                         break;
    6553             : 
    6554         590 :                         case NETLOGON_CONTROL_TC_QUERY:
    6555         590 :                                 if (r->domain) {
    6556         590 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6557         590 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6558         590 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6559         590 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6560             :                                 }
    6561         492 :                         break;
    6562             : 
    6563         522 :                         case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
    6564         522 :                                 if (r->domain) {
    6565         522 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6566         522 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6567         522 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6568         522 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6569             :                                 }
    6570         432 :                         break;
    6571             : 
    6572           0 :                         case NETLOGON_CONTROL_CHANGE_PASSWORD:
    6573           0 :                                 if (r->domain) {
    6574           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6575           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6576           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6577           0 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6578             :                                 }
    6579           0 :                         break;
    6580             : 
    6581         133 :                         case NETLOGON_CONTROL_TC_VERIFY:
    6582         133 :                                 if (r->domain) {
    6583         133 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6584         133 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6585         133 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
    6586         133 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6587             :                                 }
    6588         133 :                         break;
    6589             : 
    6590           0 :                         case NETLOGON_CONTROL_FIND_USER:
    6591           0 :                                 if (r->user) {
    6592           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
    6593           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    6594           0 :                                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
    6595           0 :                                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    6596             :                                 }
    6597           0 :                         break;
    6598             : 
    6599         576 :                         case NETLOGON_CONTROL_SET_DBFLAG:
    6600         576 :                         break;
    6601             : 
    6602         144 :                         default:
    6603         144 :                         break;
    6604             : 
    6605             :                 }
    6606           0 :         }
    6607        2339 :         return NDR_ERR_SUCCESS;
    6608             : }
    6609             : 
    6610        2554 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
    6611             : {
    6612             :         uint32_t level;
    6613             :         uint32_t _level;
    6614        2554 :         TALLOC_CTX *_mem_save_domain_0 = NULL;
    6615             :         uint32_t _ptr_domain;
    6616        2554 :         uint32_t size_domain_1 = 0;
    6617        2554 :         uint32_t length_domain_1 = 0;
    6618        2554 :         TALLOC_CTX *_mem_save_user_0 = NULL;
    6619             :         uint32_t _ptr_user;
    6620        2554 :         uint32_t size_user_1 = 0;
    6621        2554 :         uint32_t length_user_1 = 0;
    6622        2554 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    6623        2554 :         if (ndr_flags & NDR_SCALARS) {
    6624             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6625        2554 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6626        2554 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    6627        2554 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    6628        2554 :                 if (_level != level) {
    6629           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    6630             :                 }
    6631             :                 /* ms_union is always aligned to the largest union arm*/
    6632        2554 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    6633        2554 :                 switch (level) {
    6634         578 :                         case NETLOGON_CONTROL_REDISCOVER: {
    6635         578 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
    6636         578 :                                 if (_ptr_domain) {
    6637         578 :                                         NDR_PULL_ALLOC(ndr, r->domain);
    6638             :                                 } else {
    6639           0 :                                         r->domain = NULL;
    6640             :                                 }
    6641         488 :                         break; }
    6642             : 
    6643         536 :                         case NETLOGON_CONTROL_TC_QUERY: {
    6644         536 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
    6645         536 :                                 if (_ptr_domain) {
    6646         536 :                                         NDR_PULL_ALLOC(ndr, r->domain);
    6647             :                                 } else {
    6648           0 :                                         r->domain = NULL;
    6649             :                                 }
    6650         446 :                         break; }
    6651             : 
    6652         510 :                         case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
    6653         510 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
    6654         510 :                                 if (_ptr_domain) {
    6655         510 :                                         NDR_PULL_ALLOC(ndr, r->domain);
    6656             :                                 } else {
    6657           0 :                                         r->domain = NULL;
    6658             :                                 }
    6659         420 :                         break; }
    6660             : 
    6661           0 :                         case NETLOGON_CONTROL_CHANGE_PASSWORD: {
    6662           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
    6663           0 :                                 if (_ptr_domain) {
    6664           0 :                                         NDR_PULL_ALLOC(ndr, r->domain);
    6665             :                                 } else {
    6666           0 :                                         r->domain = NULL;
    6667             :                                 }
    6668           0 :                         break; }
    6669             : 
    6670          80 :                         case NETLOGON_CONTROL_TC_VERIFY: {
    6671          80 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
    6672          80 :                                 if (_ptr_domain) {
    6673          80 :                                         NDR_PULL_ALLOC(ndr, r->domain);
    6674             :                                 } else {
    6675           0 :                                         r->domain = NULL;
    6676             :                                 }
    6677          80 :                         break; }
    6678             : 
    6679           0 :                         case NETLOGON_CONTROL_FIND_USER: {
    6680           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
    6681           0 :                                 if (_ptr_user) {
    6682           0 :                                         NDR_PULL_ALLOC(ndr, r->user);
    6683             :                                 } else {
    6684           0 :                                         r->user = NULL;
    6685             :                                 }
    6686           0 :                         break; }
    6687             : 
    6688         680 :                         case NETLOGON_CONTROL_SET_DBFLAG: {
    6689         680 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
    6690         560 :                         break; }
    6691             : 
    6692         140 :                         default: {
    6693         140 :                         break; }
    6694             : 
    6695             :                 }
    6696           0 :         }
    6697        2554 :         if (ndr_flags & NDR_BUFFERS) {
    6698        2554 :                 if (!(ndr_flags & NDR_SCALARS)) {
    6699             :                         /* We didn't get it above, and the token is not needed after this. */
    6700           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    6701             :                 }
    6702        2554 :                 switch (level) {
    6703         578 :                         case NETLOGON_CONTROL_REDISCOVER:
    6704         578 :                                 if (r->domain) {
    6705         578 :                                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6706         578 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
    6707         578 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
    6708         578 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
    6709         578 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
    6710         578 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
    6711         578 :                                         if (length_domain_1 > size_domain_1) {
    6712           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);
    6713             :                                         }
    6714         578 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
    6715         578 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
    6716         578 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
    6717             :                                 }
    6718         488 :                         break;
    6719             : 
    6720         536 :                         case NETLOGON_CONTROL_TC_QUERY:
    6721         536 :                                 if (r->domain) {
    6722         536 :                                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6723         536 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
    6724         536 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
    6725         536 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
    6726         536 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
    6727         536 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
    6728         536 :                                         if (length_domain_1 > size_domain_1) {
    6729           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);
    6730             :                                         }
    6731         536 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
    6732         536 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
    6733         536 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
    6734             :                                 }
    6735         446 :                         break;
    6736             : 
    6737         510 :                         case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
    6738         510 :                                 if (r->domain) {
    6739         510 :                                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6740         510 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
    6741         510 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
    6742         510 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
    6743         510 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
    6744         510 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
    6745         510 :                                         if (length_domain_1 > size_domain_1) {
    6746           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);
    6747             :                                         }
    6748         510 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
    6749         510 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
    6750         510 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
    6751             :                                 }
    6752         420 :                         break;
    6753             : 
    6754           0 :                         case NETLOGON_CONTROL_CHANGE_PASSWORD:
    6755           0 :                                 if (r->domain) {
    6756           0 :                                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6757           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
    6758           0 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
    6759           0 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
    6760           0 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
    6761           0 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
    6762           0 :                                         if (length_domain_1 > size_domain_1) {
    6763           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);
    6764             :                                         }
    6765           0 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
    6766           0 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
    6767           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
    6768             :                                 }
    6769           0 :                         break;
    6770             : 
    6771          80 :                         case NETLOGON_CONTROL_TC_VERIFY:
    6772          80 :                                 if (r->domain) {
    6773          80 :                                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6774          80 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
    6775          80 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
    6776          80 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
    6777          80 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain, &size_domain_1));
    6778          80 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain, &length_domain_1));
    6779          80 :                                         if (length_domain_1 > size_domain_1) {
    6780           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);
    6781             :                                         }
    6782          80 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
    6783          80 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
    6784          80 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
    6785             :                                 }
    6786          80 :                         break;
    6787             : 
    6788           0 :                         case NETLOGON_CONTROL_FIND_USER:
    6789           0 :                                 if (r->user) {
    6790           0 :                                         _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
    6791           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
    6792           0 :                                         NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
    6793           0 :                                         NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
    6794           0 :                                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->user, &size_user_1));
    6795           0 :                                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->user, &length_user_1));
    6796           0 :                                         if (length_user_1 > size_user_1) {
    6797           0 :                                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
    6798             :                                         }
    6799           0 :                                         NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
    6800           0 :                                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
    6801           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
    6802             :                                 }
    6803           0 :                         break;
    6804             : 
    6805         560 :                         case NETLOGON_CONTROL_SET_DBFLAG:
    6806         560 :                         break;
    6807             : 
    6808         140 :                         default:
    6809         140 :                         break;
    6810             : 
    6811             :                 }
    6812           0 :         }
    6813        2134 :         return NDR_ERR_SUCCESS;
    6814             : }
    6815             : 
    6816           0 : _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
    6817             : {
    6818             :         uint32_t level;
    6819           0 :         level = ndr_print_steal_switch_value(ndr, r);
    6820           0 :         ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
    6821           0 :         switch (level) {
    6822           0 :                 case NETLOGON_CONTROL_REDISCOVER:
    6823           0 :                         ndr_print_ptr(ndr, "domain", r->domain);
    6824           0 :                         ndr->depth++;
    6825           0 :                         if (r->domain) {
    6826           0 :                                 ndr_print_string(ndr, "domain", r->domain);
    6827             :                         }
    6828           0 :                         ndr->depth--;
    6829           0 :                 break;
    6830             : 
    6831           0 :                 case NETLOGON_CONTROL_TC_QUERY:
    6832           0 :                         ndr_print_ptr(ndr, "domain", r->domain);
    6833           0 :                         ndr->depth++;
    6834           0 :                         if (r->domain) {
    6835           0 :                                 ndr_print_string(ndr, "domain", r->domain);
    6836             :                         }
    6837           0 :                         ndr->depth--;
    6838           0 :                 break;
    6839             : 
    6840           0 :                 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
    6841           0 :                         ndr_print_ptr(ndr, "domain", r->domain);
    6842           0 :                         ndr->depth++;
    6843           0 :                         if (r->domain) {
    6844           0 :                                 ndr_print_string(ndr, "domain", r->domain);
    6845             :                         }
    6846           0 :                         ndr->depth--;
    6847           0 :                 break;
    6848             : 
    6849           0 :                 case NETLOGON_CONTROL_CHANGE_PASSWORD:
    6850           0 :                         ndr_print_ptr(ndr, "domain", r->domain);
    6851           0 :                         ndr->depth++;
    6852           0 :                         if (r->domain) {
    6853           0 :                                 ndr_print_string(ndr, "domain", r->domain);
    6854             :                         }
    6855           0 :                         ndr->depth--;
    6856           0 :                 break;
    6857             : 
    6858           0 :                 case NETLOGON_CONTROL_TC_VERIFY:
    6859           0 :                         ndr_print_ptr(ndr, "domain", r->domain);
    6860           0 :                         ndr->depth++;
    6861           0 :                         if (r->domain) {
    6862           0 :                                 ndr_print_string(ndr, "domain", r->domain);
    6863             :                         }
    6864           0 :                         ndr->depth--;
    6865           0 :                 break;
    6866             : 
    6867           0 :                 case NETLOGON_CONTROL_FIND_USER:
    6868           0 :                         ndr_print_ptr(ndr, "user", r->user);
    6869           0 :                         ndr->depth++;
    6870           0 :                         if (r->user) {
    6871           0 :                                 ndr_print_string(ndr, "user", r->user);
    6872             :                         }
    6873           0 :                         ndr->depth--;
    6874           0 :                 break;
    6875             : 
    6876           0 :                 case NETLOGON_CONTROL_SET_DBFLAG:
    6877           0 :                         ndr_print_uint32(ndr, "debug_level", r->debug_level);
    6878           0 :                 break;
    6879             : 
    6880           0 :                 default:
    6881           0 :                 break;
    6882             : 
    6883             :         }
    6884           0 : }
    6885             : 
    6886       17846 : _PUBLIC_ enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    6887             : {
    6888       17846 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    6889       17846 :         return NDR_ERR_SUCCESS;
    6890             : }
    6891             : 
    6892       24094 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    6893             : {
    6894             :         uint32_t v;
    6895       24094 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    6896       24094 :         *r = v;
    6897       24094 :         return NDR_ERR_SUCCESS;
    6898             : }
    6899             : 
    6900        1070 : _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    6901             : {
    6902        1070 :         ndr_print_uint32(ndr, name, r);
    6903        1070 :         ndr->depth++;
    6904        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
    6905        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
    6906        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
    6907        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
    6908        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
    6909        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
    6910        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
    6911        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
    6912        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
    6913        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
    6914        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
    6915        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
    6916        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
    6917        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
    6918        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r);
    6919        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
    6920        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
    6921        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
    6922        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
    6923        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
    6924        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
    6925        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
    6926        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
    6927        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES", NETLOGON_NEG_SUPPORTS_AES, r);
    6928        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
    6929        1070 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
    6930        1070 :         ndr->depth--;
    6931        1070 : }
    6932             : 
    6933          12 : static enum ndr_err_code ndr_push_SyncStateEnum(struct ndr_push *ndr, int ndr_flags, enum SyncStateEnum r)
    6934             : {
    6935          12 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
    6936          12 :         return NDR_ERR_SUCCESS;
    6937             : }
    6938             : 
    6939          12 : static enum ndr_err_code ndr_pull_SyncStateEnum(struct ndr_pull *ndr, int ndr_flags, enum SyncStateEnum *r)
    6940             : {
    6941             :         uint16_t v;
    6942          12 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
    6943          12 :         *r = v;
    6944          12 :         return NDR_ERR_SUCCESS;
    6945             : }
    6946             : 
    6947           0 : _PUBLIC_ void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r)
    6948             : {
    6949           0 :         const char *val = NULL;
    6950             : 
    6951           0 :         switch (r) {
    6952           0 :                 case SYNCSTATE_NORMAL_STATE: val = "SYNCSTATE_NORMAL_STATE"; break;
    6953           0 :                 case SYNCSTATE_DOMAIN_STATE: val = "SYNCSTATE_DOMAIN_STATE"; break;
    6954           0 :                 case SYNCSTATE_GROUP_STATE: val = "SYNCSTATE_GROUP_STATE"; break;
    6955           0 :                 case SYNCSTATE_UAS_BUILT_IN_GROUP_STATE: val = "SYNCSTATE_UAS_BUILT_IN_GROUP_STATE"; break;
    6956           0 :                 case SYNCSTATE_USER_STATE: val = "SYNCSTATE_USER_STATE"; break;
    6957           0 :                 case SYNCSTATE_GROUP_MEMBER_STATE: val = "SYNCSTATE_GROUP_MEMBER_STATE"; break;
    6958           0 :                 case SYNCSTATE_ALIAS_STATE: val = "SYNCSTATE_ALIAS_STATE"; break;
    6959           0 :                 case SYNCSTATE_ALIAS_MEMBER_STATE: val = "SYNCSTATE_ALIAS_MEMBER_STATE"; break;
    6960           0 :                 case SYNCSTATE_SAM_DONE_STATE: val = "SYNCSTATE_SAM_DONE_STATE"; break;
    6961             :         }
    6962           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    6963           0 : }
    6964             : 
    6965          40 : static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
    6966             : {
    6967          48 :         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
    6968          40 :         return NDR_ERR_SUCCESS;
    6969             : }
    6970             : 
    6971          20 : static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
    6972             : {
    6973             :         uint16_t v;
    6974          24 :         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
    6975          24 :         *r = v;
    6976          20 :         return NDR_ERR_SUCCESS;
    6977             : }
    6978             : 
    6979           0 : _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
    6980             : {
    6981           0 :         ndr_print_uint16(ndr, name, r);
    6982           0 :         ndr->depth++;
    6983           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
    6984           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
    6985           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
    6986           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
    6987           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
    6988           0 :         ndr->depth--;
    6989           0 : }
    6990             : 
    6991          96 : static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
    6992             : {
    6993             :         uint32_t level;
    6994          96 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    6995          96 :         if (ndr_flags & NDR_SCALARS) {
    6996             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    6997          48 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    6998             :                 /* ms_union is always aligned to the largest union arm*/
    6999          48 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    7000          48 :                 switch (level) {
    7001           0 :                         case NETR_CHANGELOG_SID_INCLUDED: {
    7002           0 :                                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
    7003           0 :                         break; }
    7004             : 
    7005           0 :                         case NETR_CHANGELOG_NAME_INCLUDED: {
    7006             :                                 {
    7007           0 :                                         uint32_t _flags_save_string = ndr->flags;
    7008           0 :                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
    7009           0 :                                         NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
    7010           0 :                                         ndr->flags = _flags_save_string;
    7011             :                                 }
    7012           0 :                         break; }
    7013             : 
    7014          40 :                         default: {
    7015          40 :                         break; }
    7016             : 
    7017             :                 }
    7018          40 :         }
    7019          80 :         return NDR_ERR_SUCCESS;
    7020             : }
    7021             : 
    7022          48 : static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
    7023             : {
    7024             :         uint32_t level;
    7025          48 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7026          48 :         if (ndr_flags & NDR_SCALARS) {
    7027             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7028          24 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7029             :                 /* ms_union is always aligned to the largest union arm*/
    7030          24 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    7031          24 :                 switch (level) {
    7032           0 :                         case NETR_CHANGELOG_SID_INCLUDED: {
    7033           0 :                                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
    7034           0 :                         break; }
    7035             : 
    7036           0 :                         case NETR_CHANGELOG_NAME_INCLUDED: {
    7037             :                                 {
    7038           0 :                                         uint32_t _flags_save_string = ndr->flags;
    7039           0 :                                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
    7040           0 :                                         NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
    7041           0 :                                         ndr->flags = _flags_save_string;
    7042             :                                 }
    7043           0 :                         break; }
    7044             : 
    7045          20 :                         default: {
    7046          20 :                         break; }
    7047             : 
    7048             :                 }
    7049          20 :         }
    7050          40 :         return NDR_ERR_SUCCESS;
    7051             : }
    7052             : 
    7053           0 : _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
    7054             : {
    7055             :         uint32_t level;
    7056           0 :         level = ndr_print_steal_switch_value(ndr, r);
    7057           0 :         ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
    7058           0 :         switch (level) {
    7059           0 :                 case NETR_CHANGELOG_SID_INCLUDED:
    7060           0 :                         ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
    7061           0 :                 break;
    7062             : 
    7063           0 :                 case NETR_CHANGELOG_NAME_INCLUDED:
    7064             :                         {
    7065           0 :                                 uint32_t _flags_save_string = ndr->flags;
    7066           0 :                                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
    7067           0 :                                 ndr_print_string(ndr, "object_name", r->object_name);
    7068           0 :                                 ndr->flags = _flags_save_string;
    7069             :                         }
    7070           0 :                 break;
    7071             : 
    7072           0 :                 default:
    7073           0 :                 break;
    7074             : 
    7075             :         }
    7076           0 : }
    7077             : 
    7078          48 : _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
    7079             : {
    7080          48 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7081          48 :         if (ndr_flags & NDR_SCALARS) {
    7082          48 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    7083          48 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
    7084          48 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
    7085          48 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
    7086          56 :                 NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
    7087          48 :                 NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
    7088          48 :                 NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
    7089          48 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
    7090          48 :                 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
    7091          48 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    7092             :         }
    7093          48 :         if (ndr_flags & NDR_BUFFERS) {
    7094          48 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
    7095          48 :                 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
    7096             :         }
    7097          40 :         return NDR_ERR_SUCCESS;
    7098             : }
    7099             : 
    7100          24 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
    7101             : {
    7102          24 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7103          24 :         if (ndr_flags & NDR_SCALARS) {
    7104          24 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    7105          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
    7106          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
    7107          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
    7108          28 :                 NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
    7109          24 :                 NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
    7110          24 :                 NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
    7111          24 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
    7112          24 :                 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
    7113          24 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    7114             :         }
    7115          24 :         if (ndr_flags & NDR_BUFFERS) {
    7116          24 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
    7117          24 :                 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
    7118             :         }
    7119          20 :         return NDR_ERR_SUCCESS;
    7120             : }
    7121             : 
    7122           0 : static void ndr_print_flags_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, int unused, const struct netr_ChangeLogEntry *r)
    7123             : {
    7124           0 :         ndr_print_netr_ChangeLogEntry(ndr, name, r);
    7125           0 : }
    7126             : 
    7127           0 : _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
    7128             : {
    7129           0 :         ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
    7130           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7131           0 :         ndr->depth++;
    7132           0 :         ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
    7133           0 :         ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
    7134           0 :         ndr_print_uint32(ndr, "object_rid", r->object_rid);
    7135           0 :         ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
    7136           0 :         ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
    7137           0 :         ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
    7138           0 :         ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
    7139           0 :         ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
    7140           0 :         ndr->depth--;
    7141             : }
    7142             : 
    7143          24 : _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, int flags)
    7144             : {
    7145          24 :         return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry);
    7146             : }
    7147             : 
    7148           0 : static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
    7149             : {
    7150           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7151           0 :         if (ndr_flags & NDR_SCALARS) {
    7152           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7153           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
    7154           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
    7155           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7156             :         }
    7157           0 :         if (ndr_flags & NDR_BUFFERS) {
    7158           0 :                 if (r->data) {
    7159           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
    7160           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
    7161             :                 }
    7162             :         }
    7163           0 :         return NDR_ERR_SUCCESS;
    7164             : }
    7165             : 
    7166           0 : static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
    7167             : {
    7168             :         uint32_t _ptr_data;
    7169           0 :         uint32_t size_data_1 = 0;
    7170           0 :         TALLOC_CTX *_mem_save_data_0 = NULL;
    7171           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7172           0 :         if (ndr_flags & NDR_SCALARS) {
    7173           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    7174           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
    7175           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
    7176           0 :                 if (_ptr_data) {
    7177           0 :                         NDR_PULL_ALLOC(ndr, r->data);
    7178             :                 } else {
    7179           0 :                         r->data = NULL;
    7180             :                 }
    7181           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    7182             :         }
    7183           0 :         if (ndr_flags & NDR_BUFFERS) {
    7184           0 :                 if (r->data) {
    7185           0 :                         _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7186           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
    7187           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
    7188           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
    7189           0 :                         NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
    7190           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
    7191           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
    7192             :                 }
    7193           0 :                 if (r->data) {
    7194           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->length));
    7195             :                 }
    7196             :         }
    7197           0 :         return NDR_ERR_SUCCESS;
    7198             : }
    7199             : 
    7200           0 : _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
    7201             : {
    7202           0 :         ndr_print_struct(ndr, name, "netr_Blob");
    7203           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7204           0 :         ndr->depth++;
    7205           0 :         ndr_print_uint32(ndr, "length", r->length);
    7206           0 :         ndr_print_ptr(ndr, "data", r->data);
    7207           0 :         ndr->depth++;
    7208           0 :         if (r->data) {
    7209           0 :                 ndr_print_array_uint8(ndr, "data", r->data, r->length);
    7210             :         }
    7211           0 :         ndr->depth--;
    7212           0 :         ndr->depth--;
    7213             : }
    7214             : 
    7215         321 : static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    7216             : {
    7217         355 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    7218         321 :         return NDR_ERR_SUCCESS;
    7219             : }
    7220             : 
    7221         337 : static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    7222             : {
    7223             :         uint32_t v;
    7224         371 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    7225         371 :         *r = v;
    7226         337 :         return NDR_ERR_SUCCESS;
    7227             : }
    7228             : 
    7229           0 : _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
    7230             : {
    7231           0 :         ndr_print_uint32(ndr, name, r);
    7232           0 :         ndr->depth++;
    7233           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
    7234           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
    7235           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
    7236           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
    7237           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
    7238           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
    7239           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
    7240           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
    7241           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
    7242           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
    7243           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
    7244           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
    7245           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
    7246           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
    7247           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
    7248           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
    7249           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
    7250           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WEB_SERVICE_REQUIRED", DS_WEB_SERVICE_REQUIRED, r);
    7251           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
    7252           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
    7253           0 :         ndr->depth--;
    7254           0 : }
    7255             : 
    7256         939 : static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
    7257             : {
    7258         981 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
    7259         939 :         return NDR_ERR_SUCCESS;
    7260             : }
    7261             : 
    7262         409 : static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
    7263             : {
    7264             :         uint32_t v;
    7265         447 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
    7266         447 :         *r = v;
    7267         409 :         return NDR_ERR_SUCCESS;
    7268             : }
    7269             : 
    7270         174 : _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
    7271             : {
    7272         174 :         const char *val = NULL;
    7273             : 
    7274         174 :         switch (r) {
    7275         174 :                 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
    7276           0 :                 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
    7277             :         }
    7278         174 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    7279         174 : }
    7280             : 
    7281         939 : static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    7282             : {
    7283         981 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    7284         939 :         return NDR_ERR_SUCCESS;
    7285             : }
    7286             : 
    7287         409 : static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    7288             : {
    7289             :         uint32_t v;
    7290         447 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    7291         447 :         *r = v;
    7292         409 :         return NDR_ERR_SUCCESS;
    7293             : }
    7294             : 
    7295         174 : _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    7296             : {
    7297         174 :         ndr_print_uint32(ndr, name, r);
    7298         174 :         ndr->depth++;
    7299         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
    7300         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
    7301         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
    7302         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
    7303         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
    7304         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
    7305         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
    7306         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
    7307         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
    7308         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
    7309         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
    7310         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
    7311         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WEBSERV", DS_SERVER_WEBSERV, r);
    7312         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS_8", DS_SERVER_DS_8, r);
    7313         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
    7314         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
    7315         174 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST_ROOT", DS_DNS_FOREST_ROOT, r);
    7316         174 :         ndr->depth--;
    7317         174 : }
    7318             : 
    7319        1521 : _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
    7320             : {
    7321        1521 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7322        1521 :         if (ndr_flags & NDR_SCALARS) {
    7323         981 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7324         981 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
    7325         981 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
    7326        1023 :                 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
    7327         981 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
    7328         981 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
    7329         981 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
    7330        1023 :                 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
    7331         981 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
    7332         981 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
    7333         981 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7334             :         }
    7335        1521 :         if (ndr_flags & NDR_BUFFERS) {
    7336         981 :                 if (r->dc_unc) {
    7337         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
    7338         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7339         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
    7340         981 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7341             :                 }
    7342         981 :                 if (r->dc_address) {
    7343         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
    7344         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7345         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
    7346         981 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7347             :                 }
    7348         981 :                 if (r->domain_name) {
    7349         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
    7350         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7351         981 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
    7352         981 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7353             :                 }
    7354         981 :                 if (r->forest_name) {
    7355         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
    7356         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7357         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
    7358         963 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7359             :                 }
    7360         981 :                 if (r->dc_site_name) {
    7361         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
    7362         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7363         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
    7364         963 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_site_name, ndr_charset_length(r->dc_site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7365             :                 }
    7366         981 :                 if (r->client_site_name) {
    7367         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
    7368         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7369         963 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
    7370         963 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_site_name, ndr_charset_length(r->client_site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    7371             :                 }
    7372             :         }
    7373        1479 :         return NDR_ERR_SUCCESS;
    7374             : }
    7375             : 
    7376         463 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
    7377             : {
    7378             :         uint32_t _ptr_dc_unc;
    7379         463 :         uint32_t size_dc_unc_1 = 0;
    7380         463 :         uint32_t length_dc_unc_1 = 0;
    7381         463 :         TALLOC_CTX *_mem_save_dc_unc_0 = NULL;
    7382             :         uint32_t _ptr_dc_address;
    7383         463 :         uint32_t size_dc_address_1 = 0;
    7384         463 :         uint32_t length_dc_address_1 = 0;
    7385         463 :         TALLOC_CTX *_mem_save_dc_address_0 = NULL;
    7386             :         uint32_t _ptr_domain_name;
    7387         463 :         uint32_t size_domain_name_1 = 0;
    7388         463 :         uint32_t length_domain_name_1 = 0;
    7389         463 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
    7390             :         uint32_t _ptr_forest_name;
    7391         463 :         uint32_t size_forest_name_1 = 0;
    7392         463 :         uint32_t length_forest_name_1 = 0;
    7393         463 :         TALLOC_CTX *_mem_save_forest_name_0 = NULL;
    7394             :         uint32_t _ptr_dc_site_name;
    7395         463 :         uint32_t size_dc_site_name_1 = 0;
    7396         463 :         uint32_t length_dc_site_name_1 = 0;
    7397         463 :         TALLOC_CTX *_mem_save_dc_site_name_0 = NULL;
    7398             :         uint32_t _ptr_client_site_name;
    7399         463 :         uint32_t size_client_site_name_1 = 0;
    7400         463 :         uint32_t length_client_site_name_1 = 0;
    7401         463 :         TALLOC_CTX *_mem_save_client_site_name_0 = NULL;
    7402         463 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7403         463 :         if (ndr_flags & NDR_SCALARS) {
    7404         447 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    7405         447 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
    7406         447 :                 if (_ptr_dc_unc) {
    7407         447 :                         NDR_PULL_ALLOC(ndr, r->dc_unc);
    7408             :                 } else {
    7409           0 :                         r->dc_unc = NULL;
    7410             :                 }
    7411         447 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
    7412         447 :                 if (_ptr_dc_address) {
    7413         447 :                         NDR_PULL_ALLOC(ndr, r->dc_address);
    7414             :                 } else {
    7415           0 :                         r->dc_address = NULL;
    7416             :                 }
    7417         485 :                 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
    7418         447 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
    7419         447 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
    7420         447 :                 if (_ptr_domain_name) {
    7421         447 :                         NDR_PULL_ALLOC(ndr, r->domain_name);
    7422             :                 } else {
    7423           0 :                         r->domain_name = NULL;
    7424             :                 }
    7425         447 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
    7426         447 :                 if (_ptr_forest_name) {
    7427         415 :                         NDR_PULL_ALLOC(ndr, r->forest_name);
    7428             :                 } else {
    7429          32 :                         r->forest_name = NULL;
    7430             :                 }
    7431         485 :                 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
    7432         447 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
    7433         447 :                 if (_ptr_dc_site_name) {
    7434         417 :                         NDR_PULL_ALLOC(ndr, r->dc_site_name);
    7435             :                 } else {
    7436          30 :                         r->dc_site_name = NULL;
    7437             :                 }
    7438         447 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
    7439         447 :                 if (_ptr_client_site_name) {
    7440         417 :                         NDR_PULL_ALLOC(ndr, r->client_site_name);
    7441             :                 } else {
    7442          30 :                         r->client_site_name = NULL;
    7443             :                 }
    7444         447 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    7445             :         }
    7446         463 :         if (ndr_flags & NDR_BUFFERS) {
    7447         447 :                 if (r->dc_unc) {
    7448         447 :                         _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7449         447 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
    7450         447 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
    7451         447 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
    7452         447 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dc_unc, &size_dc_unc_1));
    7453         447 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dc_unc, &length_dc_unc_1));
    7454         447 :                         if (length_dc_unc_1 > size_dc_unc_1) {
    7455           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_unc_1, length_dc_unc_1);
    7456             :                         }
    7457         447 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_unc_1, sizeof(uint16_t)));
    7458         447 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, length_dc_unc_1, sizeof(uint16_t), CH_UTF16));
    7459         447 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
    7460             :                 }
    7461         447 :                 if (r->dc_address) {
    7462         447 :                         _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7463         447 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
    7464         447 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
    7465         447 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
    7466         447 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dc_address, &size_dc_address_1));
    7467         447 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dc_address, &length_dc_address_1));
    7468         447 :                         if (length_dc_address_1 > size_dc_address_1) {
    7469           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_address_1, length_dc_address_1);
    7470             :                         }
    7471         447 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_address_1, sizeof(uint16_t)));
    7472         447 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, length_dc_address_1, sizeof(uint16_t), CH_UTF16));
    7473         447 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
    7474             :                 }
    7475         447 :                 if (r->domain_name) {
    7476         447 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7477         447 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
    7478         447 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
    7479         447 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
    7480         447 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->domain_name, &size_domain_name_1));
    7481         447 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->domain_name, &length_domain_name_1));
    7482         447 :                         if (length_domain_name_1 > size_domain_name_1) {
    7483           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);
    7484             :                         }
    7485         447 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
    7486         447 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
    7487         447 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
    7488             :                 }
    7489         447 :                 if (r->forest_name) {
    7490         415 :                         _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7491         415 :                         NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
    7492         415 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
    7493         415 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
    7494         415 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->forest_name, &size_forest_name_1));
    7495         415 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->forest_name, &length_forest_name_1));
    7496         415 :                         if (length_forest_name_1 > size_forest_name_1) {
    7497           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_forest_name_1, length_forest_name_1);
    7498             :                         }
    7499         415 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_forest_name_1, sizeof(uint16_t)));
    7500         415 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, length_forest_name_1, sizeof(uint16_t), CH_UTF16));
    7501         415 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
    7502             :                 }
    7503         447 :                 if (r->dc_site_name) {
    7504         417 :                         _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7505         417 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
    7506         417 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
    7507         417 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
    7508         417 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dc_site_name, &size_dc_site_name_1));
    7509         417 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dc_site_name, &length_dc_site_name_1));
    7510         417 :                         if (length_dc_site_name_1 > size_dc_site_name_1) {
    7511           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_site_name_1, length_dc_site_name_1);
    7512             :                         }
    7513         417 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_site_name_1, sizeof(uint16_t)));
    7514         417 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_site_name, length_dc_site_name_1, sizeof(uint16_t), CH_UTF16));
    7515         417 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
    7516             :                 }
    7517         447 :                 if (r->client_site_name) {
    7518         417 :                         _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7519         417 :                         NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
    7520         417 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
    7521         417 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
    7522         417 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->client_site_name, &size_client_site_name_1));
    7523         417 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->client_site_name, &length_client_site_name_1));
    7524         417 :                         if (length_client_site_name_1 > size_client_site_name_1) {
    7525           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_site_name_1, length_client_site_name_1);
    7526             :                         }
    7527         417 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_client_site_name_1, sizeof(uint16_t)));
    7528         417 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_site_name, length_client_site_name_1, sizeof(uint16_t), CH_UTF16));
    7529         417 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
    7530             :                 }
    7531             :         }
    7532         421 :         return NDR_ERR_SUCCESS;
    7533             : }
    7534             : 
    7535           0 : static void ndr_print_flags_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, int unused, const struct netr_DsRGetDCNameInfo *r)
    7536             : {
    7537           0 :         ndr_print_netr_DsRGetDCNameInfo(ndr, name, r);
    7538           0 : }
    7539             : 
    7540         174 : _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
    7541             : {
    7542         174 :         ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
    7543         174 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7544         174 :         ndr->depth++;
    7545         174 :         ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
    7546         174 :         ndr->depth++;
    7547         174 :         if (r->dc_unc) {
    7548         174 :                 ndr_print_string(ndr, "dc_unc", r->dc_unc);
    7549             :         }
    7550         174 :         ndr->depth--;
    7551         174 :         ndr_print_ptr(ndr, "dc_address", r->dc_address);
    7552         174 :         ndr->depth++;
    7553         174 :         if (r->dc_address) {
    7554         174 :                 ndr_print_string(ndr, "dc_address", r->dc_address);
    7555             :         }
    7556         174 :         ndr->depth--;
    7557         174 :         ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
    7558         174 :         ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
    7559         174 :         ndr_print_ptr(ndr, "domain_name", r->domain_name);
    7560         174 :         ndr->depth++;
    7561         174 :         if (r->domain_name) {
    7562         174 :                 ndr_print_string(ndr, "domain_name", r->domain_name);
    7563             :         }
    7564         174 :         ndr->depth--;
    7565         174 :         ndr_print_ptr(ndr, "forest_name", r->forest_name);
    7566         174 :         ndr->depth++;
    7567         174 :         if (r->forest_name) {
    7568         158 :                 ndr_print_string(ndr, "forest_name", r->forest_name);
    7569             :         }
    7570         174 :         ndr->depth--;
    7571         174 :         ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
    7572         174 :         ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
    7573         174 :         ndr->depth++;
    7574         174 :         if (r->dc_site_name) {
    7575         158 :                 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
    7576             :         }
    7577         174 :         ndr->depth--;
    7578         174 :         ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
    7579         174 :         ndr->depth++;
    7580         174 :         if (r->client_site_name) {
    7581         158 :                 ndr_print_string(ndr, "client_site_name", r->client_site_name);
    7582             :         }
    7583         174 :         ndr->depth--;
    7584         174 :         ndr->depth--;
    7585             : }
    7586             : 
    7587        1088 : static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
    7588             : {
    7589             :         uint32_t level;
    7590        1088 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7591        1088 :         if (ndr_flags & NDR_SCALARS) {
    7592             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7593        1088 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7594        1088 :                 NDR_CHECK(ndr_push_union_align(ndr, 4));
    7595        1088 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    7596             :                 /* ms_union is always aligned to the largest union arm*/
    7597        1088 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    7598        1088 :                 switch (level) {
    7599        1088 :                         case 1: {
    7600        1088 :                                 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
    7601         932 :                         break; }
    7602             : 
    7603           0 :                         default:
    7604           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7605             :                 }
    7606           0 :         }
    7607        1088 :         if (ndr_flags & NDR_BUFFERS) {
    7608           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7609             :                         /* We didn't get it above, and the token is not needed after this. */
    7610           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    7611             :                 }
    7612           0 :                 switch (level) {
    7613           0 :                         case 1:
    7614           0 :                         break;
    7615             : 
    7616           0 :                         default:
    7617           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    7618             :                 }
    7619         863 :         }
    7620         932 :         return NDR_ERR_SUCCESS;
    7621             : }
    7622             : 
    7623         896 : static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
    7624             : {
    7625             :         uint32_t level;
    7626             :         uint32_t _level;
    7627         896 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7628         896 :         if (ndr_flags & NDR_SCALARS) {
    7629             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    7630         896 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7631         896 :                 NDR_CHECK(ndr_pull_union_align(ndr, 4));
    7632         896 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    7633         896 :                 if (_level != level) {
    7634           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    7635             :                 }
    7636             :                 /* ms_union is always aligned to the largest union arm*/
    7637         896 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    7638         896 :                 switch (level) {
    7639         896 :                         case 1: {
    7640         896 :                                 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
    7641         766 :                         break; }
    7642             : 
    7643           0 :                         default:
    7644           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7645             :                 }
    7646           0 :         }
    7647         896 :         if (ndr_flags & NDR_BUFFERS) {
    7648           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    7649             :                         /* We didn't get it above, and the token is not needed after this. */
    7650           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    7651             :                 }
    7652           0 :                 switch (level) {
    7653           0 :                         case 1:
    7654           0 :                         break;
    7655             : 
    7656           0 :                         default:
    7657           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    7658             :                 }
    7659         742 :         }
    7660         766 :         return NDR_ERR_SUCCESS;
    7661             : }
    7662             : 
    7663         312 : _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
    7664             : {
    7665             :         uint32_t level;
    7666         312 :         level = ndr_print_steal_switch_value(ndr, r);
    7667         312 :         ndr_print_union(ndr, name, level, "netr_Capabilities");
    7668         312 :         switch (level) {
    7669         312 :                 case 1:
    7670         312 :                         ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
    7671         312 :                 break;
    7672             : 
    7673           0 :                 default:
    7674           0 :                         ndr_print_bad_level(ndr, name, level);
    7675             :         }
    7676         312 : }
    7677             : 
    7678         437 : _PUBLIC_ enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    7679             : {
    7680         437 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    7681         437 :         return NDR_ERR_SUCCESS;
    7682             : }
    7683             : 
    7684        3300 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    7685             : {
    7686             :         uint32_t v;
    7687        3300 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    7688        3300 :         *r = v;
    7689        3300 :         return NDR_ERR_SUCCESS;
    7690             : }
    7691             : 
    7692         192 : _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    7693             : {
    7694         192 :         ndr_print_uint32(ndr, name, r);
    7695         192 :         ndr->depth++;
    7696         192 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
    7697         192 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
    7698         192 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
    7699         192 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
    7700         192 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
    7701         192 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
    7702         192 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
    7703         192 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
    7704         192 :         ndr->depth--;
    7705         192 : }
    7706             : 
    7707         326 : static enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    7708             : {
    7709         389 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    7710         326 :         return NDR_ERR_SUCCESS;
    7711             : }
    7712             : 
    7713         291 : static enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    7714             : {
    7715             :         uint32_t v;
    7716         361 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    7717         361 :         *r = v;
    7718         291 :         return NDR_ERR_SUCCESS;
    7719             : }
    7720             : 
    7721          98 : _PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
    7722             : {
    7723          98 :         ndr_print_uint32(ndr, name, r);
    7724          98 :         ndr->depth++;
    7725          98 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
    7726          98 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
    7727          98 :         ndr->depth--;
    7728          98 : }
    7729             : 
    7730          20 : static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r)
    7731             : {
    7732          24 :         NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
    7733          20 :         return NDR_ERR_SUCCESS;
    7734             : }
    7735             : 
    7736          20 : static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
    7737             : {
    7738             :         uint16_t v;
    7739          26 :         NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
    7740          26 :         *r = v;
    7741          20 :         return NDR_ERR_SUCCESS;
    7742             : }
    7743             : 
    7744           2 : _PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r)
    7745             : {
    7746           2 :         ndr_print_uint16(ndr, name, r);
    7747           2 :         ndr->depth++;
    7748           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r);
    7749           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r);
    7750           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r);
    7751           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r);
    7752           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r);
    7753           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r);
    7754           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r);
    7755           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r);
    7756           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r);
    7757           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r);
    7758           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r);
    7759           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r);
    7760           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r);
    7761           2 :         ndr->depth--;
    7762           2 : }
    7763             : 
    7764          20 : static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r)
    7765             : {
    7766          24 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
    7767          20 :         return NDR_ERR_SUCCESS;
    7768             : }
    7769             : 
    7770          20 : static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
    7771             : {
    7772             :         uint8_t v;
    7773          26 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
    7774          26 :         *r = v;
    7775          20 :         return NDR_ERR_SUCCESS;
    7776             : }
    7777             : 
    7778           2 : _PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r)
    7779             : {
    7780           2 :         ndr_print_uint8(ndr, name, r);
    7781           2 :         ndr->depth++;
    7782           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r);
    7783           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r);
    7784           2 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r);
    7785           2 :         ndr->depth--;
    7786           2 : }
    7787             : 
    7788         789 : static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r)
    7789             : {
    7790         789 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7791         789 :         if (ndr_flags & NDR_SCALARS) {
    7792         400 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7793         400 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
    7794         400 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
    7795         400 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7796             :         }
    7797         789 :         if (ndr_flags & NDR_BUFFERS) {
    7798         400 :                 if (r->policy) {
    7799           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->policy_size));
    7800           0 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
    7801             :                 }
    7802             :         }
    7803         663 :         return NDR_ERR_SUCCESS;
    7804             : }
    7805             : 
    7806         733 : static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r)
    7807             : {
    7808             :         uint32_t _ptr_policy;
    7809         733 :         uint32_t size_policy_1 = 0;
    7810         733 :         TALLOC_CTX *_mem_save_policy_0 = NULL;
    7811         733 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7812         733 :         if (ndr_flags & NDR_SCALARS) {
    7813         372 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    7814         372 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
    7815         372 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
    7816         372 :                 if (_ptr_policy) {
    7817           0 :                         NDR_PULL_ALLOC(ndr, r->policy);
    7818             :                 } else {
    7819         372 :                         r->policy = NULL;
    7820             :                 }
    7821         372 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    7822             :         }
    7823         733 :         if (ndr_flags & NDR_BUFFERS) {
    7824         372 :                 if (r->policy) {
    7825           0 :                         _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    7826           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
    7827           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
    7828           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->policy, &size_policy_1));
    7829           0 :                         NDR_PULL_ALLOC_N(ndr, r->policy, size_policy_1);
    7830           0 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, size_policy_1));
    7831           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
    7832             :                 }
    7833         372 :                 if (r->policy) {
    7834           0 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->policy, r->policy_size));
    7835             :                 }
    7836             :         }
    7837         593 :         return NDR_ERR_SUCCESS;
    7838             : }
    7839             : 
    7840          98 : _PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r)
    7841             : {
    7842          98 :         ndr_print_struct(ndr, name, "netr_LsaPolicyInformation");
    7843          98 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7844          98 :         ndr->depth++;
    7845          98 :         ndr_print_uint32(ndr, "policy_size", r->policy_size);
    7846          98 :         ndr_print_ptr(ndr, "policy", r->policy);
    7847          98 :         ndr->depth++;
    7848          98 :         if (r->policy) {
    7849           0 :                 ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
    7850             :         }
    7851          98 :         ndr->depth--;
    7852          98 :         ndr->depth--;
    7853             : }
    7854             : 
    7855          24 : static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r)
    7856             : {
    7857          24 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7858          24 :         if (ndr_flags & NDR_SCALARS) {
    7859          24 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    7860          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284));
    7861          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion));
    7862          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion));
    7863          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber));
    7864          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId));
    7865             :                 {
    7866          24 :                         uint32_t _flags_save_string = ndr->flags;
    7867          24 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
    7868             :                         {
    7869             :                                 struct ndr_push *_ndr_CSDVersion;
    7870          24 :                                 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256));
    7871          24 :                                 NDR_CHECK(ndr_push_string(_ndr_CSDVersion, NDR_SCALARS, r->CSDVersion));
    7872          24 :                                 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_CSDVersion, 0, 256));
    7873             :                         }
    7874          24 :                         ndr->flags = _flags_save_string;
    7875             :                 }
    7876          24 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor));
    7877          24 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor));
    7878          28 :                 NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask));
    7879          28 :                 NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType));
    7880          24 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved));
    7881          24 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    7882             :         }
    7883          20 :         if (ndr_flags & NDR_BUFFERS) {
    7884             :         }
    7885          24 :         return NDR_ERR_SUCCESS;
    7886             : }
    7887             : 
    7888          26 : static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r)
    7889             : {
    7890          26 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7891          26 :         if (ndr_flags & NDR_SCALARS) {
    7892          26 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    7893          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize));
    7894          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion));
    7895          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion));
    7896          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber));
    7897          26 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId));
    7898             :                 {
    7899          26 :                         uint32_t _flags_save_string = ndr->flags;
    7900          26 :                         ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
    7901             :                         {
    7902             :                                 struct ndr_pull *_ndr_CSDVersion;
    7903          26 :                                 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256));
    7904          26 :                                 NDR_CHECK(ndr_pull_string(_ndr_CSDVersion, NDR_SCALARS, &r->CSDVersion));
    7905          26 :                                 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_CSDVersion, 0, 256));
    7906             :                         }
    7907          26 :                         ndr->flags = _flags_save_string;
    7908             :                 }
    7909          26 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor));
    7910          26 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor));
    7911          32 :                 NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask));
    7912          32 :                 NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType));
    7913          26 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved));
    7914          26 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    7915             :         }
    7916          20 :         if (ndr_flags & NDR_BUFFERS) {
    7917             :         }
    7918          26 :         return NDR_ERR_SUCCESS;
    7919             : }
    7920             : 
    7921           2 : _PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r)
    7922             : {
    7923           2 :         ndr_print_struct(ndr, name, "netr_OsVersionInfoEx");
    7924           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7925           2 :         ndr->depth++;
    7926           2 :         ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize);
    7927           2 :         ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion);
    7928           2 :         ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion);
    7929           2 :         ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber);
    7930           2 :         ndr_print_uint32(ndr, "PlatformId", r->PlatformId);
    7931             :         {
    7932           2 :                 uint32_t _flags_save_string = ndr->flags;
    7933           2 :                 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
    7934           2 :                 ndr_print_string(ndr, "CSDVersion", r->CSDVersion);
    7935           2 :                 ndr->flags = _flags_save_string;
    7936             :         }
    7937           2 :         ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor);
    7938           2 :         ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor);
    7939           2 :         ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask);
    7940           2 :         ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType);
    7941           2 :         ndr_print_uint8(ndr, "Reserved", r->Reserved);
    7942           2 :         ndr->depth--;
    7943             : }
    7944             : 
    7945          24 : static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r)
    7946             : {
    7947          24 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    7948          24 :         if (ndr_flags & NDR_SCALARS) {
    7949          24 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    7950          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 142));
    7951          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    7952          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 142));
    7953             :                 {
    7954             :                         struct ndr_push *_ndr_os;
    7955          24 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_os, 0, 142 * 2));
    7956          24 :                         NDR_CHECK(ndr_push_netr_OsVersionInfoEx(_ndr_os, NDR_SCALARS, &r->os));
    7957          24 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_os, 0, 142 * 2));
    7958             :                 }
    7959          24 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    7960             :         }
    7961          20 :         if (ndr_flags & NDR_BUFFERS) {
    7962             :         }
    7963          24 :         return NDR_ERR_SUCCESS;
    7964             : }
    7965             : 
    7966          26 : static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r)
    7967             : {
    7968          26 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    7969          26 :         if (ndr_flags & NDR_SCALARS) {
    7970          26 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    7971          26 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length));
    7972          26 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->dummy));
    7973          26 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->size));
    7974             :                 {
    7975             :                         struct ndr_pull *_ndr_os;
    7976          26 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_os, 0, r->size * 2));
    7977          26 :                         NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(_ndr_os, NDR_SCALARS, &r->os));
    7978          26 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_os, 0, r->size * 2));
    7979             :                 }
    7980          26 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    7981             :         }
    7982          20 :         if (ndr_flags & NDR_BUFFERS) {
    7983             :         }
    7984          26 :         return NDR_ERR_SUCCESS;
    7985             : }
    7986             : 
    7987           2 : _PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r)
    7988             : {
    7989           2 :         ndr_print_struct(ndr, name, "netr_OsVersion");
    7990           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
    7991           2 :         ndr->depth++;
    7992           2 :         ndr_print_uint3264(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length);
    7993           2 :         ndr_print_uint3264(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
    7994           2 :         ndr_print_uint3264(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size);
    7995           2 :         ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os);
    7996           2 :         ndr->depth--;
    7997             : }
    7998             : 
    7999         358 : static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r)
    8000             : {
    8001         358 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8002         358 :         if (ndr_flags & NDR_SCALARS) {
    8003         179 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8004         179 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
    8005         179 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
    8006         179 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->os));
    8007         179 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8008             :         }
    8009         358 :         if (ndr_flags & NDR_BUFFERS) {
    8010         179 :                 if (r->os) {
    8011          24 :                         NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os));
    8012             :                 }
    8013             :         }
    8014         302 :         return NDR_ERR_SUCCESS;
    8015             : }
    8016             : 
    8017         378 : static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r)
    8018             : {
    8019             :         uint32_t _ptr_os;
    8020         378 :         TALLOC_CTX *_mem_save_os_0 = NULL;
    8021         378 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8022         378 :         if (ndr_flags & NDR_SCALARS) {
    8023         189 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8024         189 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
    8025         189 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
    8026         189 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os));
    8027         189 :                 if (_ptr_os) {
    8028          26 :                         NDR_PULL_ALLOC(ndr, r->os);
    8029             :                 } else {
    8030         163 :                         r->os = NULL;
    8031             :                 }
    8032         189 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8033             :         }
    8034         378 :         if (ndr_flags & NDR_BUFFERS) {
    8035         189 :                 if (r->os) {
    8036          26 :                         _mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8037          26 :                         NDR_PULL_SET_MEM_CTX(ndr, r->os, 0);
    8038          26 :                         NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os));
    8039          26 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0);
    8040             :                 }
    8041             :         }
    8042         302 :         return NDR_ERR_SUCCESS;
    8043             : }
    8044             : 
    8045          10 : _PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r)
    8046             : {
    8047          10 :         ndr_print_struct(ndr, name, "netr_OsVersionContainer");
    8048          10 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8049          10 :         ndr->depth++;
    8050          10 :         ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length);
    8051          10 :         ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size);
    8052          10 :         ndr_print_ptr(ndr, "os", r->os);
    8053          10 :         ndr->depth++;
    8054          10 :         if (r->os) {
    8055           2 :                 ndr_print_netr_OsVersion(ndr, "os", r->os);
    8056             :         }
    8057          10 :         ndr->depth--;
    8058          10 :         ndr->depth--;
    8059             : }
    8060             : 
    8061         179 : static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r)
    8062             : {
    8063         179 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8064         179 :         if (ndr_flags & NDR_SCALARS) {
    8065         179 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8066         179 :                 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
    8067         179 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname));
    8068         179 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
    8069         179 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1));
    8070         179 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2));
    8071         179 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3));
    8072         179 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4));
    8073         179 :                 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
    8074         179 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name));
    8075         179 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
    8076         179 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
    8077         207 :                 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
    8078         179 :                 NDR_CHECK(ndr_push_kerb_EncTypes(ndr, NDR_SCALARS, r->supported_enc_types));
    8079         179 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
    8080         179 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
    8081         179 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8082             :         }
    8083         179 :         if (ndr_flags & NDR_BUFFERS) {
    8084         179 :                 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
    8085         179 :                 if (r->dns_hostname) {
    8086         144 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
    8087         144 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8088         144 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
    8089         144 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8090             :                 }
    8091         179 :                 if (r->sitename) {
    8092         168 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
    8093         168 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8094         168 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
    8095         168 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8096             :                 }
    8097         179 :                 if (r->dummy1) {
    8098           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
    8099           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8100           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
    8101           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8102             :                 }
    8103         179 :                 if (r->dummy2) {
    8104           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
    8105           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8106           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
    8107           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8108             :                 }
    8109         179 :                 if (r->dummy3) {
    8110           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
    8111           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8112           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
    8113           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8114             :                 }
    8115         179 :                 if (r->dummy4) {
    8116           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
    8117           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8118           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
    8119           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    8120             :                 }
    8121         179 :                 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
    8122         179 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
    8123         179 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
    8124         179 :                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
    8125             :         }
    8126         151 :         return NDR_ERR_SUCCESS;
    8127             : }
    8128             : 
    8129         189 : static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r)
    8130             : {
    8131             :         uint32_t _ptr_dns_hostname;
    8132         189 :         uint32_t size_dns_hostname_1 = 0;
    8133         189 :         uint32_t length_dns_hostname_1 = 0;
    8134         189 :         TALLOC_CTX *_mem_save_dns_hostname_0 = NULL;
    8135             :         uint32_t _ptr_sitename;
    8136         189 :         uint32_t size_sitename_1 = 0;
    8137         189 :         uint32_t length_sitename_1 = 0;
    8138         189 :         TALLOC_CTX *_mem_save_sitename_0 = NULL;
    8139             :         uint32_t _ptr_dummy1;
    8140         189 :         uint32_t size_dummy1_1 = 0;
    8141         189 :         uint32_t length_dummy1_1 = 0;
    8142         189 :         TALLOC_CTX *_mem_save_dummy1_0 = NULL;
    8143             :         uint32_t _ptr_dummy2;
    8144         189 :         uint32_t size_dummy2_1 = 0;
    8145         189 :         uint32_t length_dummy2_1 = 0;
    8146         189 :         TALLOC_CTX *_mem_save_dummy2_0 = NULL;
    8147             :         uint32_t _ptr_dummy3;
    8148         189 :         uint32_t size_dummy3_1 = 0;
    8149         189 :         uint32_t length_dummy3_1 = 0;
    8150         189 :         TALLOC_CTX *_mem_save_dummy3_0 = NULL;
    8151             :         uint32_t _ptr_dummy4;
    8152         189 :         uint32_t size_dummy4_1 = 0;
    8153         189 :         uint32_t length_dummy4_1 = 0;
    8154         189 :         TALLOC_CTX *_mem_save_dummy4_0 = NULL;
    8155         189 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8156         189 :         if (ndr_flags & NDR_SCALARS) {
    8157         189 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8158         189 :                 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
    8159         189 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname));
    8160         189 :                 if (_ptr_dns_hostname) {
    8161         146 :                         NDR_PULL_ALLOC(ndr, r->dns_hostname);
    8162             :                 } else {
    8163          43 :                         r->dns_hostname = NULL;
    8164             :                 }
    8165         189 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
    8166         189 :                 if (_ptr_sitename) {
    8167         170 :                         NDR_PULL_ALLOC(ndr, r->sitename);
    8168             :                 } else {
    8169          19 :                         r->sitename = NULL;
    8170             :                 }
    8171         189 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1));
    8172         189 :                 if (_ptr_dummy1) {
    8173           0 :                         NDR_PULL_ALLOC(ndr, r->dummy1);
    8174             :                 } else {
    8175         189 :                         r->dummy1 = NULL;
    8176             :                 }
    8177         189 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2));
    8178         189 :                 if (_ptr_dummy2) {
    8179           0 :                         NDR_PULL_ALLOC(ndr, r->dummy2);
    8180             :                 } else {
    8181         189 :                         r->dummy2 = NULL;
    8182             :                 }
    8183         189 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3));
    8184         189 :                 if (_ptr_dummy3) {
    8185           0 :                         NDR_PULL_ALLOC(ndr, r->dummy3);
    8186             :                 } else {
    8187         189 :                         r->dummy3 = NULL;
    8188             :                 }
    8189         189 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4));
    8190         189 :                 if (_ptr_dummy4) {
    8191           0 :                         NDR_PULL_ALLOC(ndr, r->dummy4);
    8192             :                 } else {
    8193         189 :                         r->dummy4 = NULL;
    8194             :                 }
    8195         189 :                 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
    8196         189 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name));
    8197         189 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
    8198         189 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
    8199         227 :                 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
    8200         189 :                 NDR_CHECK(ndr_pull_kerb_EncTypes(ndr, NDR_SCALARS, &r->supported_enc_types));
    8201         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
    8202         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
    8203         189 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8204             :         }
    8205         189 :         if (ndr_flags & NDR_BUFFERS) {
    8206         189 :                 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
    8207         189 :                 if (r->dns_hostname) {
    8208         146 :                         _mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8209         146 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0);
    8210         146 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname));
    8211         146 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname));
    8212         146 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_hostname, &size_dns_hostname_1));
    8213         146 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_hostname, &length_dns_hostname_1));
    8214         146 :                         if (length_dns_hostname_1 > size_dns_hostname_1) {
    8215           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_hostname_1, length_dns_hostname_1);
    8216             :                         }
    8217         146 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_hostname_1, sizeof(uint16_t)));
    8218         146 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, length_dns_hostname_1, sizeof(uint16_t), CH_UTF16));
    8219         146 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0);
    8220             :                 }
    8221         189 :                 if (r->sitename) {
    8222         170 :                         _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8223         170 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
    8224         170 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
    8225         170 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename));
    8226         170 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->sitename, &size_sitename_1));
    8227         170 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->sitename, &length_sitename_1));
    8228         170 :                         if (length_sitename_1 > size_sitename_1) {
    8229           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sitename_1, length_sitename_1);
    8230             :                         }
    8231         170 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_sitename_1, sizeof(uint16_t)));
    8232         170 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, length_sitename_1, sizeof(uint16_t), CH_UTF16));
    8233         170 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
    8234             :                 }
    8235         189 :                 if (r->dummy1) {
    8236           0 :                         _mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8237           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0);
    8238           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1));
    8239           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1));
    8240           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dummy1, &size_dummy1_1));
    8241           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dummy1, &length_dummy1_1));
    8242           0 :                         if (length_dummy1_1 > size_dummy1_1) {
    8243           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dummy1_1, length_dummy1_1);
    8244             :                         }
    8245           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dummy1_1, sizeof(uint16_t)));
    8246           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, length_dummy1_1, sizeof(uint16_t), CH_UTF16));
    8247           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0);
    8248             :                 }
    8249         189 :                 if (r->dummy2) {
    8250           0 :                         _mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8251           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0);
    8252           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2));
    8253           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2));
    8254           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dummy2, &size_dummy2_1));
    8255           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dummy2, &length_dummy2_1));
    8256           0 :                         if (length_dummy2_1 > size_dummy2_1) {
    8257           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dummy2_1, length_dummy2_1);
    8258             :                         }
    8259           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dummy2_1, sizeof(uint16_t)));
    8260           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, length_dummy2_1, sizeof(uint16_t), CH_UTF16));
    8261           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0);
    8262             :                 }
    8263         189 :                 if (r->dummy3) {
    8264           0 :                         _mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8265           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0);
    8266           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3));
    8267           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3));
    8268           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dummy3, &size_dummy3_1));
    8269           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dummy3, &length_dummy3_1));
    8270           0 :                         if (length_dummy3_1 > size_dummy3_1) {
    8271           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dummy3_1, length_dummy3_1);
    8272             :                         }
    8273           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dummy3_1, sizeof(uint16_t)));
    8274           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, length_dummy3_1, sizeof(uint16_t), CH_UTF16));
    8275           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0);
    8276             :                 }
    8277         189 :                 if (r->dummy4) {
    8278           0 :                         _mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8279           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0);
    8280           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4));
    8281           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4));
    8282           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dummy4, &size_dummy4_1));
    8283           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dummy4, &length_dummy4_1));
    8284           0 :                         if (length_dummy4_1 > size_dummy4_1) {
    8285           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dummy4_1, length_dummy4_1);
    8286             :                         }
    8287           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dummy4_1, sizeof(uint16_t)));
    8288           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, length_dummy4_1, sizeof(uint16_t), CH_UTF16));
    8289           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0);
    8290             :                 }
    8291         189 :                 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
    8292         189 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
    8293         189 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
    8294         189 :                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
    8295             :         }
    8296         151 :         return NDR_ERR_SUCCESS;
    8297             : }
    8298             : 
    8299          10 : _PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r)
    8300             : {
    8301          10 :         ndr_print_struct(ndr, name, "netr_WorkstationInformation");
    8302          10 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8303          10 :         ndr->depth++;
    8304          10 :         ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
    8305          10 :         ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname);
    8306          10 :         ndr->depth++;
    8307          10 :         if (r->dns_hostname) {
    8308           2 :                 ndr_print_string(ndr, "dns_hostname", r->dns_hostname);
    8309             :         }
    8310          10 :         ndr->depth--;
    8311          10 :         ndr_print_ptr(ndr, "sitename", r->sitename);
    8312          10 :         ndr->depth++;
    8313          10 :         if (r->sitename) {
    8314           2 :                 ndr_print_string(ndr, "sitename", r->sitename);
    8315             :         }
    8316          10 :         ndr->depth--;
    8317          10 :         ndr_print_ptr(ndr, "dummy1", r->dummy1);
    8318          10 :         ndr->depth++;
    8319          10 :         if (r->dummy1) {
    8320           0 :                 ndr_print_string(ndr, "dummy1", r->dummy1);
    8321             :         }
    8322          10 :         ndr->depth--;
    8323          10 :         ndr_print_ptr(ndr, "dummy2", r->dummy2);
    8324          10 :         ndr->depth++;
    8325          10 :         if (r->dummy2) {
    8326           0 :                 ndr_print_string(ndr, "dummy2", r->dummy2);
    8327             :         }
    8328          10 :         ndr->depth--;
    8329          10 :         ndr_print_ptr(ndr, "dummy3", r->dummy3);
    8330          10 :         ndr->depth++;
    8331          10 :         if (r->dummy3) {
    8332           0 :                 ndr_print_string(ndr, "dummy3", r->dummy3);
    8333             :         }
    8334          10 :         ndr->depth--;
    8335          10 :         ndr_print_ptr(ndr, "dummy4", r->dummy4);
    8336          10 :         ndr->depth++;
    8337          10 :         if (r->dummy4) {
    8338           0 :                 ndr_print_string(ndr, "dummy4", r->dummy4);
    8339             :         }
    8340          10 :         ndr->depth--;
    8341          10 :         ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version);
    8342          10 :         ndr_print_lsa_String(ndr, "os_name", &r->os_name);
    8343          10 :         ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
    8344          10 :         ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
    8345          10 :         ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
    8346          10 :         ndr_print_kerb_EncTypes(ndr, "supported_enc_types", r->supported_enc_types);
    8347          10 :         ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
    8348          10 :         ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
    8349          10 :         ndr->depth--;
    8350             : }
    8351             : 
    8352         179 : static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r)
    8353             : {
    8354             :         uint32_t level;
    8355         179 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8356         179 :         if (ndr_flags & NDR_SCALARS) {
    8357             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    8358         179 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    8359         179 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    8360         179 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    8361             :                 /* ms_union is always aligned to the largest union arm*/
    8362         179 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8363         179 :                 switch (level) {
    8364         168 :                         case 1: {
    8365         168 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info));
    8366         140 :                         break; }
    8367             : 
    8368          11 :                         case 2: {
    8369          11 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
    8370          11 :                         break; }
    8371             : 
    8372           0 :                         default:
    8373           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    8374             :                 }
    8375           0 :         }
    8376         179 :         if (ndr_flags & NDR_BUFFERS) {
    8377         179 :                 if (!(ndr_flags & NDR_SCALARS)) {
    8378             :                         /* We didn't get it above, and the token is not needed after this. */
    8379           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    8380             :                 }
    8381         179 :                 switch (level) {
    8382         168 :                         case 1:
    8383         168 :                                 if (r->workstation_info) {
    8384         168 :                                         NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
    8385             :                                 }
    8386         140 :                         break;
    8387             : 
    8388          11 :                         case 2:
    8389          11 :                                 if (r->lsa_policy_info) {
    8390          11 :                                         NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
    8391             :                                 }
    8392          11 :                         break;
    8393             : 
    8394           0 :                         default:
    8395           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    8396             :                 }
    8397           0 :         }
    8398         151 :         return NDR_ERR_SUCCESS;
    8399             : }
    8400             : 
    8401         189 : static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r)
    8402             : {
    8403             :         uint32_t level;
    8404             :         uint32_t _level;
    8405         189 :         TALLOC_CTX *_mem_save_workstation_info_0 = NULL;
    8406             :         uint32_t _ptr_workstation_info;
    8407         189 :         TALLOC_CTX *_mem_save_lsa_policy_info_0 = NULL;
    8408             :         uint32_t _ptr_lsa_policy_info;
    8409         189 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8410         189 :         if (ndr_flags & NDR_SCALARS) {
    8411             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    8412         189 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    8413         189 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    8414         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    8415         189 :                 if (_level != level) {
    8416           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    8417             :                 }
    8418             :                 /* ms_union is always aligned to the largest union arm*/
    8419         189 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8420         189 :                 switch (level) {
    8421         178 :                         case 1: {
    8422         178 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info));
    8423         178 :                                 if (_ptr_workstation_info) {
    8424         178 :                                         NDR_PULL_ALLOC(ndr, r->workstation_info);
    8425             :                                 } else {
    8426           0 :                                         r->workstation_info = NULL;
    8427             :                                 }
    8428         140 :                         break; }
    8429             : 
    8430          11 :                         case 2: {
    8431          11 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
    8432          11 :                                 if (_ptr_lsa_policy_info) {
    8433          11 :                                         NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
    8434             :                                 } else {
    8435           0 :                                         r->lsa_policy_info = NULL;
    8436             :                                 }
    8437          11 :                         break; }
    8438             : 
    8439           0 :                         default:
    8440           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    8441             :                 }
    8442           0 :         }
    8443         189 :         if (ndr_flags & NDR_BUFFERS) {
    8444         189 :                 if (!(ndr_flags & NDR_SCALARS)) {
    8445             :                         /* We didn't get it above, and the token is not needed after this. */
    8446           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    8447             :                 }
    8448         189 :                 switch (level) {
    8449         178 :                         case 1:
    8450         178 :                                 if (r->workstation_info) {
    8451         178 :                                         _mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8452         178 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0);
    8453         178 :                                         NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
    8454         178 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0);
    8455             :                                 }
    8456         140 :                         break;
    8457             : 
    8458          11 :                         case 2:
    8459          11 :                                 if (r->lsa_policy_info) {
    8460          11 :                                         _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8461          11 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
    8462          11 :                                         NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
    8463          11 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
    8464             :                                 }
    8465          11 :                         break;
    8466             : 
    8467           0 :                         default:
    8468           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    8469             :                 }
    8470           0 :         }
    8471         151 :         return NDR_ERR_SUCCESS;
    8472             : }
    8473             : 
    8474          10 : _PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r)
    8475             : {
    8476             :         uint32_t level;
    8477          10 :         level = ndr_print_steal_switch_value(ndr, r);
    8478          10 :         ndr_print_union(ndr, name, level, "netr_WorkstationInfo");
    8479          10 :         switch (level) {
    8480          10 :                 case 1:
    8481          10 :                         ndr_print_ptr(ndr, "workstation_info", r->workstation_info);
    8482          10 :                         ndr->depth++;
    8483          10 :                         if (r->workstation_info) {
    8484          10 :                                 ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info);
    8485             :                         }
    8486          10 :                         ndr->depth--;
    8487          10 :                 break;
    8488             : 
    8489           0 :                 case 2:
    8490           0 :                         ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
    8491           0 :                         ndr->depth++;
    8492           0 :                         if (r->lsa_policy_info) {
    8493           0 :                                 ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
    8494             :                         }
    8495           0 :                         ndr->depth--;
    8496           0 :                 break;
    8497             : 
    8498           0 :                 default:
    8499           0 :                         ndr_print_bad_level(ndr, name, level);
    8500             :         }
    8501          10 : }
    8502             : 
    8503         210 : static enum ndr_err_code ndr_push_netr_trust_extension_info(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_info *r)
    8504             : {
    8505         210 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8506         210 :         if (ndr_flags & NDR_SCALARS) {
    8507         210 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    8508         210 :                 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
    8509         210 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
    8510         210 :                 NDR_CHECK(ndr_push_lsa_TrustType(ndr, NDR_SCALARS, r->trust_type));
    8511         210 :                 NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
    8512         210 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    8513             :         }
    8514         175 :         if (ndr_flags & NDR_BUFFERS) {
    8515             :         }
    8516         210 :         return NDR_ERR_SUCCESS;
    8517             : }
    8518             : 
    8519         176 : static enum ndr_err_code ndr_pull_netr_trust_extension_info(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_info *r)
    8520             : {
    8521         176 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8522         176 :         if (ndr_flags & NDR_SCALARS) {
    8523         176 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    8524         176 :                 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
    8525         176 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
    8526         176 :                 NDR_CHECK(ndr_pull_lsa_TrustType(ndr, NDR_SCALARS, &r->trust_type));
    8527         176 :                 NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
    8528         176 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    8529             :         }
    8530         140 :         if (ndr_flags & NDR_BUFFERS) {
    8531             :         }
    8532         176 :         return NDR_ERR_SUCCESS;
    8533             : }
    8534             : 
    8535          92 : _PUBLIC_ void ndr_print_netr_trust_extension_info(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_info *r)
    8536             : {
    8537          92 :         ndr_print_struct(ndr, name, "netr_trust_extension_info");
    8538          92 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8539          92 :         ndr->depth++;
    8540          92 :         ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
    8541          92 :         ndr_print_uint32(ndr, "parent_index", r->parent_index);
    8542          92 :         ndr_print_lsa_TrustType(ndr, "trust_type", r->trust_type);
    8543          92 :         ndr_print_lsa_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
    8544          92 :         ndr->depth--;
    8545             : }
    8546             : 
    8547         210 : static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
    8548             : {
    8549         210 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8550         210 :         if (ndr_flags & NDR_SCALARS) {
    8551         210 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8552         210 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 8));
    8553         210 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    8554         210 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 8));
    8555             :                 {
    8556             :                         struct ndr_push *_ndr_info;
    8557         210 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, 8 * 2));
    8558         210 :                         NDR_CHECK(ndr_push_netr_trust_extension_info(_ndr_info, NDR_SCALARS, &r->info));
    8559         210 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, 8 * 2));
    8560             :                 }
    8561         210 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8562             :         }
    8563         175 :         if (ndr_flags & NDR_BUFFERS) {
    8564             :         }
    8565         210 :         return NDR_ERR_SUCCESS;
    8566             : }
    8567             : 
    8568         176 : static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
    8569             : {
    8570         176 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8571         176 :         if (ndr_flags & NDR_SCALARS) {
    8572         176 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8573         176 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length));
    8574         176 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->dummy));
    8575         176 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->size));
    8576             :                 {
    8577             :                         struct ndr_pull *_ndr_info;
    8578         176 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 0, r->size * 2));
    8579         176 :                         NDR_CHECK(ndr_pull_netr_trust_extension_info(_ndr_info, NDR_SCALARS, &r->info));
    8580         176 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 0, r->size * 2));
    8581             :                 }
    8582         176 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8583             :         }
    8584         140 :         if (ndr_flags & NDR_BUFFERS) {
    8585             :         }
    8586         176 :         return NDR_ERR_SUCCESS;
    8587             : }
    8588             : 
    8589          92 : _PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
    8590             : {
    8591          92 :         ndr_print_struct(ndr, name, "netr_trust_extension");
    8592          92 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8593          92 :         ndr->depth++;
    8594          92 :         ndr_print_uint3264(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
    8595          92 :         ndr_print_uint3264(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
    8596          92 :         ndr_print_uint3264(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
    8597          92 :         ndr_print_netr_trust_extension_info(ndr, "info", &r->info);
    8598          92 :         ndr->depth--;
    8599             : }
    8600             : 
    8601         840 : static enum ndr_err_code ndr_push_netr_trust_extension_container(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_container *r)
    8602             : {
    8603         840 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8604         840 :         if (ndr_flags & NDR_SCALARS) {
    8605         420 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8606         420 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->info == NULL?0:16));
    8607         420 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->info == NULL?0:16));
    8608         420 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
    8609         420 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8610             :         }
    8611         840 :         if (ndr_flags & NDR_BUFFERS) {
    8612         420 :                 if (r->info) {
    8613         210 :                         NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
    8614             :                 }
    8615             :         }
    8616         700 :         return NDR_ERR_SUCCESS;
    8617             : }
    8618             : 
    8619         696 : static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
    8620             : {
    8621             :         uint32_t _ptr_info;
    8622         696 :         TALLOC_CTX *_mem_save_info_0 = NULL;
    8623         696 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8624         696 :         if (ndr_flags & NDR_SCALARS) {
    8625         348 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8626         348 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
    8627         348 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
    8628         348 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
    8629         348 :                 if (_ptr_info) {
    8630         176 :                         NDR_PULL_ALLOC(ndr, r->info);
    8631             :                 } else {
    8632         172 :                         r->info = NULL;
    8633             :                 }
    8634         348 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8635             :         }
    8636         696 :         if (ndr_flags & NDR_BUFFERS) {
    8637         348 :                 if (r->info) {
    8638         176 :                         _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8639         176 :                         NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
    8640         176 :                         NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
    8641         176 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
    8642             :                 }
    8643             :         }
    8644         560 :         return NDR_ERR_SUCCESS;
    8645             : }
    8646             : 
    8647         180 : _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
    8648             : {
    8649         180 :         ndr_print_struct(ndr, name, "netr_trust_extension_container");
    8650         180 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8651         180 :         ndr->depth++;
    8652         180 :         ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->info == NULL?0:16:r->length);
    8653         180 :         ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->info == NULL?0:16:r->size);
    8654         180 :         ndr_print_ptr(ndr, "info", r->info);
    8655         180 :         ndr->depth++;
    8656         180 :         if (r->info) {
    8657          92 :                 ndr_print_netr_trust_extension(ndr, "info", r->info);
    8658             :         }
    8659         180 :         ndr->depth--;
    8660         180 :         ndr->depth--;
    8661             : }
    8662             : 
    8663         840 : static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r)
    8664             : {
    8665         840 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8666         840 :         if (ndr_flags & NDR_SCALARS) {
    8667         420 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8668         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname));
    8669         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname));
    8670         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname));
    8671         420 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
    8672         420 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
    8673         420 :                 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
    8674         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
    8675         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
    8676         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
    8677         420 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1));
    8678         420 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
    8679         420 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
    8680         420 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
    8681         420 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8682             :         }
    8683         840 :         if (ndr_flags & NDR_BUFFERS) {
    8684         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname));
    8685         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname));
    8686         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname));
    8687         420 :                 if (r->domain_sid) {
    8688         420 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
    8689             :                 }
    8690         420 :                 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
    8691         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
    8692         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
    8693         420 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
    8694             :         }
    8695         700 :         return NDR_ERR_SUCCESS;
    8696             : }
    8697             : 
    8698         696 : static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r)
    8699             : {
    8700             :         uint32_t _ptr_domain_sid;
    8701         696 :         TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
    8702         696 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8703         696 :         if (ndr_flags & NDR_SCALARS) {
    8704         348 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8705         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname));
    8706         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname));
    8707         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname));
    8708         348 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
    8709         348 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
    8710         348 :                 if (_ptr_domain_sid) {
    8711         348 :                         NDR_PULL_ALLOC(ndr, r->domain_sid);
    8712             :                 } else {
    8713           0 :                         r->domain_sid = NULL;
    8714             :                 }
    8715         348 :                 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
    8716         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
    8717         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
    8718         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
    8719         348 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1));
    8720         348 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
    8721         348 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
    8722         348 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
    8723         348 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8724             :         }
    8725         696 :         if (ndr_flags & NDR_BUFFERS) {
    8726         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname));
    8727         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname));
    8728         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname));
    8729         348 :                 if (r->domain_sid) {
    8730         348 :                         _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8731         348 :                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
    8732         348 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
    8733         348 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
    8734             :                 }
    8735         348 :                 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
    8736         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
    8737         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
    8738         348 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
    8739             :         }
    8740         560 :         return NDR_ERR_SUCCESS;
    8741             : }
    8742             : 
    8743         180 : _PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r)
    8744             : {
    8745         180 :         ndr_print_struct(ndr, name, "netr_OneDomainInfo");
    8746         180 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8747         180 :         ndr->depth++;
    8748         180 :         ndr_print_lsa_StringLarge(ndr, "domainname", &r->domainname);
    8749         180 :         ndr_print_lsa_StringLarge(ndr, "dns_domainname", &r->dns_domainname);
    8750         180 :         ndr_print_lsa_StringLarge(ndr, "dns_forestname", &r->dns_forestname);
    8751         180 :         ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
    8752         180 :         ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
    8753         180 :         ndr->depth++;
    8754         180 :         if (r->domain_sid) {
    8755         180 :                 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
    8756             :         }
    8757         180 :         ndr->depth--;
    8758         180 :         ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
    8759         180 :         ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2);
    8760         180 :         ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3);
    8761         180 :         ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4);
    8762         180 :         ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1);
    8763         180 :         ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
    8764         180 :         ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
    8765         180 :         ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
    8766         180 :         ndr->depth--;
    8767             : }
    8768             : 
    8769         210 : static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r)
    8770             : {
    8771             :         uint32_t cntr_trusted_domains_1;
    8772         210 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8773         210 :         if (ndr_flags & NDR_SCALARS) {
    8774         210 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8775         210 :                 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
    8776         210 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
    8777         210 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains));
    8778         210 :                 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
    8779         210 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname));
    8780         210 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
    8781         210 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
    8782         210 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
    8783         245 :                 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
    8784         210 :                 NDR_CHECK(ndr_push_kerb_EncTypes(ndr, NDR_SCALARS, r->supported_enc_types));
    8785         210 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
    8786         210 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
    8787         210 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    8788             :         }
    8789         210 :         if (ndr_flags & NDR_BUFFERS) {
    8790         210 :                 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
    8791         210 :                 if (r->trusted_domains) {
    8792         210 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->trusted_domain_count));
    8793         385 :                         for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (r->trusted_domain_count); cntr_trusted_domains_1++) {
    8794         210 :                                 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
    8795             :                         }
    8796         385 :                         for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (r->trusted_domain_count); cntr_trusted_domains_1++) {
    8797         210 :                                 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
    8798             :                         }
    8799             :                 }
    8800         210 :                 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
    8801         210 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname));
    8802         210 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
    8803         210 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
    8804         210 :                 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
    8805             :         }
    8806         175 :         return NDR_ERR_SUCCESS;
    8807             : }
    8808             : 
    8809         172 : static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r)
    8810             : {
    8811             :         uint32_t _ptr_trusted_domains;
    8812         172 :         uint32_t size_trusted_domains_1 = 0;
    8813             :         uint32_t cntr_trusted_domains_1;
    8814         172 :         TALLOC_CTX *_mem_save_trusted_domains_0 = NULL;
    8815         172 :         TALLOC_CTX *_mem_save_trusted_domains_1 = NULL;
    8816         172 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8817         172 :         if (ndr_flags & NDR_SCALARS) {
    8818         172 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8819         172 :                 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
    8820         172 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count));
    8821         172 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains));
    8822         172 :                 if (_ptr_trusted_domains) {
    8823         172 :                         NDR_PULL_ALLOC(ndr, r->trusted_domains);
    8824             :                 } else {
    8825           0 :                         r->trusted_domains = NULL;
    8826             :                 }
    8827         172 :                 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
    8828         172 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname));
    8829         172 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
    8830         172 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
    8831         172 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
    8832         204 :                 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
    8833         172 :                 NDR_CHECK(ndr_pull_kerb_EncTypes(ndr, NDR_SCALARS, &r->supported_enc_types));
    8834         172 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
    8835         172 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
    8836         172 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    8837             :         }
    8838         172 :         if (ndr_flags & NDR_BUFFERS) {
    8839         172 :                 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
    8840         172 :                 if (r->trusted_domains) {
    8841         172 :                         _mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
    8842         172 :                         NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
    8843         172 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains));
    8844         172 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->trusted_domains, &size_trusted_domains_1));
    8845         172 :                         NDR_PULL_ALLOC_N(ndr, r->trusted_domains, size_trusted_domains_1);
    8846         172 :                         _mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
    8847         172 :                         NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
    8848         348 :                         for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (size_trusted_domains_1); cntr_trusted_domains_1++) {
    8849         176 :                                 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
    8850             :                         }
    8851         316 :                         for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (size_trusted_domains_1); cntr_trusted_domains_1++) {
    8852         176 :                                 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
    8853             :                         }
    8854         172 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0);
    8855         172 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0);
    8856             :                 }
    8857         172 :                 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
    8858         172 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname));
    8859         172 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
    8860         172 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
    8861         172 :                 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
    8862         172 :                 if (r->trusted_domains) {
    8863         172 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count));
    8864             :                 }
    8865         200 :                 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (size_trusted_domains_1); cntr_trusted_domains_1++) {
    8866             :                 }
    8867             :         }
    8868         140 :         return NDR_ERR_SUCCESS;
    8869             : }
    8870             : 
    8871          88 : _PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r)
    8872             : {
    8873             :         uint32_t cntr_trusted_domains_1;
    8874          88 :         ndr_print_struct(ndr, name, "netr_DomainInformation");
    8875          88 :         if (r == NULL) { ndr_print_null(ndr); return; }
    8876          88 :         ndr->depth++;
    8877          88 :         ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain);
    8878          88 :         ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count);
    8879          88 :         ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains);
    8880          88 :         ndr->depth++;
    8881          88 :         if (r->trusted_domains) {
    8882          88 :                 ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count);
    8883          88 :                 ndr->depth++;
    8884         180 :                 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < (r->trusted_domain_count); cntr_trusted_domains_1++) {
    8885          92 :                         ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]);
    8886             :                 }
    8887          88 :                 ndr->depth--;
    8888             :         }
    8889          88 :         ndr->depth--;
    8890          88 :         ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
    8891          88 :         ndr_print_lsa_StringLarge(ndr, "dns_hostname", &r->dns_hostname);
    8892          88 :         ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2);
    8893          88 :         ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3);
    8894          88 :         ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4);
    8895          88 :         ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
    8896          88 :         ndr_print_kerb_EncTypes(ndr, "supported_enc_types", r->supported_enc_types);
    8897          88 :         ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
    8898          88 :         ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
    8899          88 :         ndr->depth--;
    8900             : }
    8901             : 
    8902         221 : static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
    8903             : {
    8904             :         uint32_t level;
    8905         221 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    8906         221 :         if (ndr_flags & NDR_SCALARS) {
    8907             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    8908         221 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    8909         221 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    8910         221 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    8911             :                 /* ms_union is always aligned to the largest union arm*/
    8912         221 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    8913         221 :                 switch (level) {
    8914         210 :                         case 1: {
    8915         210 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info));
    8916         175 :                         break; }
    8917             : 
    8918          11 :                         case 2: {
    8919          11 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
    8920          11 :                         break; }
    8921             : 
    8922           0 :                         default:
    8923           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    8924             :                 }
    8925           0 :         }
    8926         221 :         if (ndr_flags & NDR_BUFFERS) {
    8927         221 :                 if (!(ndr_flags & NDR_SCALARS)) {
    8928             :                         /* We didn't get it above, and the token is not needed after this. */
    8929           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    8930             :                 }
    8931         221 :                 switch (level) {
    8932         210 :                         case 1:
    8933         210 :                                 if (r->domain_info) {
    8934         210 :                                         NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
    8935             :                                 }
    8936         175 :                         break;
    8937             : 
    8938          11 :                         case 2:
    8939          11 :                                 if (r->lsa_policy_info) {
    8940          11 :                                         NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
    8941             :                                 }
    8942          11 :                         break;
    8943             : 
    8944           0 :                         default:
    8945           0 :                                 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
    8946             :                 }
    8947           0 :         }
    8948         186 :         return NDR_ERR_SUCCESS;
    8949             : }
    8950             : 
    8951         183 : static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
    8952             : {
    8953             :         uint32_t level;
    8954             :         uint32_t _level;
    8955         183 :         TALLOC_CTX *_mem_save_domain_info_0 = NULL;
    8956             :         uint32_t _ptr_domain_info;
    8957         183 :         TALLOC_CTX *_mem_save_lsa_policy_info_0 = NULL;
    8958             :         uint32_t _ptr_lsa_policy_info;
    8959         183 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    8960         183 :         if (ndr_flags & NDR_SCALARS) {
    8961             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    8962         183 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    8963         183 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    8964         183 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    8965         183 :                 if (_level != level) {
    8966           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
    8967             :                 }
    8968             :                 /* ms_union is always aligned to the largest union arm*/
    8969         183 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    8970         183 :                 switch (level) {
    8971         172 :                         case 1: {
    8972         172 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info));
    8973         172 :                                 if (_ptr_domain_info) {
    8974         172 :                                         NDR_PULL_ALLOC(ndr, r->domain_info);
    8975             :                                 } else {
    8976           0 :                                         r->domain_info = NULL;
    8977             :                                 }
    8978         140 :                         break; }
    8979             : 
    8980          11 :                         case 2: {
    8981          11 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
    8982          11 :                                 if (_ptr_lsa_policy_info) {
    8983          11 :                                         NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
    8984             :                                 } else {
    8985           0 :                                         r->lsa_policy_info = NULL;
    8986             :                                 }
    8987          11 :                         break; }
    8988             : 
    8989           0 :                         default:
    8990           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    8991             :                 }
    8992           0 :         }
    8993         183 :         if (ndr_flags & NDR_BUFFERS) {
    8994         183 :                 if (!(ndr_flags & NDR_SCALARS)) {
    8995             :                         /* We didn't get it above, and the token is not needed after this. */
    8996           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    8997             :                 }
    8998         183 :                 switch (level) {
    8999         172 :                         case 1:
    9000         172 :                                 if (r->domain_info) {
    9001         172 :                                         _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9002         172 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0);
    9003         172 :                                         NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
    9004         172 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0);
    9005             :                                 }
    9006         140 :                         break;
    9007             : 
    9008          11 :                         case 2:
    9009          11 :                                 if (r->lsa_policy_info) {
    9010          11 :                                         _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9011          11 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
    9012          11 :                                         NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
    9013          11 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
    9014             :                                 }
    9015          11 :                         break;
    9016             : 
    9017           0 :                         default:
    9018           0 :                                 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
    9019             :                 }
    9020           0 :         }
    9021         151 :         return NDR_ERR_SUCCESS;
    9022             : }
    9023             : 
    9024          88 : _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
    9025             : {
    9026             :         uint32_t level;
    9027          88 :         level = ndr_print_steal_switch_value(ndr, r);
    9028          88 :         ndr_print_union(ndr, name, level, "netr_DomainInfo");
    9029          88 :         switch (level) {
    9030          88 :                 case 1:
    9031          88 :                         ndr_print_ptr(ndr, "domain_info", r->domain_info);
    9032          88 :                         ndr->depth++;
    9033          88 :                         if (r->domain_info) {
    9034          88 :                                 ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info);
    9035             :                         }
    9036          88 :                         ndr->depth--;
    9037          88 :                 break;
    9038             : 
    9039           0 :                 case 2:
    9040           0 :                         ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
    9041           0 :                         ndr->depth++;
    9042           0 :                         if (r->lsa_policy_info) {
    9043           0 :                                 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
    9044             :                         }
    9045           0 :                         ndr->depth--;
    9046           0 :                 break;
    9047             : 
    9048           0 :                 default:
    9049           0 :                         ndr_print_bad_level(ndr, name, level);
    9050             :         }
    9051          88 : }
    9052             : 
    9053         453 : static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
    9054             : {
    9055             :         {
    9056         453 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    9057         453 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    9058         453 :                 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9059         453 :                 if (ndr_flags & NDR_SCALARS) {
    9060         453 :                         NDR_CHECK(ndr_push_align(ndr, 4));
    9061         453 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
    9062         453 :                         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
    9063         453 :                         NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    9064             :                 }
    9065         406 :                 if (ndr_flags & NDR_BUFFERS) {
    9066             :                 }
    9067         453 :                 ndr->flags = _flags_save_STRUCT;
    9068             :         }
    9069         453 :         return NDR_ERR_SUCCESS;
    9070             : }
    9071             : 
    9072         451 : static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
    9073             : {
    9074         451 :         uint32_t size_data_0 = 0;
    9075             :         {
    9076         451 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    9077         451 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    9078         451 :                 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9079         451 :                 if (ndr_flags & NDR_SCALARS) {
    9080         451 :                         NDR_CHECK(ndr_pull_align(ndr, 4));
    9081         451 :                         size_data_0 = 512;
    9082         451 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
    9083         451 :                         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
    9084         451 :                         NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    9085             :                 }
    9086         404 :                 if (ndr_flags & NDR_BUFFERS) {
    9087             :                 }
    9088         451 :                 ndr->flags = _flags_save_STRUCT;
    9089             :         }
    9090         451 :         return NDR_ERR_SUCCESS;
    9091             : }
    9092             : 
    9093           0 : _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
    9094             : {
    9095           0 :         ndr_print_struct(ndr, name, "netr_CryptPassword");
    9096           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9097             :         {
    9098           0 :                 uint32_t _flags_save_STRUCT = ndr->flags;
    9099           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    9100           0 :                 ndr->depth++;
    9101           0 :                 ndr_print_array_uint8(ndr, "data", r->data, 512);
    9102           0 :                 ndr_print_uint32(ndr, "length", r->length);
    9103           0 :                 ndr->depth--;
    9104           0 :                 ndr->flags = _flags_save_STRUCT;
    9105             :         }
    9106             : }
    9107             : 
    9108          34 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SendToSamType(struct ndr_push *ndr, int ndr_flags, enum netr_SendToSamType r)
    9109             : {
    9110          34 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
    9111          34 :         return NDR_ERR_SUCCESS;
    9112             : }
    9113             : 
    9114          34 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SendToSamType(struct ndr_pull *ndr, int ndr_flags, enum netr_SendToSamType *r)
    9115             : {
    9116             :         uint16_t v;
    9117          34 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
    9118          34 :         *r = v;
    9119          34 :         return NDR_ERR_SUCCESS;
    9120             : }
    9121             : 
    9122           0 : _PUBLIC_ void ndr_print_netr_SendToSamType(struct ndr_print *ndr, const char *name, enum netr_SendToSamType r)
    9123             : {
    9124           0 :         const char *val = NULL;
    9125             : 
    9126           0 :         switch (r) {
    9127           0 :                 case SendToSamUpdatePassword: val = "SendToSamUpdatePassword"; break;
    9128           0 :                 case SendToSamResetBadPasswordCount: val = "SendToSamResetBadPasswordCount"; break;
    9129           0 :                 case SendToSamUpdatePasswordForward: val = "SendToSamUpdatePasswordForward"; break;
    9130           0 :                 case SendToSamUpdateLastLogonTimestamp: val = "SendToSamUpdateLastLogonTimestamp"; break;
    9131           0 :                 case SendToSamResetSmartCardPassword: val = "SendToSamResetSmartCardPassword"; break;
    9132             :         }
    9133           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
    9134           0 : }
    9135             : 
    9136          34 : static enum ndr_err_code ndr_push_netr_SendToSamResetBadPasswordCount(struct ndr_push *ndr, int ndr_flags, const struct netr_SendToSamResetBadPasswordCount *r)
    9137             : {
    9138          34 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9139          34 :         if (ndr_flags & NDR_SCALARS) {
    9140          34 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    9141          34 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
    9142          34 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    9143             :         }
    9144          34 :         if (ndr_flags & NDR_BUFFERS) {
    9145             :         }
    9146          34 :         return NDR_ERR_SUCCESS;
    9147             : }
    9148             : 
    9149          34 : static enum ndr_err_code ndr_pull_netr_SendToSamResetBadPasswordCount(struct ndr_pull *ndr, int ndr_flags, struct netr_SendToSamResetBadPasswordCount *r)
    9150             : {
    9151          34 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9152          34 :         if (ndr_flags & NDR_SCALARS) {
    9153          34 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    9154          34 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
    9155          34 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    9156             :         }
    9157          34 :         if (ndr_flags & NDR_BUFFERS) {
    9158             :         }
    9159          34 :         return NDR_ERR_SUCCESS;
    9160             : }
    9161             : 
    9162           0 : _PUBLIC_ void ndr_print_netr_SendToSamResetBadPasswordCount(struct ndr_print *ndr, const char *name, const struct netr_SendToSamResetBadPasswordCount *r)
    9163             : {
    9164           0 :         ndr_print_struct(ndr, name, "netr_SendToSamResetBadPasswordCount");
    9165           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9166           0 :         ndr->depth++;
    9167           0 :         ndr_print_GUID(ndr, "guid", &r->guid);
    9168           0 :         ndr->depth--;
    9169             : }
    9170             : 
    9171          34 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SendToSamMessage(struct ndr_push *ndr, int ndr_flags, const union netr_SendToSamMessage *r)
    9172             : {
    9173             :         uint32_t level;
    9174          34 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9175          34 :         if (ndr_flags & NDR_SCALARS) {
    9176             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    9177          34 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    9178             :                 /* ms_union is always aligned to the largest union arm*/
    9179          34 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    9180          34 :                 switch (level) {
    9181          34 :                         case SendToSamResetBadPasswordCount: {
    9182          34 :                                 NDR_CHECK(ndr_push_netr_SendToSamResetBadPasswordCount(ndr, NDR_SCALARS, &r->reset_bad_password));
    9183          34 :                         break; }
    9184             : 
    9185           0 :                         default: {
    9186           0 :                         break; }
    9187             : 
    9188             :                 }
    9189           0 :         }
    9190          34 :         return NDR_ERR_SUCCESS;
    9191             : }
    9192             : 
    9193          34 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SendToSamMessage(struct ndr_pull *ndr, int ndr_flags, union netr_SendToSamMessage *r)
    9194             : {
    9195             :         uint32_t level;
    9196          34 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9197          34 :         if (ndr_flags & NDR_SCALARS) {
    9198             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    9199          34 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    9200             :                 /* ms_union is always aligned to the largest union arm*/
    9201          34 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    9202          34 :                 switch (level) {
    9203          34 :                         case SendToSamResetBadPasswordCount: {
    9204          34 :                                 NDR_CHECK(ndr_pull_netr_SendToSamResetBadPasswordCount(ndr, NDR_SCALARS, &r->reset_bad_password));
    9205          34 :                         break; }
    9206             : 
    9207           0 :                         default: {
    9208           0 :                         break; }
    9209             : 
    9210             :                 }
    9211           0 :         }
    9212          34 :         return NDR_ERR_SUCCESS;
    9213             : }
    9214             : 
    9215           0 : _PUBLIC_ void ndr_print_netr_SendToSamMessage(struct ndr_print *ndr, const char *name, const union netr_SendToSamMessage *r)
    9216             : {
    9217             :         uint32_t level;
    9218           0 :         level = ndr_print_steal_switch_value(ndr, r);
    9219           0 :         ndr_print_union(ndr, name, level, "netr_SendToSamMessage");
    9220           0 :         switch (level) {
    9221           0 :                 case SendToSamResetBadPasswordCount:
    9222           0 :                         ndr_print_netr_SendToSamResetBadPasswordCount(ndr, "reset_bad_password", &r->reset_bad_password);
    9223           0 :                 break;
    9224             : 
    9225           0 :                 default:
    9226           0 :                 break;
    9227             : 
    9228             :         }
    9229           0 : }
    9230             : 
    9231          34 : _PUBLIC_ enum ndr_err_code ndr_push_netr_SendToSamBase(struct ndr_push *ndr, int ndr_flags, const struct netr_SendToSamBase *r)
    9232             : {
    9233          34 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9234          34 :         if (ndr_flags & NDR_SCALARS) {
    9235          34 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    9236          34 :                 NDR_CHECK(ndr_push_netr_SendToSamType(ndr, NDR_SCALARS, r->message_type));
    9237          34 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->message_size));
    9238             :                 {
    9239             :                         struct ndr_push *_ndr_message;
    9240          34 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_message, 0, r->message_size));
    9241          34 :                         NDR_CHECK(ndr_push_set_switch_value(_ndr_message, &r->message, r->message_type));
    9242          34 :                         NDR_CHECK(ndr_push_netr_SendToSamMessage(_ndr_message, NDR_SCALARS|NDR_BUFFERS, &r->message));
    9243          34 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_message, 0, r->message_size));
    9244             :                 }
    9245          34 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    9246             :         }
    9247          34 :         if (ndr_flags & NDR_BUFFERS) {
    9248             :         }
    9249          34 :         return NDR_ERR_SUCCESS;
    9250             : }
    9251             : 
    9252          34 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_SendToSamBase(struct ndr_pull *ndr, int ndr_flags, struct netr_SendToSamBase *r)
    9253             : {
    9254          34 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9255          34 :         if (ndr_flags & NDR_SCALARS) {
    9256          34 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    9257          34 :                 NDR_CHECK(ndr_pull_netr_SendToSamType(ndr, NDR_SCALARS, &r->message_type));
    9258          34 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->message_size));
    9259             :                 {
    9260             :                         struct ndr_pull *_ndr_message;
    9261          34 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_message, 0, r->message_size));
    9262          34 :                         NDR_CHECK(ndr_pull_set_switch_value(_ndr_message, &r->message, r->message_type));
    9263          34 :                         NDR_CHECK(ndr_pull_netr_SendToSamMessage(_ndr_message, NDR_SCALARS|NDR_BUFFERS, &r->message));
    9264          34 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_message, 0, r->message_size));
    9265             :                 }
    9266          34 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    9267             :         }
    9268          34 :         if (ndr_flags & NDR_BUFFERS) {
    9269             :         }
    9270          34 :         return NDR_ERR_SUCCESS;
    9271             : }
    9272             : 
    9273           0 : static void ndr_print_flags_netr_SendToSamBase(struct ndr_print *ndr, const char *name, int unused, const struct netr_SendToSamBase *r)
    9274             : {
    9275           0 :         ndr_print_netr_SendToSamBase(ndr, name, r);
    9276           0 : }
    9277             : 
    9278           0 : _PUBLIC_ void ndr_print_netr_SendToSamBase(struct ndr_print *ndr, const char *name, const struct netr_SendToSamBase *r)
    9279             : {
    9280           0 :         ndr_print_struct(ndr, name, "netr_SendToSamBase");
    9281           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9282           0 :         ndr->depth++;
    9283           0 :         ndr_print_netr_SendToSamType(ndr, "message_type", r->message_type);
    9284           0 :         ndr_print_uint32(ndr, "message_size", r->message_size);
    9285           0 :         ndr_print_set_switch_value(ndr, &r->message, r->message_type);
    9286           0 :         ndr_print_netr_SendToSamMessage(ndr, "message", &r->message);
    9287           0 :         ndr->depth--;
    9288             : }
    9289             : 
    9290          90 : static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
    9291             : {
    9292             :         uint32_t cntr_sitename_1;
    9293          90 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9294          90 :         if (ndr_flags & NDR_SCALARS) {
    9295          90 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9296          90 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    9297          90 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
    9298          90 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9299             :         }
    9300          90 :         if (ndr_flags & NDR_BUFFERS) {
    9301          90 :                 if (r->sitename) {
    9302          90 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    9303         615 :                         for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
    9304         540 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
    9305             :                         }
    9306         615 :                         for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
    9307         540 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
    9308             :                         }
    9309             :                 }
    9310             :         }
    9311          75 :         return NDR_ERR_SUCCESS;
    9312             : }
    9313             : 
    9314          72 : static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
    9315             : {
    9316             :         uint32_t _ptr_sitename;
    9317          72 :         uint32_t size_sitename_1 = 0;
    9318             :         uint32_t cntr_sitename_1;
    9319          72 :         TALLOC_CTX *_mem_save_sitename_0 = NULL;
    9320          72 :         TALLOC_CTX *_mem_save_sitename_1 = NULL;
    9321          72 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9322          72 :         if (ndr_flags & NDR_SCALARS) {
    9323          72 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9324          72 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    9325          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
    9326          72 :                 if (_ptr_sitename) {
    9327          72 :                         NDR_PULL_ALLOC(ndr, r->sitename);
    9328             :                 } else {
    9329           0 :                         r->sitename = NULL;
    9330             :                 }
    9331          72 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9332             :         }
    9333          72 :         if (ndr_flags & NDR_BUFFERS) {
    9334          72 :                 if (r->sitename) {
    9335          72 :                         _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9336          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
    9337          72 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
    9338          72 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sitename, &size_sitename_1));
    9339          72 :                         NDR_PULL_ALLOC_N(ndr, r->sitename, size_sitename_1);
    9340          72 :                         _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
    9341          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
    9342         504 :                         for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
    9343         432 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
    9344             :                         }
    9345         492 :                         for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
    9346         432 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
    9347             :                         }
    9348          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
    9349          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
    9350             :                 }
    9351          72 :                 if (r->sitename) {
    9352          72 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
    9353             :                 }
    9354         144 :                 for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
    9355             :                 }
    9356             :         }
    9357          60 :         return NDR_ERR_SUCCESS;
    9358             : }
    9359             : 
    9360          36 : _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
    9361             : {
    9362             :         uint32_t cntr_sitename_1;
    9363          36 :         ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
    9364          36 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9365          36 :         ndr->depth++;
    9366          36 :         ndr_print_uint32(ndr, "count", r->count);
    9367          36 :         ndr_print_ptr(ndr, "sitename", r->sitename);
    9368          36 :         ndr->depth++;
    9369          36 :         if (r->sitename) {
    9370          36 :                 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
    9371          36 :                 ndr->depth++;
    9372         252 :                 for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
    9373         216 :                         ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
    9374             :                 }
    9375          36 :                 ndr->depth--;
    9376             :         }
    9377          36 :         ndr->depth--;
    9378          36 :         ndr->depth--;
    9379             : }
    9380             : 
    9381        1728 : static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
    9382             : {
    9383        1728 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9384        1728 :         if (ndr_flags & NDR_SCALARS) {
    9385         864 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9386         864 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
    9387         864 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
    9388         864 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9389             :         }
    9390        1728 :         if (ndr_flags & NDR_BUFFERS) {
    9391         864 :                 if (r->buffer) {
    9392         864 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
    9393         864 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
    9394             :                 }
    9395             :         }
    9396        1440 :         return NDR_ERR_SUCCESS;
    9397             : }
    9398             : 
    9399        1728 : static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
    9400             : {
    9401             :         uint32_t _ptr_buffer;
    9402        1728 :         uint32_t size_buffer_1 = 0;
    9403        1728 :         TALLOC_CTX *_mem_save_buffer_0 = NULL;
    9404        1728 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9405        1728 :         if (ndr_flags & NDR_SCALARS) {
    9406         864 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9407         864 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
    9408         864 :                 if (_ptr_buffer) {
    9409         864 :                         NDR_PULL_ALLOC(ndr, r->buffer);
    9410             :                 } else {
    9411           0 :                         r->buffer = NULL;
    9412             :                 }
    9413         864 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
    9414         864 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9415             :         }
    9416        1728 :         if (ndr_flags & NDR_BUFFERS) {
    9417         864 :                 if (r->buffer) {
    9418         864 :                         _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9419         864 :                         NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
    9420         864 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
    9421         864 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->buffer, &size_buffer_1));
    9422         864 :                         NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
    9423         864 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
    9424         864 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
    9425             :                 }
    9426         864 :                 if (r->buffer) {
    9427         864 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->buffer, r->size));
    9428             :                 }
    9429             :         }
    9430        1440 :         return NDR_ERR_SUCCESS;
    9431             : }
    9432             : 
    9433           0 : _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
    9434             : {
    9435           0 :         ndr_print_struct(ndr, name, "netr_DsRAddress");
    9436           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9437           0 :         ndr->depth++;
    9438           0 :         ndr_print_ptr(ndr, "buffer", r->buffer);
    9439           0 :         ndr->depth++;
    9440           0 :         if (r->buffer) {
    9441           0 :                 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
    9442             :         }
    9443           0 :         ndr->depth--;
    9444           0 :         ndr_print_uint32(ndr, "size", r->size);
    9445           0 :         ndr->depth--;
    9446             : }
    9447             : 
    9448         192 : static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
    9449             : {
    9450         192 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9451         192 :         if (ndr_flags & NDR_SCALARS) {
    9452          96 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9453          96 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
    9454          96 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
    9455          96 :                 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
    9456          96 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
    9457          96 :                 NDR_CHECK(ndr_push_lsa_TrustType(ndr, NDR_SCALARS, r->trust_type));
    9458          96 :                 NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
    9459          96 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
    9460          96 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
    9461          96 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9462             :         }
    9463         192 :         if (ndr_flags & NDR_BUFFERS) {
    9464          96 :                 if (r->netbios_name) {
    9465          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
    9466          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    9467          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
    9468          96 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    9469             :                 }
    9470          96 :                 if (r->dns_name) {
    9471          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
    9472          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    9473          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
    9474          96 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
    9475             :                 }
    9476          96 :                 if (r->sid) {
    9477          96 :                         NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    9478             :                 }
    9479             :         }
    9480         182 :         return NDR_ERR_SUCCESS;
    9481             : }
    9482             : 
    9483         156 : static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
    9484             : {
    9485             :         uint32_t _ptr_netbios_name;
    9486         156 :         uint32_t size_netbios_name_1 = 0;
    9487         156 :         uint32_t length_netbios_name_1 = 0;
    9488         156 :         TALLOC_CTX *_mem_save_netbios_name_0 = NULL;
    9489             :         uint32_t _ptr_dns_name;
    9490         156 :         uint32_t size_dns_name_1 = 0;
    9491         156 :         uint32_t length_dns_name_1 = 0;
    9492         156 :         TALLOC_CTX *_mem_save_dns_name_0 = NULL;
    9493             :         uint32_t _ptr_sid;
    9494         156 :         TALLOC_CTX *_mem_save_sid_0 = NULL;
    9495         156 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9496         156 :         if (ndr_flags & NDR_SCALARS) {
    9497          78 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9498          78 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
    9499          78 :                 if (_ptr_netbios_name) {
    9500          78 :                         NDR_PULL_ALLOC(ndr, r->netbios_name);
    9501             :                 } else {
    9502           0 :                         r->netbios_name = NULL;
    9503             :                 }
    9504          78 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
    9505          78 :                 if (_ptr_dns_name) {
    9506          78 :                         NDR_PULL_ALLOC(ndr, r->dns_name);
    9507             :                 } else {
    9508           0 :                         r->dns_name = NULL;
    9509             :                 }
    9510          78 :                 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
    9511          78 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
    9512          78 :                 NDR_CHECK(ndr_pull_lsa_TrustType(ndr, NDR_SCALARS, &r->trust_type));
    9513          78 :                 NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
    9514          78 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
    9515          78 :                 if (_ptr_sid) {
    9516          78 :                         NDR_PULL_ALLOC(ndr, r->sid);
    9517             :                 } else {
    9518           0 :                         r->sid = NULL;
    9519             :                 }
    9520          78 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
    9521          78 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9522             :         }
    9523         156 :         if (ndr_flags & NDR_BUFFERS) {
    9524          78 :                 if (r->netbios_name) {
    9525          78 :                         _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9526          78 :                         NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
    9527          78 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
    9528          78 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
    9529          78 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->netbios_name, &size_netbios_name_1));
    9530          78 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->netbios_name, &length_netbios_name_1));
    9531          78 :                         if (length_netbios_name_1 > size_netbios_name_1) {
    9532           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
    9533             :                         }
    9534          78 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
    9535          78 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
    9536          78 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
    9537             :                 }
    9538          78 :                 if (r->dns_name) {
    9539          78 :                         _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9540          78 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
    9541          78 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
    9542          78 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
    9543          78 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_name, &size_dns_name_1));
    9544          78 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_name, &length_dns_name_1));
    9545          78 :                         if (length_dns_name_1 > size_dns_name_1) {
    9546           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
    9547             :                         }
    9548          78 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
    9549          78 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
    9550          78 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
    9551             :                 }
    9552          78 :                 if (r->sid) {
    9553          78 :                         _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9554          78 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
    9555          78 :                         NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
    9556          78 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
    9557             :                 }
    9558             :         }
    9559         148 :         return NDR_ERR_SUCCESS;
    9560             : }
    9561             : 
    9562          12 : _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
    9563             : {
    9564          12 :         ndr_print_struct(ndr, name, "netr_DomainTrust");
    9565          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9566          12 :         ndr->depth++;
    9567          12 :         ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
    9568          12 :         ndr->depth++;
    9569          12 :         if (r->netbios_name) {
    9570          12 :                 ndr_print_string(ndr, "netbios_name", r->netbios_name);
    9571             :         }
    9572          12 :         ndr->depth--;
    9573          12 :         ndr_print_ptr(ndr, "dns_name", r->dns_name);
    9574          12 :         ndr->depth++;
    9575          12 :         if (r->dns_name) {
    9576          12 :                 ndr_print_string(ndr, "dns_name", r->dns_name);
    9577             :         }
    9578          12 :         ndr->depth--;
    9579          12 :         ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
    9580          12 :         ndr_print_uint32(ndr, "parent_index", r->parent_index);
    9581          12 :         ndr_print_lsa_TrustType(ndr, "trust_type", r->trust_type);
    9582          12 :         ndr_print_lsa_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
    9583          12 :         ndr_print_ptr(ndr, "sid", r->sid);
    9584          12 :         ndr->depth++;
    9585          12 :         if (r->sid) {
    9586          12 :                 ndr_print_dom_sid2(ndr, "sid", r->sid);
    9587             :         }
    9588          12 :         ndr->depth--;
    9589          12 :         ndr_print_GUID(ndr, "guid", &r->guid);
    9590          12 :         ndr->depth--;
    9591             : }
    9592             : 
    9593          60 : static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
    9594             : {
    9595             :         uint32_t cntr_array_1;
    9596          60 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9597          60 :         if (ndr_flags & NDR_SCALARS) {
    9598          60 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9599          60 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    9600          60 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
    9601          60 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9602             :         }
    9603          60 :         if (ndr_flags & NDR_BUFFERS) {
    9604          60 :                 if (r->array) {
    9605          60 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    9606         151 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    9607          96 :                                 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    9608             :                         }
    9609         151 :                         for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    9610          96 :                                 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    9611             :                         }
    9612             :                 }
    9613             :         }
    9614          55 :         return NDR_ERR_SUCCESS;
    9615             : }
    9616             : 
    9617          50 : static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
    9618             : {
    9619             :         uint32_t _ptr_array;
    9620          50 :         uint32_t size_array_1 = 0;
    9621             :         uint32_t cntr_array_1;
    9622          50 :         TALLOC_CTX *_mem_save_array_0 = NULL;
    9623          50 :         TALLOC_CTX *_mem_save_array_1 = NULL;
    9624          50 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9625          50 :         if (ndr_flags & NDR_SCALARS) {
    9626          50 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9627          50 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    9628          50 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
    9629          50 :                 if (_ptr_array) {
    9630          50 :                         NDR_PULL_ALLOC(ndr, r->array);
    9631             :                 } else {
    9632           0 :                         r->array = NULL;
    9633             :                 }
    9634          50 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9635             :         }
    9636          50 :         if (ndr_flags & NDR_BUFFERS) {
    9637          50 :                 if (r->array) {
    9638          50 :                         _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9639          50 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    9640          50 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
    9641          50 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->array, &size_array_1));
    9642          50 :                         NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
    9643          50 :                         _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
    9644          50 :                         NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
    9645         128 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    9646          78 :                                 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
    9647             :                         }
    9648         124 :                         for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    9649          78 :                                 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
    9650             :                         }
    9651          50 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
    9652          50 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
    9653             :                 }
    9654          50 :                 if (r->array) {
    9655          50 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
    9656             :                 }
    9657          79 :                 for (cntr_array_1 = 0; cntr_array_1 < (size_array_1); cntr_array_1++) {
    9658             :                 }
    9659             :         }
    9660          46 :         return NDR_ERR_SUCCESS;
    9661             : }
    9662             : 
    9663          12 : _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
    9664             : {
    9665             :         uint32_t cntr_array_1;
    9666          12 :         ndr_print_struct(ndr, name, "netr_DomainTrustList");
    9667          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9668          12 :         ndr->depth++;
    9669          12 :         ndr_print_uint32(ndr, "count", r->count);
    9670          12 :         ndr_print_ptr(ndr, "array", r->array);
    9671          12 :         ndr->depth++;
    9672          12 :         if (r->array) {
    9673          12 :                 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
    9674          12 :                 ndr->depth++;
    9675          24 :                 for (cntr_array_1 = 0; cntr_array_1 < (r->count); cntr_array_1++) {
    9676          12 :                         ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
    9677             :                 }
    9678          12 :                 ndr->depth--;
    9679             :         }
    9680          12 :         ndr->depth--;
    9681          12 :         ndr->depth--;
    9682             : }
    9683             : 
    9684          90 : static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
    9685             : {
    9686             :         uint32_t cntr_sitename_1;
    9687             :         uint32_t cntr_subnetname_1;
    9688          90 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9689          90 :         if (ndr_flags & NDR_SCALARS) {
    9690          90 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9691          90 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    9692          90 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
    9693          90 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
    9694          90 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9695             :         }
    9696          90 :         if (ndr_flags & NDR_BUFFERS) {
    9697          90 :                 if (r->sitename) {
    9698          90 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    9699         615 :                         for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
    9700         540 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
    9701             :                         }
    9702         615 :                         for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
    9703         540 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
    9704             :                         }
    9705             :                 }
    9706          90 :                 if (r->subnetname) {
    9707          90 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    9708         615 :                         for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (r->count); cntr_subnetname_1++) {
    9709         540 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
    9710             :                         }
    9711         615 :                         for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (r->count); cntr_subnetname_1++) {
    9712         540 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
    9713             :                         }
    9714             :                 }
    9715             :         }
    9716          75 :         return NDR_ERR_SUCCESS;
    9717             : }
    9718             : 
    9719          72 : static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
    9720             : {
    9721             :         uint32_t _ptr_sitename;
    9722          72 :         uint32_t size_sitename_1 = 0;
    9723             :         uint32_t cntr_sitename_1;
    9724          72 :         TALLOC_CTX *_mem_save_sitename_0 = NULL;
    9725          72 :         TALLOC_CTX *_mem_save_sitename_1 = NULL;
    9726             :         uint32_t _ptr_subnetname;
    9727          72 :         uint32_t size_subnetname_1 = 0;
    9728             :         uint32_t cntr_subnetname_1;
    9729          72 :         TALLOC_CTX *_mem_save_subnetname_0 = NULL;
    9730          72 :         TALLOC_CTX *_mem_save_subnetname_1 = NULL;
    9731          72 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9732          72 :         if (ndr_flags & NDR_SCALARS) {
    9733          72 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9734          72 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    9735          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
    9736          72 :                 if (_ptr_sitename) {
    9737          72 :                         NDR_PULL_ALLOC(ndr, r->sitename);
    9738             :                 } else {
    9739           0 :                         r->sitename = NULL;
    9740             :                 }
    9741          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
    9742          72 :                 if (_ptr_subnetname) {
    9743          72 :                         NDR_PULL_ALLOC(ndr, r->subnetname);
    9744             :                 } else {
    9745           0 :                         r->subnetname = NULL;
    9746             :                 }
    9747          72 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9748             :         }
    9749          72 :         if (ndr_flags & NDR_BUFFERS) {
    9750          72 :                 if (r->sitename) {
    9751          72 :                         _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9752          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
    9753          72 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
    9754          72 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sitename, &size_sitename_1));
    9755          72 :                         NDR_PULL_ALLOC_N(ndr, r->sitename, size_sitename_1);
    9756          72 :                         _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
    9757          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
    9758         504 :                         for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
    9759         432 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
    9760             :                         }
    9761         492 :                         for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
    9762         432 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
    9763             :                         }
    9764          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
    9765          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
    9766             :                 }
    9767          72 :                 if (r->subnetname) {
    9768          72 :                         _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9769          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
    9770          72 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
    9771          72 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->subnetname, &size_subnetname_1));
    9772          72 :                         NDR_PULL_ALLOC_N(ndr, r->subnetname, size_subnetname_1);
    9773          72 :                         _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
    9774          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
    9775         504 :                         for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (size_subnetname_1); cntr_subnetname_1++) {
    9776         432 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
    9777             :                         }
    9778         492 :                         for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (size_subnetname_1); cntr_subnetname_1++) {
    9779         432 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
    9780             :                         }
    9781          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
    9782          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
    9783             :                 }
    9784          72 :                 if (r->sitename) {
    9785          72 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
    9786             :                 }
    9787         144 :                 for (cntr_sitename_1 = 0; cntr_sitename_1 < (size_sitename_1); cntr_sitename_1++) {
    9788             :                 }
    9789          72 :                 if (r->subnetname) {
    9790          72 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
    9791             :                 }
    9792         144 :                 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (size_subnetname_1); cntr_subnetname_1++) {
    9793             :                 }
    9794             :         }
    9795          60 :         return NDR_ERR_SUCCESS;
    9796             : }
    9797             : 
    9798          36 : _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
    9799             : {
    9800             :         uint32_t cntr_sitename_1;
    9801             :         uint32_t cntr_subnetname_1;
    9802          36 :         ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
    9803          36 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9804          36 :         ndr->depth++;
    9805          36 :         ndr_print_uint32(ndr, "count", r->count);
    9806          36 :         ndr_print_ptr(ndr, "sitename", r->sitename);
    9807          36 :         ndr->depth++;
    9808          36 :         if (r->sitename) {
    9809          36 :                 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
    9810          36 :                 ndr->depth++;
    9811         252 :                 for (cntr_sitename_1 = 0; cntr_sitename_1 < (r->count); cntr_sitename_1++) {
    9812         216 :                         ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
    9813             :                 }
    9814          36 :                 ndr->depth--;
    9815             :         }
    9816          36 :         ndr->depth--;
    9817          36 :         ndr_print_ptr(ndr, "subnetname", r->subnetname);
    9818          36 :         ndr->depth++;
    9819          36 :         if (r->subnetname) {
    9820          36 :                 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
    9821          36 :                 ndr->depth++;
    9822         252 :                 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < (r->count); cntr_subnetname_1++) {
    9823         216 :                         ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
    9824             :                 }
    9825          36 :                 ndr->depth--;
    9826             :         }
    9827          36 :         ndr->depth--;
    9828          36 :         ndr->depth--;
    9829             : }
    9830             : 
    9831          35 : static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
    9832             : {
    9833             :         uint32_t cntr_sites_1;
    9834          35 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9835          35 :         if (ndr_flags & NDR_SCALARS) {
    9836          35 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9837          35 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
    9838          35 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
    9839          35 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9840             :         }
    9841          35 :         if (ndr_flags & NDR_BUFFERS) {
    9842          35 :                 if (r->sites) {
    9843          35 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sites));
    9844          65 :                         for (cntr_sites_1 = 0; cntr_sites_1 < (r->num_sites); cntr_sites_1++) {
    9845          35 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
    9846             :                         }
    9847          65 :                         for (cntr_sites_1 = 0; cntr_sites_1 < (r->num_sites); cntr_sites_1++) {
    9848          35 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
    9849             :                         }
    9850             :                 }
    9851             :         }
    9852          30 :         return NDR_ERR_SUCCESS;
    9853             : }
    9854             : 
    9855          29 : static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
    9856             : {
    9857             :         uint32_t _ptr_sites;
    9858          29 :         uint32_t size_sites_1 = 0;
    9859             :         uint32_t cntr_sites_1;
    9860          29 :         TALLOC_CTX *_mem_save_sites_0 = NULL;
    9861          29 :         TALLOC_CTX *_mem_save_sites_1 = NULL;
    9862          29 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9863          29 :         if (ndr_flags & NDR_SCALARS) {
    9864          29 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9865          29 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
    9866          29 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
    9867          29 :                 if (_ptr_sites) {
    9868          29 :                         NDR_PULL_ALLOC(ndr, r->sites);
    9869             :                 } else {
    9870           0 :                         r->sites = NULL;
    9871             :                 }
    9872          29 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    9873             :         }
    9874          29 :         if (ndr_flags & NDR_BUFFERS) {
    9875          29 :                 if (r->sites) {
    9876          29 :                         _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
    9877          29 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
    9878          29 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
    9879          29 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sites, &size_sites_1));
    9880          29 :                         NDR_PULL_ALLOC_N(ndr, r->sites, size_sites_1);
    9881          29 :                         _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
    9882          29 :                         NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
    9883          58 :                         for (cntr_sites_1 = 0; cntr_sites_1 < (size_sites_1); cntr_sites_1++) {
    9884          29 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
    9885             :                         }
    9886          54 :                         for (cntr_sites_1 = 0; cntr_sites_1 < (size_sites_1); cntr_sites_1++) {
    9887          29 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
    9888             :                         }
    9889          29 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
    9890          29 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
    9891             :                 }
    9892          29 :                 if (r->sites) {
    9893          29 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
    9894             :                 }
    9895          34 :                 for (cntr_sites_1 = 0; cntr_sites_1 < (size_sites_1); cntr_sites_1++) {
    9896             :                 }
    9897             :         }
    9898          25 :         return NDR_ERR_SUCCESS;
    9899             : }
    9900             : 
    9901          12 : _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
    9902             : {
    9903             :         uint32_t cntr_sites_1;
    9904          12 :         ndr_print_struct(ndr, name, "DcSitesCtr");
    9905          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
    9906          12 :         ndr->depth++;
    9907          12 :         ndr_print_uint32(ndr, "num_sites", r->num_sites);
    9908          12 :         ndr_print_ptr(ndr, "sites", r->sites);
    9909          12 :         ndr->depth++;
    9910          12 :         if (r->sites) {
    9911          12 :                 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
    9912          12 :                 ndr->depth++;
    9913          24 :                 for (cntr_sites_1 = 0; cntr_sites_1 < (r->num_sites); cntr_sites_1++) {
    9914          12 :                         ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
    9915             :                 }
    9916          12 :                 ndr->depth--;
    9917             :         }
    9918          12 :         ndr->depth--;
    9919          12 :         ndr->depth--;
    9920             : }
    9921             : 
    9922       17190 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonSamLogon_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
    9923             : {
    9924       17190 :         NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
    9925       17190 :         return NDR_ERR_SUCCESS;
    9926             : }
    9927             : 
    9928       16710 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonSamLogon_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
    9929             : {
    9930             :         uint32_t v;
    9931       16710 :         NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
    9932       16710 :         *r = v;
    9933       16710 :         return NDR_ERR_SUCCESS;
    9934             : }
    9935             : 
    9936         960 : _PUBLIC_ void ndr_print_netr_LogonSamLogon_flags(struct ndr_print *ndr, const char *name, uint32_t r)
    9937             : {
    9938         960 :         ndr_print_uint32(ndr, name, r);
    9939         960 :         ndr->depth++;
    9940         960 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SAMLOGON_FLAG_PASS_TO_FOREST_ROOT", NETLOGON_SAMLOGON_FLAG_PASS_TO_FOREST_ROOT, r);
    9941         960 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SAMLOGON_FLAG_PASS_CROSS_FOREST_HOP", NETLOGON_SAMLOGON_FLAG_PASS_CROSS_FOREST_HOP, r);
    9942         960 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SAMLOGON_FLAG_RODC_TO_OTHER_DOMAIN", NETLOGON_SAMLOGON_FLAG_RODC_TO_OTHER_DOMAIN, r);
    9943         960 :         ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SAMLOGON_FLAG_RODC_NTLM_REQUEST", NETLOGON_SAMLOGON_FLAG_RODC_NTLM_REQUEST, r);
    9944         960 :         ndr->depth--;
    9945         960 : }
    9946             : 
    9947          52 : static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
    9948             : {
    9949             :         uint32_t cntr_data_1;
    9950             :         uint32_t cntr_entries_1;
    9951          52 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    9952          52 :         if (ndr_flags & NDR_SCALARS) {
    9953          52 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    9954          52 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
    9955          52 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
    9956          52 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
    9957          52 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
    9958          52 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    9959             :         }
    9960          52 :         if (ndr_flags & NDR_BUFFERS) {
    9961          52 :                 if (r->data) {
    9962          52 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    9963         104 :                         for (cntr_data_1 = 0; cntr_data_1 < (r->count); cntr_data_1++) {
    9964          52 :                                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
    9965             :                         }
    9966             :                 }
    9967          52 :                 if (r->entries) {
    9968           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
    9969           0 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    9970           0 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
    9971             :                         }
    9972           0 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
    9973           0 :                                 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
    9974             :                         }
    9975             :                 }
    9976             :         }
    9977          52 :         return NDR_ERR_SUCCESS;
    9978             : }
    9979             : 
    9980           4 : static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
    9981             : {
    9982             :         uint32_t _ptr_data;
    9983           4 :         uint32_t size_data_1 = 0;
    9984             :         uint32_t cntr_data_1;
    9985           4 :         TALLOC_CTX *_mem_save_data_0 = NULL;
    9986           4 :         TALLOC_CTX *_mem_save_data_1 = NULL;
    9987             :         uint32_t _ptr_entries;
    9988           4 :         uint32_t size_entries_1 = 0;
    9989             :         uint32_t cntr_entries_1;
    9990           4 :         TALLOC_CTX *_mem_save_entries_0 = NULL;
    9991           4 :         TALLOC_CTX *_mem_save_entries_1 = NULL;
    9992           4 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    9993           4 :         if (ndr_flags & NDR_SCALARS) {
    9994           4 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    9995           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
    9996           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
    9997           4 :                 if (_ptr_data) {
    9998           4 :                         NDR_PULL_ALLOC(ndr, r->data);
    9999             :                 } else {
   10000           0 :                         r->data = NULL;
   10001             :                 }
   10002           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
   10003           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
   10004           4 :                 if (_ptr_entries) {
   10005           0 :                         NDR_PULL_ALLOC(ndr, r->entries);
   10006             :                 } else {
   10007           4 :                         r->entries = NULL;
   10008             :                 }
   10009           4 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   10010             :         }
   10011           4 :         if (ndr_flags & NDR_BUFFERS) {
   10012           4 :                 if (r->data) {
   10013           4 :                         _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10014           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
   10015           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
   10016           4 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->data, &size_data_1));
   10017           4 :                         NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
   10018           4 :                         _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10019           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
   10020           8 :                         for (cntr_data_1 = 0; cntr_data_1 < (size_data_1); cntr_data_1++) {
   10021           4 :                                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
   10022             :                         }
   10023           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
   10024           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
   10025             :                 }
   10026           4 :                 if (r->entries) {
   10027           0 :                         _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10028           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
   10029           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
   10030           0 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->entries, &size_entries_1));
   10031           0 :                         NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
   10032           0 :                         _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10033           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
   10034           0 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
   10035           0 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
   10036             :                         }
   10037           0 :                         for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
   10038           0 :                                 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
   10039             :                         }
   10040           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
   10041           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
   10042             :                 }
   10043           4 :                 if (r->data) {
   10044           4 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->data, r->count));
   10045             :                 }
   10046           4 :                 if (r->entries) {
   10047           0 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
   10048             :                 }
   10049           4 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (size_entries_1); cntr_entries_1++) {
   10050             :                 }
   10051             :         }
   10052           4 :         return NDR_ERR_SUCCESS;
   10053             : }
   10054             : 
   10055           2 : _PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
   10056             : {
   10057             :         uint32_t cntr_data_1;
   10058             :         uint32_t cntr_entries_1;
   10059           2 :         ndr_print_struct(ndr, name, "netr_TrustInfo");
   10060           2 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10061           2 :         ndr->depth++;
   10062           2 :         ndr_print_uint32(ndr, "count", r->count);
   10063           2 :         ndr_print_ptr(ndr, "data", r->data);
   10064           2 :         ndr->depth++;
   10065           2 :         if (r->data) {
   10066           2 :                 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
   10067           2 :                 ndr->depth++;
   10068           4 :                 for (cntr_data_1 = 0; cntr_data_1 < (r->count); cntr_data_1++) {
   10069           2 :                         ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
   10070             :                 }
   10071           2 :                 ndr->depth--;
   10072             :         }
   10073           2 :         ndr->depth--;
   10074           2 :         ndr_print_uint32(ndr, "entry_count", r->entry_count);
   10075           2 :         ndr_print_ptr(ndr, "entries", r->entries);
   10076           2 :         ndr->depth++;
   10077           2 :         if (r->entries) {
   10078           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
   10079           0 :                 ndr->depth++;
   10080           0 :                 for (cntr_entries_1 = 0; cntr_entries_1 < (r->count); cntr_entries_1++) {
   10081           0 :                         ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
   10082             :                 }
   10083           0 :                 ndr->depth--;
   10084             :         }
   10085           2 :         ndr->depth--;
   10086           2 :         ndr->depth--;
   10087             : }
   10088             : 
   10089          24 : static enum ndr_err_code ndr_push_netr_DnsType(struct ndr_push *ndr, int ndr_flags, enum netr_DnsType r)
   10090             : {
   10091          24 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
   10092          24 :         return NDR_ERR_SUCCESS;
   10093             : }
   10094             : 
   10095          24 : static enum ndr_err_code ndr_pull_netr_DnsType(struct ndr_pull *ndr, int ndr_flags, enum netr_DnsType *r)
   10096             : {
   10097             :         uint16_t v;
   10098          24 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
   10099          24 :         *r = v;
   10100          24 :         return NDR_ERR_SUCCESS;
   10101             : }
   10102             : 
   10103           0 : _PUBLIC_ void ndr_print_netr_DnsType(struct ndr_print *ndr, const char *name, enum netr_DnsType r)
   10104             : {
   10105           0 :         const char *val = NULL;
   10106             : 
   10107           0 :         switch (r) {
   10108           0 :                 case NlDnsLdapAtSite: val = "NlDnsLdapAtSite"; break;
   10109           0 :                 case NlDnsGcAtSite: val = "NlDnsGcAtSite"; break;
   10110           0 :                 case NlDnsDsaCname: val = "NlDnsDsaCname"; break;
   10111           0 :                 case NlDnsKdcAtSite: val = "NlDnsKdcAtSite"; break;
   10112           0 :                 case NlDnsDcAtSite: val = "NlDnsDcAtSite"; break;
   10113           0 :                 case NlDnsRfc1510KdcAtSite: val = "NlDnsRfc1510KdcAtSite"; break;
   10114           0 :                 case NlDnsGenericGcAtSite: val = "NlDnsGenericGcAtSite"; break;
   10115             :         }
   10116           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
   10117           0 : }
   10118             : 
   10119          24 : static enum ndr_err_code ndr_push_netr_DnsDomainInfoType(struct ndr_push *ndr, int ndr_flags, enum netr_DnsDomainInfoType r)
   10120             : {
   10121          24 :         NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
   10122          24 :         return NDR_ERR_SUCCESS;
   10123             : }
   10124             : 
   10125          24 : static enum ndr_err_code ndr_pull_netr_DnsDomainInfoType(struct ndr_pull *ndr, int ndr_flags, enum netr_DnsDomainInfoType *r)
   10126             : {
   10127             :         uint16_t v;
   10128          24 :         NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
   10129          24 :         *r = v;
   10130          24 :         return NDR_ERR_SUCCESS;
   10131             : }
   10132             : 
   10133           0 : _PUBLIC_ void ndr_print_netr_DnsDomainInfoType(struct ndr_print *ndr, const char *name, enum netr_DnsDomainInfoType r)
   10134             : {
   10135           0 :         const char *val = NULL;
   10136             : 
   10137           0 :         switch (r) {
   10138           0 :                 case NlDnsInfoTypeNone: val = "NlDnsInfoTypeNone"; break;
   10139           0 :                 case NlDnsDomainName: val = "NlDnsDomainName"; break;
   10140           0 :                 case NlDnsDomainNameAlias: val = "NlDnsDomainNameAlias"; break;
   10141           0 :                 case NlDnsForestName: val = "NlDnsForestName"; break;
   10142           0 :                 case NlDnsForestNameAlias: val = "NlDnsForestNameAlias"; break;
   10143           0 :                 case NlDnsNdncDomainName: val = "NlDnsNdncDomainName"; break;
   10144           0 :                 case NlDnsRecordName: val = "NlDnsRecordName"; break;
   10145             :         }
   10146           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
   10147           0 : }
   10148             : 
   10149          48 : static enum ndr_err_code ndr_push_NL_DNS_NAME_INFO(struct ndr_push *ndr, int ndr_flags, const struct NL_DNS_NAME_INFO *r)
   10150             : {
   10151          48 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10152          48 :         if (ndr_flags & NDR_SCALARS) {
   10153          24 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   10154          24 :                 NDR_CHECK(ndr_push_netr_DnsType(ndr, NDR_SCALARS, r->type));
   10155          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_info));
   10156          24 :                 NDR_CHECK(ndr_push_netr_DnsDomainInfoType(ndr, NDR_SCALARS, r->dns_domain_info_type));
   10157          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
   10158          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->weight));
   10159          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port));
   10160          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dns_register));
   10161          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status));
   10162          24 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   10163             :         }
   10164          48 :         if (ndr_flags & NDR_BUFFERS) {
   10165          24 :                 if (r->dns_domain_info) {
   10166           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_info, CH_UTF16)));
   10167           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10168           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_info, CH_UTF16)));
   10169           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_domain_info, ndr_charset_length(r->dns_domain_info, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10170             :                 }
   10171             :         }
   10172          48 :         return NDR_ERR_SUCCESS;
   10173             : }
   10174             : 
   10175          48 : static enum ndr_err_code ndr_pull_NL_DNS_NAME_INFO(struct ndr_pull *ndr, int ndr_flags, struct NL_DNS_NAME_INFO *r)
   10176             : {
   10177             :         uint32_t _ptr_dns_domain_info;
   10178          48 :         uint32_t size_dns_domain_info_1 = 0;
   10179          48 :         uint32_t length_dns_domain_info_1 = 0;
   10180          48 :         TALLOC_CTX *_mem_save_dns_domain_info_0 = NULL;
   10181          48 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10182          48 :         if (ndr_flags & NDR_SCALARS) {
   10183          24 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   10184          24 :                 NDR_CHECK(ndr_pull_netr_DnsType(ndr, NDR_SCALARS, &r->type));
   10185          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_info));
   10186          24 :                 if (_ptr_dns_domain_info) {
   10187           0 :                         NDR_PULL_ALLOC(ndr, r->dns_domain_info);
   10188             :                 } else {
   10189          24 :                         r->dns_domain_info = NULL;
   10190             :                 }
   10191          24 :                 NDR_CHECK(ndr_pull_netr_DnsDomainInfoType(ndr, NDR_SCALARS, &r->dns_domain_info_type));
   10192          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
   10193          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->weight));
   10194          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port));
   10195          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dns_register));
   10196          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status));
   10197          24 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   10198             :         }
   10199          48 :         if (ndr_flags & NDR_BUFFERS) {
   10200          24 :                 if (r->dns_domain_info) {
   10201           0 :                         _mem_save_dns_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10202           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_info, 0);
   10203           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_info));
   10204           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_info));
   10205           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->dns_domain_info, &size_dns_domain_info_1));
   10206           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->dns_domain_info, &length_dns_domain_info_1));
   10207           0 :                         if (length_dns_domain_info_1 > size_dns_domain_info_1) {
   10208           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_domain_info_1, length_dns_domain_info_1);
   10209             :                         }
   10210           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_domain_info_1, sizeof(uint16_t)));
   10211           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_info, length_dns_domain_info_1, sizeof(uint16_t), CH_UTF16));
   10212           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_info_0, 0);
   10213             :                 }
   10214             :         }
   10215          48 :         return NDR_ERR_SUCCESS;
   10216             : }
   10217             : 
   10218           0 : _PUBLIC_ void ndr_print_NL_DNS_NAME_INFO(struct ndr_print *ndr, const char *name, const struct NL_DNS_NAME_INFO *r)
   10219             : {
   10220           0 :         ndr_print_struct(ndr, name, "NL_DNS_NAME_INFO");
   10221           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10222           0 :         ndr->depth++;
   10223           0 :         ndr_print_netr_DnsType(ndr, "type", r->type);
   10224           0 :         ndr_print_ptr(ndr, "dns_domain_info", r->dns_domain_info);
   10225           0 :         ndr->depth++;
   10226           0 :         if (r->dns_domain_info) {
   10227           0 :                 ndr_print_string(ndr, "dns_domain_info", r->dns_domain_info);
   10228             :         }
   10229           0 :         ndr->depth--;
   10230           0 :         ndr_print_netr_DnsDomainInfoType(ndr, "dns_domain_info_type", r->dns_domain_info_type);
   10231           0 :         ndr_print_uint32(ndr, "priority", r->priority);
   10232           0 :         ndr_print_uint32(ndr, "weight", r->weight);
   10233           0 :         ndr_print_uint32(ndr, "port", r->port);
   10234           0 :         ndr_print_uint32(ndr, "dns_register", r->dns_register);
   10235           0 :         ndr_print_uint32(ndr, "status", r->status);
   10236           0 :         ndr->depth--;
   10237             : }
   10238             : 
   10239          24 : _PUBLIC_ enum ndr_err_code ndr_push_NL_DNS_NAME_INFO_ARRAY(struct ndr_push *ndr, int ndr_flags, const struct NL_DNS_NAME_INFO_ARRAY *r)
   10240             : {
   10241             :         uint32_t cntr_names_1;
   10242          24 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
   10243          24 :         if (ndr_flags & NDR_SCALARS) {
   10244          24 :                 NDR_CHECK(ndr_push_align(ndr, 5));
   10245          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
   10246          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
   10247          24 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
   10248             :         }
   10249          24 :         if (ndr_flags & NDR_BUFFERS) {
   10250          24 :                 if (r->names) {
   10251          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
   10252          48 :                         for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
   10253          24 :                                 NDR_CHECK(ndr_push_NL_DNS_NAME_INFO(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
   10254             :                         }
   10255          48 :                         for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
   10256          24 :                                 NDR_CHECK(ndr_push_NL_DNS_NAME_INFO(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
   10257             :                         }
   10258             :                 }
   10259             :         }
   10260          24 :         return NDR_ERR_SUCCESS;
   10261             : }
   10262             : 
   10263          24 : _PUBLIC_ enum ndr_err_code ndr_pull_NL_DNS_NAME_INFO_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct NL_DNS_NAME_INFO_ARRAY *r)
   10264             : {
   10265             :         uint32_t _ptr_names;
   10266          24 :         uint32_t size_names_1 = 0;
   10267             :         uint32_t cntr_names_1;
   10268          24 :         TALLOC_CTX *_mem_save_names_0 = NULL;
   10269          24 :         TALLOC_CTX *_mem_save_names_1 = NULL;
   10270          24 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
   10271          24 :         if (ndr_flags & NDR_SCALARS) {
   10272          24 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
   10273          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
   10274          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
   10275          24 :                 if (_ptr_names) {
   10276          24 :                         NDR_PULL_ALLOC(ndr, r->names);
   10277             :                 } else {
   10278           0 :                         r->names = NULL;
   10279             :                 }
   10280          24 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
   10281             :         }
   10282          24 :         if (ndr_flags & NDR_BUFFERS) {
   10283          24 :                 if (r->names) {
   10284          24 :                         _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10285          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
   10286          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
   10287          24 :                         NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->names, &size_names_1));
   10288          24 :                         NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
   10289          24 :                         _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10290          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
   10291          48 :                         for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
   10292          24 :                                 NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
   10293             :                         }
   10294          48 :                         for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
   10295          24 :                                 NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
   10296             :                         }
   10297          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
   10298          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
   10299             :                 }
   10300          24 :                 if (r->names) {
   10301          24 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
   10302             :                 }
   10303          24 :                 for (cntr_names_1 = 0; cntr_names_1 < (size_names_1); cntr_names_1++) {
   10304             :                 }
   10305             :         }
   10306          24 :         return NDR_ERR_SUCCESS;
   10307             : }
   10308             : 
   10309           0 : static void ndr_print_flags_NL_DNS_NAME_INFO_ARRAY(struct ndr_print *ndr, const char *name, int unused, const struct NL_DNS_NAME_INFO_ARRAY *r)
   10310             : {
   10311           0 :         ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, name, r);
   10312           0 : }
   10313             : 
   10314           0 : _PUBLIC_ void ndr_print_NL_DNS_NAME_INFO_ARRAY(struct ndr_print *ndr, const char *name, const struct NL_DNS_NAME_INFO_ARRAY *r)
   10315             : {
   10316             :         uint32_t cntr_names_1;
   10317           0 :         ndr_print_struct(ndr, name, "NL_DNS_NAME_INFO_ARRAY");
   10318           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10319           0 :         ndr->depth++;
   10320           0 :         ndr_print_uint32(ndr, "count", r->count);
   10321           0 :         ndr_print_ptr(ndr, "names", r->names);
   10322           0 :         ndr->depth++;
   10323           0 :         if (r->names) {
   10324           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
   10325           0 :                 ndr->depth++;
   10326           0 :                 for (cntr_names_1 = 0; cntr_names_1 < (r->count); cntr_names_1++) {
   10327           0 :                         ndr_print_NL_DNS_NAME_INFO(ndr, "names", &r->names[cntr_names_1]);
   10328             :                 }
   10329           0 :                 ndr->depth--;
   10330             :         }
   10331           0 :         ndr->depth--;
   10332           0 :         ndr->depth--;
   10333             : }
   10334             : 
   10335          24 : static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
   10336             : {
   10337          24 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10338          24 :         if (flags & NDR_IN) {
   10339          24 :                 if (r->in.account_name == NULL) {
   10340           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10341             :                 }
   10342          24 :                 if (r->in.workstation == NULL) {
   10343           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10344             :                 }
   10345          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   10346          24 :                 if (r->in.server_name) {
   10347           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   10348           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10349           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   10350           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10351             :                 }
   10352          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   10353          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10354          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   10355          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10356          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
   10357          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10358          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
   10359          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10360             :         }
   10361          24 :         if (flags & NDR_OUT) {
   10362           0 :                 if (r->out.info == NULL) {
   10363           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10364             :                 }
   10365           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
   10366           0 :                 if (*r->out.info) {
   10367           0 :                         NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   10368             :                 }
   10369           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   10370             :         }
   10371          20 :         return NDR_ERR_SUCCESS;
   10372             : }
   10373             : 
   10374          24 : static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
   10375             : {
   10376             :         uint32_t _ptr_server_name;
   10377          24 :         uint32_t size_server_name_1 = 0;
   10378          24 :         uint32_t length_server_name_1 = 0;
   10379          24 :         uint32_t size_account_name_1 = 0;
   10380          24 :         uint32_t length_account_name_1 = 0;
   10381          24 :         uint32_t size_workstation_1 = 0;
   10382          24 :         uint32_t length_workstation_1 = 0;
   10383             :         uint32_t _ptr_info;
   10384          24 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   10385          24 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   10386          24 :         TALLOC_CTX *_mem_save_info_1 = NULL;
   10387          24 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10388          24 :         if (flags & NDR_IN) {
   10389          24 :                 NDR_ZERO_STRUCT(r->out);
   10390             : 
   10391          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   10392          24 :                 if (_ptr_server_name) {
   10393           0 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   10394             :                 } else {
   10395          24 :                         r->in.server_name = NULL;
   10396             :                 }
   10397          24 :                 if (r->in.server_name) {
   10398           0 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10399           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   10400           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   10401           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   10402           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   10403           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   10404           0 :                         if (length_server_name_1 > size_server_name_1) {
   10405           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   10406             :                         }
   10407           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   10408           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   10409           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   10410             :                 }
   10411          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   10412          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   10413          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   10414          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   10415          24 :                 if (length_account_name_1 > size_account_name_1) {
   10416           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   10417             :                 }
   10418          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   10419          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   10420          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
   10421          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
   10422          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.workstation, &size_workstation_1));
   10423          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.workstation, &length_workstation_1));
   10424          24 :                 if (length_workstation_1 > size_workstation_1) {
   10425           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_1, length_workstation_1);
   10426             :                 }
   10427          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_1, sizeof(uint16_t)));
   10428          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_1, sizeof(uint16_t), CH_UTF16));
   10429          24 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   10430          24 :                 NDR_ZERO_STRUCTP(r->out.info);
   10431             :         }
   10432          24 :         if (flags & NDR_OUT) {
   10433             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10434             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10435           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10436           0 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   10437             :                 }
   10438           0 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10439           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   10440           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
   10441           0 :                 if (_ptr_info) {
   10442           0 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
   10443             :                 } else {
   10444           0 :                         *r->out.info = NULL;
   10445             :                 }
   10446           0 :                 if (*r->out.info) {
   10447           0 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   10448           0 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
   10449           0 :                         NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   10450           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
   10451             :                 }
   10452           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   10453           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   10454             :         }
   10455          20 :         return NDR_ERR_SUCCESS;
   10456             : }
   10457             : 
   10458           0 : _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
   10459             : {
   10460           0 :         ndr_print_struct(ndr, name, "netr_LogonUasLogon");
   10461           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10462           0 :         ndr->depth++;
   10463           0 :         if (flags & NDR_SET_VALUES) {
   10464           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10465             :         }
   10466           0 :         if (flags & NDR_IN) {
   10467           0 :                 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
   10468           0 :                 ndr->depth++;
   10469           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   10470           0 :                 ndr->depth++;
   10471           0 :                 if (r->in.server_name) {
   10472           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   10473             :                 }
   10474           0 :                 ndr->depth--;
   10475           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   10476           0 :                 ndr->depth++;
   10477           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   10478           0 :                 ndr->depth--;
   10479           0 :                 ndr_print_ptr(ndr, "workstation", r->in.workstation);
   10480           0 :                 ndr->depth++;
   10481           0 :                 ndr_print_string(ndr, "workstation", r->in.workstation);
   10482           0 :                 ndr->depth--;
   10483           0 :                 ndr->depth--;
   10484             :         }
   10485           0 :         if (flags & NDR_OUT) {
   10486           0 :                 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
   10487           0 :                 ndr->depth++;
   10488           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
   10489           0 :                 ndr->depth++;
   10490           0 :                 ndr_print_ptr(ndr, "info", *r->out.info);
   10491           0 :                 ndr->depth++;
   10492           0 :                 if (*r->out.info) {
   10493           0 :                         ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
   10494             :                 }
   10495           0 :                 ndr->depth--;
   10496           0 :                 ndr->depth--;
   10497           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   10498           0 :                 ndr->depth--;
   10499             :         }
   10500           0 :         ndr->depth--;
   10501             : }
   10502             : 
   10503          24 : static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
   10504             : {
   10505          24 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10506          24 :         if (flags & NDR_IN) {
   10507          24 :                 if (r->in.account_name == NULL) {
   10508           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10509             :                 }
   10510          24 :                 if (r->in.workstation == NULL) {
   10511           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10512             :                 }
   10513          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   10514          24 :                 if (r->in.server_name) {
   10515           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   10516           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10517           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   10518           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10519             :                 }
   10520          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   10521          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10522          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   10523          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10524          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
   10525          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10526          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
   10527          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10528             :         }
   10529          24 :         if (flags & NDR_OUT) {
   10530           0 :                 if (r->out.info == NULL) {
   10531           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10532             :                 }
   10533           0 :                 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
   10534           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   10535             :         }
   10536          20 :         return NDR_ERR_SUCCESS;
   10537             : }
   10538             : 
   10539          24 : static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
   10540             : {
   10541             :         uint32_t _ptr_server_name;
   10542          24 :         uint32_t size_server_name_1 = 0;
   10543          24 :         uint32_t length_server_name_1 = 0;
   10544          24 :         uint32_t size_account_name_1 = 0;
   10545          24 :         uint32_t length_account_name_1 = 0;
   10546          24 :         uint32_t size_workstation_1 = 0;
   10547          24 :         uint32_t length_workstation_1 = 0;
   10548          24 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   10549          24 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   10550          24 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10551          24 :         if (flags & NDR_IN) {
   10552          24 :                 NDR_ZERO_STRUCT(r->out);
   10553             : 
   10554          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   10555          24 :                 if (_ptr_server_name) {
   10556           0 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   10557             :                 } else {
   10558          24 :                         r->in.server_name = NULL;
   10559             :                 }
   10560          24 :                 if (r->in.server_name) {
   10561           0 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10562           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   10563           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   10564           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   10565           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   10566           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   10567           0 :                         if (length_server_name_1 > size_server_name_1) {
   10568           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   10569             :                         }
   10570           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   10571           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   10572           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   10573             :                 }
   10574          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   10575          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   10576          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   10577          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   10578          24 :                 if (length_account_name_1 > size_account_name_1) {
   10579           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   10580             :                 }
   10581          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   10582          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   10583          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
   10584          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
   10585          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.workstation, &size_workstation_1));
   10586          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.workstation, &length_workstation_1));
   10587          24 :                 if (length_workstation_1 > size_workstation_1) {
   10588           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_1, length_workstation_1);
   10589             :                 }
   10590          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_1, sizeof(uint16_t)));
   10591          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_1, sizeof(uint16_t), CH_UTF16));
   10592          24 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   10593          24 :                 NDR_ZERO_STRUCTP(r->out.info);
   10594             :         }
   10595          24 :         if (flags & NDR_OUT) {
   10596             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10597             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10598           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10599           0 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   10600             :                 }
   10601           0 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10602           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   10603           0 :                 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
   10604           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   10605           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   10606             :         }
   10607          20 :         return NDR_ERR_SUCCESS;
   10608             : }
   10609             : 
   10610           0 : _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
   10611             : {
   10612           0 :         ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
   10613           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10614           0 :         ndr->depth++;
   10615           0 :         if (flags & NDR_SET_VALUES) {
   10616           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10617             :         }
   10618           0 :         if (flags & NDR_IN) {
   10619           0 :                 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
   10620           0 :                 ndr->depth++;
   10621           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   10622           0 :                 ndr->depth++;
   10623           0 :                 if (r->in.server_name) {
   10624           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   10625             :                 }
   10626           0 :                 ndr->depth--;
   10627           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   10628           0 :                 ndr->depth++;
   10629           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   10630           0 :                 ndr->depth--;
   10631           0 :                 ndr_print_ptr(ndr, "workstation", r->in.workstation);
   10632           0 :                 ndr->depth++;
   10633           0 :                 ndr_print_string(ndr, "workstation", r->in.workstation);
   10634           0 :                 ndr->depth--;
   10635           0 :                 ndr->depth--;
   10636             :         }
   10637           0 :         if (flags & NDR_OUT) {
   10638           0 :                 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
   10639           0 :                 ndr->depth++;
   10640           0 :                 ndr_print_ptr(ndr, "info", r->out.info);
   10641           0 :                 ndr->depth++;
   10642           0 :                 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
   10643           0 :                 ndr->depth--;
   10644           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   10645           0 :                 ndr->depth--;
   10646             :         }
   10647           0 :         ndr->depth--;
   10648             : }
   10649             : 
   10650       30472 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
   10651             : {
   10652       30472 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10653       30472 :         if (flags & NDR_IN) {
   10654       14224 :                 if (r->in.logon == NULL) {
   10655           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10656             :                 }
   10657       14224 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   10658       14224 :                 if (r->in.server_name) {
   10659       14224 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   10660       14224 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10661       14224 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   10662       14224 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10663             :                 }
   10664       14224 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
   10665       14224 :                 if (r->in.computer_name) {
   10666       14224 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   10667       14224 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10668       14224 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   10669       14224 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10670             :                 }
   10671       14224 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
   10672       14224 :                 if (r->in.credential) {
   10673       12072 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   10674             :                 }
   10675       14224 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
   10676       14224 :                 if (r->in.return_authenticator) {
   10677       14224 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   10678             :                 }
   10679       14224 :                 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
   10680       14224 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
   10681       14224 :                 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
   10682       14224 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
   10683             :         }
   10684       30472 :         if (flags & NDR_OUT) {
   10685       16248 :                 if (r->out.validation == NULL) {
   10686           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10687             :                 }
   10688       16248 :                 if (r->out.authoritative == NULL) {
   10689           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   10690             :                 }
   10691       16248 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
   10692       16248 :                 if (r->out.return_authenticator) {
   10693       10108 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   10694             :                 }
   10695       16248 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
   10696       16248 :                 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
   10697       16248 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
   10698       16248 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10699             :         }
   10700       26017 :         return NDR_ERR_SUCCESS;
   10701             : }
   10702             : 
   10703       28010 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
   10704             : {
   10705             :         uint32_t _ptr_server_name;
   10706       28010 :         uint32_t size_server_name_1 = 0;
   10707       28010 :         uint32_t length_server_name_1 = 0;
   10708             :         uint32_t _ptr_computer_name;
   10709       28010 :         uint32_t size_computer_name_1 = 0;
   10710       28010 :         uint32_t length_computer_name_1 = 0;
   10711             :         uint32_t _ptr_credential;
   10712             :         uint32_t _ptr_return_authenticator;
   10713       28010 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   10714       28010 :         TALLOC_CTX *_mem_save_computer_name_0 = NULL;
   10715       28010 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   10716       28010 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   10717       28010 :         TALLOC_CTX *_mem_save_logon_0 = NULL;
   10718       28010 :         TALLOC_CTX *_mem_save_validation_0 = NULL;
   10719       28010 :         TALLOC_CTX *_mem_save_authoritative_0 = NULL;
   10720       28010 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10721       28010 :         if (flags & NDR_IN) {
   10722       13786 :                 NDR_ZERO_STRUCT(r->out);
   10723             : 
   10724       13786 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   10725       13786 :                 if (_ptr_server_name) {
   10726       13786 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   10727             :                 } else {
   10728           0 :                         r->in.server_name = NULL;
   10729             :                 }
   10730       13786 :                 if (r->in.server_name) {
   10731       13786 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10732       13786 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   10733       13786 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   10734       13786 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   10735       13786 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   10736       13786 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   10737       13786 :                         if (length_server_name_1 > size_server_name_1) {
   10738           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   10739             :                         }
   10740       13786 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   10741       13786 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   10742       13786 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   10743             :                 }
   10744       13786 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
   10745       13786 :                 if (_ptr_computer_name) {
   10746       13786 :                         NDR_PULL_ALLOC(ndr, r->in.computer_name);
   10747             :                 } else {
   10748           0 :                         r->in.computer_name = NULL;
   10749             :                 }
   10750       13786 :                 if (r->in.computer_name) {
   10751       13786 :                         _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10752       13786 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
   10753       13786 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   10754       13786 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   10755       13786 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   10756       13786 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   10757       13786 :                         if (length_computer_name_1 > size_computer_name_1) {
   10758           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   10759             :                         }
   10760       13786 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   10761       13786 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   10762       13786 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
   10763             :                 }
   10764       13786 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
   10765       13786 :                 if (_ptr_credential) {
   10766       11714 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   10767             :                 } else {
   10768        2072 :                         r->in.credential = NULL;
   10769             :                 }
   10770       13786 :                 if (r->in.credential) {
   10771       11714 :                         _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10772       11714 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
   10773       11714 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   10774       11714 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
   10775             :                 }
   10776       13786 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
   10777       13786 :                 if (_ptr_return_authenticator) {
   10778       13786 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   10779             :                 } else {
   10780           0 :                         r->in.return_authenticator = NULL;
   10781             :                 }
   10782       13786 :                 if (r->in.return_authenticator) {
   10783       13786 :                         _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10784       13786 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
   10785       13786 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   10786       13786 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
   10787             :                 }
   10788       13786 :                 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
   10789       13786 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10790       13786 :                         NDR_PULL_ALLOC(ndr, r->in.logon);
   10791             :                 }
   10792       13786 :                 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10793       13786 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
   10794       13786 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
   10795       13786 :                 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
   10796       13786 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
   10797       13786 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
   10798       13786 :                 NDR_PULL_ALLOC(ndr, r->out.validation);
   10799       13786 :                 NDR_ZERO_STRUCTP(r->out.validation);
   10800       13786 :                 NDR_PULL_ALLOC(ndr, r->out.authoritative);
   10801       13786 :                 NDR_ZERO_STRUCTP(r->out.authoritative);
   10802             :         }
   10803       28010 :         if (flags & NDR_OUT) {
   10804             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   10805             :                 if (r->in.logon == NULL) {
   10806             :                         NDR_PULL_ALLOC(ndr, r->in.logon);
   10807             :                         NDR_ZERO_STRUCTP(r->in.logon);
   10808             :                 }
   10809             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   10810       14224 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
   10811       14224 :                 if (_ptr_return_authenticator) {
   10812        9204 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   10813             :                 } else {
   10814        5020 :                         r->out.return_authenticator = NULL;
   10815             :                 }
   10816       14224 :                 if (r->out.return_authenticator) {
   10817        9204 :                         _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10818        9204 :                         NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
   10819        9204 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   10820        9204 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
   10821             :                 }
   10822       14224 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10823        2464 :                         NDR_PULL_ALLOC(ndr, r->out.validation);
   10824             :                 }
   10825       14224 :                 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10826       14224 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
   10827       14224 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
   10828       14224 :                 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
   10829       14224 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
   10830       14224 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   10831        2464 :                         NDR_PULL_ALLOC(ndr, r->out.authoritative);
   10832             :                 }
   10833       14224 :                 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10834       14224 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
   10835       14224 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
   10836       14224 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
   10837       14224 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   10838             :         }
   10839       23960 :         return NDR_ERR_SUCCESS;
   10840             : }
   10841             : 
   10842        4930 : _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
   10843             : {
   10844        4930 :         ndr_print_struct(ndr, name, "netr_LogonSamLogon");
   10845        4930 :         if (r == NULL) { ndr_print_null(ndr); return; }
   10846        4930 :         ndr->depth++;
   10847        4930 :         if (flags & NDR_SET_VALUES) {
   10848           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   10849             :         }
   10850        4930 :         if (flags & NDR_IN) {
   10851           2 :                 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
   10852           2 :                 ndr->depth++;
   10853           2 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   10854           2 :                 ndr->depth++;
   10855           2 :                 if (r->in.server_name) {
   10856           2 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   10857             :                 }
   10858           2 :                 ndr->depth--;
   10859           2 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   10860           2 :                 ndr->depth++;
   10861           2 :                 if (r->in.computer_name) {
   10862           2 :                         ndr_print_string(ndr, "computer_name", r->in.computer_name);
   10863             :                 }
   10864           2 :                 ndr->depth--;
   10865           2 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   10866           2 :                 ndr->depth++;
   10867           2 :                 if (r->in.credential) {
   10868           2 :                         ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   10869             :                 }
   10870           2 :                 ndr->depth--;
   10871           2 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   10872           2 :                 ndr->depth++;
   10873           2 :                 if (r->in.return_authenticator) {
   10874           2 :                         ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   10875             :                 }
   10876           2 :                 ndr->depth--;
   10877           2 :                 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
   10878           2 :                 ndr_print_ptr(ndr, "logon", r->in.logon);
   10879           2 :                 ndr->depth++;
   10880           2 :                 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
   10881           2 :                 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
   10882           2 :                 ndr->depth--;
   10883           2 :                 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
   10884           2 :                 ndr->depth--;
   10885             :         }
   10886        4930 :         if (flags & NDR_OUT) {
   10887        4928 :                 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
   10888        4928 :                 ndr->depth++;
   10889        4928 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   10890        4928 :                 ndr->depth++;
   10891        4928 :                 if (r->out.return_authenticator) {
   10892        2688 :                         ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   10893             :                 }
   10894        4928 :                 ndr->depth--;
   10895        4928 :                 ndr_print_ptr(ndr, "validation", r->out.validation);
   10896        4928 :                 ndr->depth++;
   10897        4928 :                 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
   10898        4928 :                 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
   10899        4928 :                 ndr->depth--;
   10900        4928 :                 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
   10901        4928 :                 ndr->depth++;
   10902        4928 :                 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
   10903        4928 :                 ndr->depth--;
   10904        4928 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   10905        4928 :                 ndr->depth--;
   10906             :         }
   10907        4930 :         ndr->depth--;
   10908             : }
   10909             : 
   10910           0 : static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
   10911             : {
   10912           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   10913           0 :         if (flags & NDR_IN) {
   10914           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   10915           0 :                 if (r->in.server_name) {
   10916           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   10917           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10918           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   10919           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10920             :                 }
   10921           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
   10922           0 :                 if (r->in.computer_name) {
   10923           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   10924           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   10925           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   10926           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   10927             :                 }
   10928           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
   10929           0 :                 if (r->in.credential) {
   10930           0 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   10931             :                 }
   10932           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
   10933           0 :                 if (r->in.return_authenticator) {
   10934           0 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   10935             :                 }
   10936           0 :                 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
   10937           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
   10938           0 :                 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
   10939             :         }
   10940           0 :         if (flags & NDR_OUT) {
   10941           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
   10942           0 :                 if (r->out.return_authenticator) {
   10943           0 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   10944             :                 }
   10945           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   10946             :         }
   10947           0 :         return NDR_ERR_SUCCESS;
   10948             : }
   10949             : 
   10950           0 : static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
   10951             : {
   10952             :         uint32_t _ptr_server_name;
   10953           0 :         uint32_t size_server_name_1 = 0;
   10954           0 :         uint32_t length_server_name_1 = 0;
   10955             :         uint32_t _ptr_computer_name;
   10956           0 :         uint32_t size_computer_name_1 = 0;
   10957           0 :         uint32_t length_computer_name_1 = 0;
   10958             :         uint32_t _ptr_credential;
   10959             :         uint32_t _ptr_return_authenticator;
   10960           0 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   10961           0 :         TALLOC_CTX *_mem_save_computer_name_0 = NULL;
   10962           0 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   10963           0 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   10964           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   10965           0 :         if (flags & NDR_IN) {
   10966           0 :                 NDR_ZERO_STRUCT(r->out);
   10967             : 
   10968           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   10969           0 :                 if (_ptr_server_name) {
   10970           0 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   10971             :                 } else {
   10972           0 :                         r->in.server_name = NULL;
   10973             :                 }
   10974           0 :                 if (r->in.server_name) {
   10975           0 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10976           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   10977           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   10978           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   10979           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   10980           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   10981           0 :                         if (length_server_name_1 > size_server_name_1) {
   10982           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   10983             :                         }
   10984           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   10985           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   10986           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   10987             :                 }
   10988           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
   10989           0 :                 if (_ptr_computer_name) {
   10990           0 :                         NDR_PULL_ALLOC(ndr, r->in.computer_name);
   10991             :                 } else {
   10992           0 :                         r->in.computer_name = NULL;
   10993             :                 }
   10994           0 :                 if (r->in.computer_name) {
   10995           0 :                         _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   10996           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
   10997           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   10998           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   10999           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   11000           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   11001           0 :                         if (length_computer_name_1 > size_computer_name_1) {
   11002           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   11003             :                         }
   11004           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   11005           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   11006           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
   11007             :                 }
   11008           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
   11009           0 :                 if (_ptr_credential) {
   11010           0 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   11011             :                 } else {
   11012           0 :                         r->in.credential = NULL;
   11013             :                 }
   11014           0 :                 if (r->in.credential) {
   11015           0 :                         _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11016           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
   11017           0 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   11018           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
   11019             :                 }
   11020           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
   11021           0 :                 if (_ptr_return_authenticator) {
   11022           0 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   11023             :                 } else {
   11024           0 :                         r->in.return_authenticator = NULL;
   11025             :                 }
   11026           0 :                 if (r->in.return_authenticator) {
   11027           0 :                         _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11028           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
   11029           0 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   11030           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
   11031             :                 }
   11032           0 :                 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
   11033           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
   11034           0 :                 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
   11035             :         }
   11036           0 :         if (flags & NDR_OUT) {
   11037             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11038             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11039           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
   11040           0 :                 if (_ptr_return_authenticator) {
   11041           0 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   11042             :                 } else {
   11043           0 :                         r->out.return_authenticator = NULL;
   11044             :                 }
   11045           0 :                 if (r->out.return_authenticator) {
   11046           0 :                         _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11047           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
   11048           0 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   11049           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
   11050             :                 }
   11051           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11052             :         }
   11053           0 :         return NDR_ERR_SUCCESS;
   11054             : }
   11055             : 
   11056           0 : _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
   11057             : {
   11058           0 :         ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
   11059           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11060           0 :         ndr->depth++;
   11061           0 :         if (flags & NDR_SET_VALUES) {
   11062           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11063             :         }
   11064           0 :         if (flags & NDR_IN) {
   11065           0 :                 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
   11066           0 :                 ndr->depth++;
   11067           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   11068           0 :                 ndr->depth++;
   11069           0 :                 if (r->in.server_name) {
   11070           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   11071             :                 }
   11072           0 :                 ndr->depth--;
   11073           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   11074           0 :                 ndr->depth++;
   11075           0 :                 if (r->in.computer_name) {
   11076           0 :                         ndr_print_string(ndr, "computer_name", r->in.computer_name);
   11077             :                 }
   11078           0 :                 ndr->depth--;
   11079           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   11080           0 :                 ndr->depth++;
   11081           0 :                 if (r->in.credential) {
   11082           0 :                         ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   11083             :                 }
   11084           0 :                 ndr->depth--;
   11085           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   11086           0 :                 ndr->depth++;
   11087           0 :                 if (r->in.return_authenticator) {
   11088           0 :                         ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   11089             :                 }
   11090           0 :                 ndr->depth--;
   11091           0 :                 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
   11092           0 :                 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
   11093           0 :                 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
   11094           0 :                 ndr->depth--;
   11095             :         }
   11096           0 :         if (flags & NDR_OUT) {
   11097           0 :                 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
   11098           0 :                 ndr->depth++;
   11099           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   11100           0 :                 ndr->depth++;
   11101           0 :                 if (r->out.return_authenticator) {
   11102           0 :                         ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   11103             :                 }
   11104           0 :                 ndr->depth--;
   11105           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11106           0 :                 ndr->depth--;
   11107             :         }
   11108           0 :         ndr->depth--;
   11109             : }
   11110             : 
   11111       25149 : _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
   11112             : {
   11113       25149 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11114       25149 :         if (flags & NDR_IN) {
   11115       11449 :                 if (r->in.computer_name == NULL) {
   11116           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11117             :                 }
   11118       11449 :                 if (r->in.credentials == NULL) {
   11119           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11120             :                 }
   11121       11449 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   11122       11449 :                 if (r->in.server_name) {
   11123        1049 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   11124        1049 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11125        1049 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   11126        1049 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11127             :                 }
   11128       11449 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   11129       11449 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11130       11449 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   11131       11449 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11132       11449 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
   11133             :         }
   11134       25149 :         if (flags & NDR_OUT) {
   11135       13700 :                 if (r->out.return_credentials == NULL) {
   11136           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11137             :                 }
   11138       13700 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
   11139       13700 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11140             :         }
   11141       23439 :         return NDR_ERR_SUCCESS;
   11142             : }
   11143             : 
   11144       22958 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
   11145             : {
   11146             :         uint32_t _ptr_server_name;
   11147       22958 :         uint32_t size_server_name_1 = 0;
   11148       22958 :         uint32_t length_server_name_1 = 0;
   11149       22958 :         uint32_t size_computer_name_1 = 0;
   11150       22958 :         uint32_t length_computer_name_1 = 0;
   11151       22958 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   11152       22958 :         TALLOC_CTX *_mem_save_credentials_0 = NULL;
   11153       22958 :         TALLOC_CTX *_mem_save_return_credentials_0 = NULL;
   11154       22958 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11155       22958 :         if (flags & NDR_IN) {
   11156       11507 :                 NDR_ZERO_STRUCT(r->out);
   11157             : 
   11158       11507 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   11159       11507 :                 if (_ptr_server_name) {
   11160        1107 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   11161             :                 } else {
   11162       10400 :                         r->in.server_name = NULL;
   11163             :                 }
   11164       11507 :                 if (r->in.server_name) {
   11165        1107 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11166        1107 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   11167        1107 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   11168        1107 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   11169        1107 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   11170        1107 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   11171        1107 :                         if (length_server_name_1 > size_server_name_1) {
   11172           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   11173             :                         }
   11174        1107 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   11175        1107 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   11176        1107 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   11177             :                 }
   11178       11507 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   11179       11507 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   11180       11507 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   11181       11507 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   11182       11507 :                 if (length_computer_name_1 > size_computer_name_1) {
   11183           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   11184             :                 }
   11185       11507 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   11186       11507 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   11187       11507 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11188       11507 :                         NDR_PULL_ALLOC(ndr, r->in.credentials);
   11189             :                 }
   11190       11507 :                 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11191       11507 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
   11192       11507 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
   11193       11507 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
   11194       11507 :                 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
   11195       11507 :                 NDR_ZERO_STRUCTP(r->out.return_credentials);
   11196             :         }
   11197       22958 :         if (flags & NDR_OUT) {
   11198             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11199             :                 if (r->in.credentials == NULL) {
   11200             :                         NDR_PULL_ALLOC(ndr, r->in.credentials);
   11201             :                         NDR_ZERO_STRUCTP(r->in.credentials);
   11202             :                 }
   11203             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11204       11451 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11205        2309 :                         NDR_PULL_ALLOC(ndr, r->out.return_credentials);
   11206             :                 }
   11207       11451 :                 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11208       11451 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
   11209       11451 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
   11210       11451 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
   11211       11451 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11212             :         }
   11213       21310 :         return NDR_ERR_SUCCESS;
   11214             : }
   11215             : 
   11216        4394 : _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
   11217             : {
   11218        4394 :         ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
   11219        4394 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11220        4394 :         ndr->depth++;
   11221        4394 :         if (flags & NDR_SET_VALUES) {
   11222           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11223             :         }
   11224        4394 :         if (flags & NDR_IN) {
   11225           2 :                 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
   11226           2 :                 ndr->depth++;
   11227           2 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   11228           2 :                 ndr->depth++;
   11229           2 :                 if (r->in.server_name) {
   11230           2 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   11231             :                 }
   11232           2 :                 ndr->depth--;
   11233           2 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   11234           2 :                 ndr->depth++;
   11235           2 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   11236           2 :                 ndr->depth--;
   11237           2 :                 ndr_print_ptr(ndr, "credentials", r->in.credentials);
   11238           2 :                 ndr->depth++;
   11239           2 :                 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
   11240           2 :                 ndr->depth--;
   11241           2 :                 ndr->depth--;
   11242             :         }
   11243        4394 :         if (flags & NDR_OUT) {
   11244        4392 :                 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
   11245        4392 :                 ndr->depth++;
   11246        4392 :                 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
   11247        4392 :                 ndr->depth++;
   11248        4392 :                 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
   11249        4392 :                 ndr->depth--;
   11250        4392 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11251        4392 :                 ndr->depth--;
   11252             :         }
   11253        4394 :         ndr->depth--;
   11254             : }
   11255             : 
   11256         828 : static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
   11257             : {
   11258         828 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11259         828 :         if (flags & NDR_IN) {
   11260         368 :                 if (r->in.account_name == NULL) {
   11261           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11262             :                 }
   11263         368 :                 if (r->in.computer_name == NULL) {
   11264           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11265             :                 }
   11266         368 :                 if (r->in.credentials == NULL) {
   11267           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11268             :                 }
   11269         368 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   11270         368 :                 if (r->in.server_name) {
   11271           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   11272           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11273           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   11274           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11275             :                 }
   11276         368 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   11277         368 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11278         368 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   11279         368 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11280         368 :                 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
   11281         368 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   11282         368 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11283         368 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   11284         368 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11285         368 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
   11286             :         }
   11287         828 :         if (flags & NDR_OUT) {
   11288         460 :                 if (r->out.return_credentials == NULL) {
   11289           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11290             :                 }
   11291         460 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
   11292         460 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11293             :         }
   11294         702 :         return NDR_ERR_SUCCESS;
   11295             : }
   11296             : 
   11297         736 : static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
   11298             : {
   11299             :         uint32_t _ptr_server_name;
   11300         736 :         uint32_t size_server_name_1 = 0;
   11301         736 :         uint32_t length_server_name_1 = 0;
   11302         736 :         uint32_t size_account_name_1 = 0;
   11303         736 :         uint32_t length_account_name_1 = 0;
   11304         736 :         uint32_t size_computer_name_1 = 0;
   11305         736 :         uint32_t length_computer_name_1 = 0;
   11306         736 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   11307         736 :         TALLOC_CTX *_mem_save_credentials_0 = NULL;
   11308         736 :         TALLOC_CTX *_mem_save_return_credentials_0 = NULL;
   11309         736 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11310         736 :         if (flags & NDR_IN) {
   11311         368 :                 NDR_ZERO_STRUCT(r->out);
   11312             : 
   11313         368 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   11314         368 :                 if (_ptr_server_name) {
   11315           0 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   11316             :                 } else {
   11317         368 :                         r->in.server_name = NULL;
   11318             :                 }
   11319         368 :                 if (r->in.server_name) {
   11320           0 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11321           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   11322           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   11323           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   11324           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   11325           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   11326           0 :                         if (length_server_name_1 > size_server_name_1) {
   11327           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   11328             :                         }
   11329           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   11330           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   11331           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   11332             :                 }
   11333         368 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   11334         368 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   11335         368 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   11336         368 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   11337         368 :                 if (length_account_name_1 > size_account_name_1) {
   11338           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   11339             :                 }
   11340         368 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   11341         368 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   11342         368 :                 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
   11343         368 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   11344         368 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   11345         368 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   11346         368 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   11347         368 :                 if (length_computer_name_1 > size_computer_name_1) {
   11348           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   11349             :                 }
   11350         368 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   11351         368 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   11352         368 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11353         368 :                         NDR_PULL_ALLOC(ndr, r->in.credentials);
   11354             :                 }
   11355         368 :                 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11356         368 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
   11357         368 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
   11358         368 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
   11359         368 :                 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
   11360         368 :                 NDR_ZERO_STRUCTP(r->out.return_credentials);
   11361             :         }
   11362         736 :         if (flags & NDR_OUT) {
   11363             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11364             :                 if (r->in.credentials == NULL) {
   11365             :                         NDR_PULL_ALLOC(ndr, r->in.credentials);
   11366             :                         NDR_ZERO_STRUCTP(r->in.credentials);
   11367             :                 }
   11368             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11369         368 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11370          92 :                         NDR_PULL_ALLOC(ndr, r->out.return_credentials);
   11371             :                 }
   11372         368 :                 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11373         368 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
   11374         368 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
   11375         368 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
   11376         368 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11377             :         }
   11378         624 :         return NDR_ERR_SUCCESS;
   11379             : }
   11380             : 
   11381         184 : _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
   11382             : {
   11383         184 :         ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
   11384         184 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11385         184 :         ndr->depth++;
   11386         184 :         if (flags & NDR_SET_VALUES) {
   11387           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11388             :         }
   11389         184 :         if (flags & NDR_IN) {
   11390           0 :                 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
   11391           0 :                 ndr->depth++;
   11392           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   11393           0 :                 ndr->depth++;
   11394           0 :                 if (r->in.server_name) {
   11395           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   11396             :                 }
   11397           0 :                 ndr->depth--;
   11398           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   11399           0 :                 ndr->depth++;
   11400           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   11401           0 :                 ndr->depth--;
   11402           0 :                 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
   11403           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   11404           0 :                 ndr->depth++;
   11405           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   11406           0 :                 ndr->depth--;
   11407           0 :                 ndr_print_ptr(ndr, "credentials", r->in.credentials);
   11408           0 :                 ndr->depth++;
   11409           0 :                 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
   11410           0 :                 ndr->depth--;
   11411           0 :                 ndr->depth--;
   11412             :         }
   11413         184 :         if (flags & NDR_OUT) {
   11414         184 :                 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
   11415         184 :                 ndr->depth++;
   11416         184 :                 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
   11417         184 :                 ndr->depth++;
   11418         184 :                 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
   11419         184 :                 ndr->depth--;
   11420         184 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11421         184 :                 ndr->depth--;
   11422             :         }
   11423         184 :         ndr->depth--;
   11424             : }
   11425             : 
   11426         177 : static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
   11427             : {
   11428         177 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11429         177 :         if (flags & NDR_IN) {
   11430          83 :                 if (r->in.account_name == NULL) {
   11431           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11432             :                 }
   11433          83 :                 if (r->in.computer_name == NULL) {
   11434           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11435             :                 }
   11436          83 :                 if (r->in.credential == NULL) {
   11437           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11438             :                 }
   11439          83 :                 if (r->in.new_password == NULL) {
   11440           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11441             :                 }
   11442          83 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   11443          83 :                 if (r->in.server_name) {
   11444          83 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   11445          83 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11446          83 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   11447          83 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11448             :                 }
   11449          83 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   11450          83 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11451          83 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   11452          83 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11453          83 :                 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
   11454          83 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   11455          83 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11456          83 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   11457          83 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11458          83 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   11459          83 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
   11460             :         }
   11461         177 :         if (flags & NDR_OUT) {
   11462          94 :                 if (r->out.return_authenticator == NULL) {
   11463           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11464             :                 }
   11465          94 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   11466          94 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11467             :         }
   11468         157 :         return NDR_ERR_SUCCESS;
   11469             : }
   11470             : 
   11471         162 : static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
   11472             : {
   11473             :         uint32_t _ptr_server_name;
   11474         162 :         uint32_t size_server_name_1 = 0;
   11475         162 :         uint32_t length_server_name_1 = 0;
   11476         162 :         uint32_t size_account_name_1 = 0;
   11477         162 :         uint32_t length_account_name_1 = 0;
   11478         162 :         uint32_t size_computer_name_1 = 0;
   11479         162 :         uint32_t length_computer_name_1 = 0;
   11480         162 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   11481         162 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   11482         162 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   11483         162 :         TALLOC_CTX *_mem_save_new_password_0 = NULL;
   11484         162 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11485         162 :         if (flags & NDR_IN) {
   11486          79 :                 NDR_ZERO_STRUCT(r->out);
   11487             : 
   11488          79 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   11489          79 :                 if (_ptr_server_name) {
   11490          79 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   11491             :                 } else {
   11492           0 :                         r->in.server_name = NULL;
   11493             :                 }
   11494          79 :                 if (r->in.server_name) {
   11495          79 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11496          79 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   11497          79 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   11498          79 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   11499          79 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   11500          79 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   11501          79 :                         if (length_server_name_1 > size_server_name_1) {
   11502           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   11503             :                         }
   11504          79 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   11505          79 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   11506          79 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   11507             :                 }
   11508          79 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   11509          79 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   11510          79 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   11511          79 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   11512          79 :                 if (length_account_name_1 > size_account_name_1) {
   11513           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   11514             :                 }
   11515          79 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   11516          79 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   11517          79 :                 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
   11518          79 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   11519          79 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   11520          79 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   11521          79 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   11522          79 :                 if (length_computer_name_1 > size_computer_name_1) {
   11523           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   11524             :                 }
   11525          79 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   11526          79 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   11527          79 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11528          79 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   11529             :                 }
   11530          79 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11531          79 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   11532          79 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   11533          79 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   11534          79 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11535          79 :                         NDR_PULL_ALLOC(ndr, r->in.new_password);
   11536             :                 }
   11537          79 :                 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11538          79 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
   11539          79 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
   11540          79 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
   11541          79 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   11542          79 :                 NDR_ZERO_STRUCTP(r->out.return_authenticator);
   11543             :         }
   11544         162 :         if (flags & NDR_OUT) {
   11545             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11546             :                 if (r->in.credential == NULL) {
   11547             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   11548             :                         NDR_ZERO_STRUCTP(r->in.credential);
   11549             :                 }
   11550             :                 if (r->in.new_password == NULL) {
   11551             :                         NDR_PULL_ALLOC(ndr, r->in.new_password);
   11552             :                         NDR_ZERO_STRUCTP(r->in.new_password);
   11553             :                 }
   11554             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11555          83 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11556          15 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   11557             :                 }
   11558          83 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11559          83 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   11560          83 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   11561          83 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   11562          83 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11563             :         }
   11564         144 :         return NDR_ERR_SUCCESS;
   11565             : }
   11566             : 
   11567          30 : _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
   11568             : {
   11569          30 :         ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
   11570          30 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11571          30 :         ndr->depth++;
   11572          30 :         if (flags & NDR_SET_VALUES) {
   11573           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11574             :         }
   11575          30 :         if (flags & NDR_IN) {
   11576           0 :                 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
   11577           0 :                 ndr->depth++;
   11578           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   11579           0 :                 ndr->depth++;
   11580           0 :                 if (r->in.server_name) {
   11581           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   11582             :                 }
   11583           0 :                 ndr->depth--;
   11584           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   11585           0 :                 ndr->depth++;
   11586           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   11587           0 :                 ndr->depth--;
   11588           0 :                 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
   11589           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   11590           0 :                 ndr->depth++;
   11591           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   11592           0 :                 ndr->depth--;
   11593           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   11594           0 :                 ndr->depth++;
   11595           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   11596           0 :                 ndr->depth--;
   11597           0 :                 ndr_print_ptr(ndr, "new_password", r->in.new_password);
   11598           0 :                 ndr->depth++;
   11599           0 :                 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
   11600           0 :                 ndr->depth--;
   11601           0 :                 ndr->depth--;
   11602             :         }
   11603          30 :         if (flags & NDR_OUT) {
   11604          30 :                 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
   11605          30 :                 ndr->depth++;
   11606          30 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   11607          30 :                 ndr->depth++;
   11608          30 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   11609          30 :                 ndr->depth--;
   11610          30 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11611          30 :                 ndr->depth--;
   11612             :         }
   11613          30 :         ndr->depth--;
   11614             : }
   11615             : 
   11616           0 : static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
   11617             : {
   11618           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11619           0 :         if (flags & NDR_IN) {
   11620           0 :                 if (r->in.logon_server == NULL) {
   11621           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11622             :                 }
   11623           0 :                 if (r->in.computername == NULL) {
   11624           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11625             :                 }
   11626           0 :                 if (r->in.credential == NULL) {
   11627           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11628             :                 }
   11629           0 :                 if (r->in.return_authenticator == NULL) {
   11630           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11631             :                 }
   11632           0 :                 if (r->in.sequence_num == NULL) {
   11633           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11634             :                 }
   11635           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   11636           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11637           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   11638           0 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11639           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   11640           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11641           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   11642           0 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11643           0 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   11644           0 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   11645           0 :                 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
   11646           0 :                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
   11647           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
   11648             :         }
   11649           0 :         if (flags & NDR_OUT) {
   11650           0 :                 if (r->out.return_authenticator == NULL) {
   11651           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11652             :                 }
   11653           0 :                 if (r->out.sequence_num == NULL) {
   11654           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11655             :                 }
   11656           0 :                 if (r->out.delta_enum_array == NULL) {
   11657           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11658             :                 }
   11659           0 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   11660           0 :                 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
   11661           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
   11662           0 :                 if (*r->out.delta_enum_array) {
   11663           0 :                         NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
   11664             :                 }
   11665           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11666             :         }
   11667           0 :         return NDR_ERR_SUCCESS;
   11668             : }
   11669             : 
   11670           0 : static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
   11671             : {
   11672           0 :         uint32_t size_logon_server_1 = 0;
   11673           0 :         uint32_t length_logon_server_1 = 0;
   11674           0 :         uint32_t size_computername_1 = 0;
   11675           0 :         uint32_t length_computername_1 = 0;
   11676             :         uint32_t _ptr_delta_enum_array;
   11677           0 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   11678           0 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   11679           0 :         TALLOC_CTX *_mem_save_sequence_num_0 = NULL;
   11680           0 :         TALLOC_CTX *_mem_save_delta_enum_array_0 = NULL;
   11681           0 :         TALLOC_CTX *_mem_save_delta_enum_array_1 = NULL;
   11682           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11683           0 :         if (flags & NDR_IN) {
   11684           0 :                 NDR_ZERO_STRUCT(r->out);
   11685             : 
   11686           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   11687           0 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   11688           0 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   11689           0 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   11690           0 :                 if (length_logon_server_1 > size_logon_server_1) {
   11691           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   11692             :                 }
   11693           0 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   11694           0 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   11695           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
   11696           0 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
   11697           0 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
   11698           0 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
   11699           0 :                 if (length_computername_1 > size_computername_1) {
   11700           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
   11701             :                 }
   11702           0 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
   11703           0 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
   11704           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11705           0 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   11706             :                 }
   11707           0 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11708           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   11709           0 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   11710           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   11711           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11712           0 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   11713             :                 }
   11714           0 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11715           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   11716           0 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   11717           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   11718           0 :                 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
   11719           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11720           0 :                         NDR_PULL_ALLOC(ndr, r->in.sequence_num);
   11721             :                 }
   11722           0 :                 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11723           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
   11724           0 :                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
   11725           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
   11726           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
   11727           0 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   11728           0 :                 *r->out.return_authenticator = *r->in.return_authenticator;
   11729           0 :                 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
   11730           0 :                 *r->out.sequence_num = *r->in.sequence_num;
   11731           0 :                 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
   11732           0 :                 NDR_ZERO_STRUCTP(r->out.delta_enum_array);
   11733             :         }
   11734           0 :         if (flags & NDR_OUT) {
   11735             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11736             :                 if (r->in.credential == NULL) {
   11737             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   11738             :                         NDR_ZERO_STRUCTP(r->in.credential);
   11739             :                 }
   11740             :                 if (r->in.return_authenticator == NULL) {
   11741             :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   11742             :                         NDR_ZERO_STRUCTP(r->in.return_authenticator);
   11743             :                 }
   11744             :                 if (r->in.sequence_num == NULL) {
   11745             :                         NDR_PULL_ALLOC(ndr, r->in.sequence_num);
   11746             :                         NDR_ZERO_STRUCTP(r->in.sequence_num);
   11747             :                 }
   11748             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11749           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11750           0 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   11751             :                 }
   11752           0 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11753           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   11754           0 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   11755           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   11756           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11757           0 :                         NDR_PULL_ALLOC(ndr, r->out.sequence_num);
   11758             :                 }
   11759           0 :                 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11760           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
   11761           0 :                 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
   11762           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
   11763           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11764           0 :                         NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
   11765             :                 }
   11766           0 :                 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11767           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
   11768           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
   11769           0 :                 if (_ptr_delta_enum_array) {
   11770           0 :                         NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
   11771             :                 } else {
   11772           0 :                         *r->out.delta_enum_array = NULL;
   11773             :                 }
   11774           0 :                 if (*r->out.delta_enum_array) {
   11775           0 :                         _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
   11776           0 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
   11777           0 :                         NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
   11778           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
   11779             :                 }
   11780           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
   11781           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   11782             :         }
   11783           0 :         return NDR_ERR_SUCCESS;
   11784             : }
   11785             : 
   11786           0 : _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
   11787             : {
   11788           0 :         ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
   11789           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   11790           0 :         ndr->depth++;
   11791           0 :         if (flags & NDR_SET_VALUES) {
   11792           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   11793             :         }
   11794           0 :         if (flags & NDR_IN) {
   11795           0 :                 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
   11796           0 :                 ndr->depth++;
   11797           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   11798           0 :                 ndr->depth++;
   11799           0 :                 ndr_print_string(ndr, "logon_server", r->in.logon_server);
   11800           0 :                 ndr->depth--;
   11801           0 :                 ndr_print_ptr(ndr, "computername", r->in.computername);
   11802           0 :                 ndr->depth++;
   11803           0 :                 ndr_print_string(ndr, "computername", r->in.computername);
   11804           0 :                 ndr->depth--;
   11805           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   11806           0 :                 ndr->depth++;
   11807           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   11808           0 :                 ndr->depth--;
   11809           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   11810           0 :                 ndr->depth++;
   11811           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   11812           0 :                 ndr->depth--;
   11813           0 :                 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
   11814           0 :                 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
   11815           0 :                 ndr->depth++;
   11816           0 :                 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
   11817           0 :                 ndr->depth--;
   11818           0 :                 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
   11819           0 :                 ndr->depth--;
   11820             :         }
   11821           0 :         if (flags & NDR_OUT) {
   11822           0 :                 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
   11823           0 :                 ndr->depth++;
   11824           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   11825           0 :                 ndr->depth++;
   11826           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   11827           0 :                 ndr->depth--;
   11828           0 :                 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
   11829           0 :                 ndr->depth++;
   11830           0 :                 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
   11831           0 :                 ndr->depth--;
   11832           0 :                 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
   11833           0 :                 ndr->depth++;
   11834           0 :                 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
   11835           0 :                 ndr->depth++;
   11836           0 :                 if (*r->out.delta_enum_array) {
   11837           0 :                         ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
   11838             :                 }
   11839           0 :                 ndr->depth--;
   11840           0 :                 ndr->depth--;
   11841           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   11842           0 :                 ndr->depth--;
   11843             :         }
   11844           0 :         ndr->depth--;
   11845             : }
   11846             : 
   11847          54 : static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
   11848             : {
   11849          54 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   11850          54 :         if (flags & NDR_IN) {
   11851          24 :                 if (r->in.logon_server == NULL) {
   11852           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11853             :                 }
   11854          24 :                 if (r->in.computername == NULL) {
   11855           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11856             :                 }
   11857          24 :                 if (r->in.credential == NULL) {
   11858           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11859             :                 }
   11860          24 :                 if (r->in.return_authenticator == NULL) {
   11861           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11862             :                 }
   11863          24 :                 if (r->in.sync_context == NULL) {
   11864           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11865             :                 }
   11866          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   11867          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11868          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   11869          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11870          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   11871          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   11872          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   11873          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   11874          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   11875          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   11876          24 :                 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
   11877          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
   11878          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
   11879             :         }
   11880          54 :         if (flags & NDR_OUT) {
   11881          30 :                 if (r->out.return_authenticator == NULL) {
   11882           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11883             :                 }
   11884          30 :                 if (r->out.sync_context == NULL) {
   11885           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11886             :                 }
   11887          30 :                 if (r->out.delta_enum_array == NULL) {
   11888           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   11889             :                 }
   11890          30 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   11891          30 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
   11892          30 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
   11893          30 :                 if (*r->out.delta_enum_array) {
   11894           0 :                         NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
   11895             :                 }
   11896          30 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   11897             :         }
   11898          45 :         return NDR_ERR_SUCCESS;
   11899             : }
   11900             : 
   11901          48 : static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
   11902             : {
   11903          48 :         uint32_t size_logon_server_1 = 0;
   11904          48 :         uint32_t length_logon_server_1 = 0;
   11905          48 :         uint32_t size_computername_1 = 0;
   11906          48 :         uint32_t length_computername_1 = 0;
   11907             :         uint32_t _ptr_delta_enum_array;
   11908          48 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   11909          48 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   11910          48 :         TALLOC_CTX *_mem_save_sync_context_0 = NULL;
   11911          48 :         TALLOC_CTX *_mem_save_delta_enum_array_0 = NULL;
   11912          48 :         TALLOC_CTX *_mem_save_delta_enum_array_1 = NULL;
   11913          48 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   11914          48 :         if (flags & NDR_IN) {
   11915          24 :                 NDR_ZERO_STRUCT(r->out);
   11916             : 
   11917          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   11918          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   11919          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   11920          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   11921          24 :                 if (length_logon_server_1 > size_logon_server_1) {
   11922           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   11923             :                 }
   11924          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   11925          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   11926          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
   11927          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
   11928          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
   11929          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
   11930          24 :                 if (length_computername_1 > size_computername_1) {
   11931           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
   11932             :                 }
   11933          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
   11934          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
   11935          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11936          24 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   11937             :                 }
   11938          24 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11939          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   11940          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   11941          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   11942          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11943          24 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   11944             :                 }
   11945          24 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11946          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   11947          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   11948          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   11949          24 :                 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
   11950          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11951          24 :                         NDR_PULL_ALLOC(ndr, r->in.sync_context);
   11952             :                 }
   11953          24 :                 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11954          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
   11955          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
   11956          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
   11957          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
   11958          24 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   11959          24 :                 *r->out.return_authenticator = *r->in.return_authenticator;
   11960          24 :                 NDR_PULL_ALLOC(ndr, r->out.sync_context);
   11961          24 :                 *r->out.sync_context = *r->in.sync_context;
   11962          24 :                 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
   11963          24 :                 NDR_ZERO_STRUCTP(r->out.delta_enum_array);
   11964             :         }
   11965          48 :         if (flags & NDR_OUT) {
   11966             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   11967             :                 if (r->in.credential == NULL) {
   11968             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   11969             :                         NDR_ZERO_STRUCTP(r->in.credential);
   11970             :                 }
   11971             :                 if (r->in.return_authenticator == NULL) {
   11972             :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   11973             :                         NDR_ZERO_STRUCTP(r->in.return_authenticator);
   11974             :                 }
   11975             :                 if (r->in.sync_context == NULL) {
   11976             :                         NDR_PULL_ALLOC(ndr, r->in.sync_context);
   11977             :                         NDR_ZERO_STRUCTP(r->in.sync_context);
   11978             :                 }
   11979             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   11980          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11981           6 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   11982             :                 }
   11983          24 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11984          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   11985          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   11986          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   11987          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11988           6 :                         NDR_PULL_ALLOC(ndr, r->out.sync_context);
   11989             :                 }
   11990          24 :                 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11991          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
   11992          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
   11993          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
   11994          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   11995           6 :                         NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
   11996             :                 }
   11997          24 :                 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   11998          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
   11999          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
   12000          24 :                 if (_ptr_delta_enum_array) {
   12001           0 :                         NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
   12002             :                 } else {
   12003          24 :                         *r->out.delta_enum_array = NULL;
   12004             :                 }
   12005          24 :                 if (*r->out.delta_enum_array) {
   12006           0 :                         _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
   12007           0 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
   12008           0 :                         NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
   12009           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
   12010             :                 }
   12011          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
   12012          24 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12013             :         }
   12014          40 :         return NDR_ERR_SUCCESS;
   12015             : }
   12016             : 
   12017          12 : _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
   12018             : {
   12019          12 :         ndr_print_struct(ndr, name, "netr_DatabaseSync");
   12020          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12021          12 :         ndr->depth++;
   12022          12 :         if (flags & NDR_SET_VALUES) {
   12023           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12024             :         }
   12025          12 :         if (flags & NDR_IN) {
   12026           0 :                 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
   12027           0 :                 ndr->depth++;
   12028           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   12029           0 :                 ndr->depth++;
   12030           0 :                 ndr_print_string(ndr, "logon_server", r->in.logon_server);
   12031           0 :                 ndr->depth--;
   12032           0 :                 ndr_print_ptr(ndr, "computername", r->in.computername);
   12033           0 :                 ndr->depth++;
   12034           0 :                 ndr_print_string(ndr, "computername", r->in.computername);
   12035           0 :                 ndr->depth--;
   12036           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   12037           0 :                 ndr->depth++;
   12038           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   12039           0 :                 ndr->depth--;
   12040           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   12041           0 :                 ndr->depth++;
   12042           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   12043           0 :                 ndr->depth--;
   12044           0 :                 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
   12045           0 :                 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
   12046           0 :                 ndr->depth++;
   12047           0 :                 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
   12048           0 :                 ndr->depth--;
   12049           0 :                 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
   12050           0 :                 ndr->depth--;
   12051             :         }
   12052          12 :         if (flags & NDR_OUT) {
   12053          12 :                 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
   12054          12 :                 ndr->depth++;
   12055          12 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   12056          12 :                 ndr->depth++;
   12057          12 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   12058          12 :                 ndr->depth--;
   12059          12 :                 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
   12060          12 :                 ndr->depth++;
   12061          12 :                 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
   12062          12 :                 ndr->depth--;
   12063          12 :                 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
   12064          12 :                 ndr->depth++;
   12065          12 :                 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
   12066          12 :                 ndr->depth++;
   12067          12 :                 if (*r->out.delta_enum_array) {
   12068           0 :                         ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
   12069             :                 }
   12070          12 :                 ndr->depth--;
   12071          12 :                 ndr->depth--;
   12072          12 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12073          12 :                 ndr->depth--;
   12074             :         }
   12075          12 :         ndr->depth--;
   12076             : }
   12077             : 
   12078          54 : static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
   12079             : {
   12080          54 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12081          54 :         if (flags & NDR_IN) {
   12082          24 :                 if (r->in.computername == NULL) {
   12083           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12084             :                 }
   12085          24 :                 if (r->in.return_authenticator == NULL) {
   12086           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12087             :                 }
   12088          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
   12089          24 :                 if (r->in.logon_server) {
   12090          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12091          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12092          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12093          24 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12094             :                 }
   12095          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   12096          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12097          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   12098          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12099          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
   12100          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   12101          24 :                 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
   12102          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
   12103          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   12104          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
   12105             :         }
   12106          54 :         if (flags & NDR_OUT) {
   12107          30 :                 if (r->out.return_authenticator == NULL) {
   12108           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12109             :                 }
   12110          30 :                 if (r->out.buffer == NULL) {
   12111           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12112             :                 }
   12113          30 :                 if (r->out.count_returned == NULL) {
   12114           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12115             :                 }
   12116          30 :                 if (r->out.total_entries == NULL) {
   12117           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12118             :                 }
   12119          30 :                 if (r->out.recordid == NULL) {
   12120           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12121             :                 }
   12122          30 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   12123             :                 {
   12124             :                         struct ndr_push *_ndr_buffer;
   12125          30 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
   12126          30 :                         NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
   12127          30 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
   12128             :                 }
   12129          30 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
   12130          30 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
   12131          30 :                 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
   12132          30 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12133             :         }
   12134          45 :         return NDR_ERR_SUCCESS;
   12135             : }
   12136             : 
   12137          48 : static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
   12138             : {
   12139             :         uint32_t _ptr_logon_server;
   12140          48 :         uint32_t size_logon_server_1 = 0;
   12141          48 :         uint32_t length_logon_server_1 = 0;
   12142          48 :         uint32_t size_computername_1 = 0;
   12143          48 :         uint32_t length_computername_1 = 0;
   12144          48 :         TALLOC_CTX *_mem_save_logon_server_0 = NULL;
   12145          48 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   12146          48 :         TALLOC_CTX *_mem_save_buffer_0 = NULL;
   12147          48 :         TALLOC_CTX *_mem_save_count_returned_0 = NULL;
   12148          48 :         TALLOC_CTX *_mem_save_total_entries_0 = NULL;
   12149          48 :         TALLOC_CTX *_mem_save_recordid_0 = NULL;
   12150          48 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12151          48 :         if (flags & NDR_IN) {
   12152          24 :                 NDR_ZERO_STRUCT(r->out);
   12153             : 
   12154          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
   12155          24 :                 if (_ptr_logon_server) {
   12156          24 :                         NDR_PULL_ALLOC(ndr, r->in.logon_server);
   12157             :                 } else {
   12158           0 :                         r->in.logon_server = NULL;
   12159             :                 }
   12160          24 :                 if (r->in.logon_server) {
   12161          24 :                         _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12162          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
   12163          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   12164          24 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   12165          24 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   12166          24 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   12167          24 :                         if (length_logon_server_1 > size_logon_server_1) {
   12168           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   12169             :                         }
   12170          24 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   12171          24 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   12172          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
   12173             :                 }
   12174          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
   12175          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
   12176          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
   12177          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
   12178          24 :                 if (length_computername_1 > size_computername_1) {
   12179           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
   12180             :                 }
   12181          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
   12182          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
   12183          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
   12184          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12185          24 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   12186             :                 }
   12187          24 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12188          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   12189          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   12190          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   12191          24 :                 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
   12192          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
   12193          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   12194          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
   12195          24 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   12196          24 :                 *r->out.return_authenticator = *r->in.return_authenticator;
   12197          24 :                 NDR_PULL_ALLOC(ndr, r->out.buffer);
   12198          24 :                 NDR_ZERO_STRUCTP(r->out.buffer);
   12199          24 :                 NDR_PULL_ALLOC(ndr, r->out.count_returned);
   12200          24 :                 NDR_ZERO_STRUCTP(r->out.count_returned);
   12201          24 :                 NDR_PULL_ALLOC(ndr, r->out.total_entries);
   12202          24 :                 NDR_ZERO_STRUCTP(r->out.total_entries);
   12203          24 :                 NDR_PULL_ALLOC(ndr, r->out.recordid);
   12204          24 :                 NDR_ZERO_STRUCTP(r->out.recordid);
   12205             :         }
   12206          48 :         if (flags & NDR_OUT) {
   12207             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12208             :                 if (r->in.return_authenticator == NULL) {
   12209             :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   12210             :                         NDR_ZERO_STRUCTP(r->in.return_authenticator);
   12211             :                 }
   12212             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12213          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12214           6 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   12215             :                 }
   12216          24 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12217          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   12218          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   12219          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   12220          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12221           6 :                         NDR_PULL_ALLOC(ndr, r->out.buffer);
   12222             :                 }
   12223          24 :                 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12224          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
   12225             :                 {
   12226             :                         struct ndr_pull *_ndr_buffer;
   12227          24 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
   12228          24 :                         NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
   12229          24 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
   12230             :                 }
   12231          29 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
   12232          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12233           6 :                         NDR_PULL_ALLOC(ndr, r->out.count_returned);
   12234             :                 }
   12235          24 :                 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12236          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
   12237          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
   12238          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
   12239          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12240           6 :                         NDR_PULL_ALLOC(ndr, r->out.total_entries);
   12241             :                 }
   12242          24 :                 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12243          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
   12244          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
   12245          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
   12246          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12247           6 :                         NDR_PULL_ALLOC(ndr, r->out.recordid);
   12248             :                 }
   12249          24 :                 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12250          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
   12251          24 :                 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
   12252          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
   12253          24 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12254             :         }
   12255          40 :         return NDR_ERR_SUCCESS;
   12256             : }
   12257             : 
   12258          12 : _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
   12259             : {
   12260          12 :         ndr_print_struct(ndr, name, "netr_AccountDeltas");
   12261          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12262          12 :         ndr->depth++;
   12263          12 :         if (flags & NDR_SET_VALUES) {
   12264           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12265             :         }
   12266          12 :         if (flags & NDR_IN) {
   12267           0 :                 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
   12268           0 :                 ndr->depth++;
   12269           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   12270           0 :                 ndr->depth++;
   12271           0 :                 if (r->in.logon_server) {
   12272           0 :                         ndr_print_string(ndr, "logon_server", r->in.logon_server);
   12273             :                 }
   12274           0 :                 ndr->depth--;
   12275           0 :                 ndr_print_ptr(ndr, "computername", r->in.computername);
   12276           0 :                 ndr->depth++;
   12277           0 :                 ndr_print_string(ndr, "computername", r->in.computername);
   12278           0 :                 ndr->depth--;
   12279           0 :                 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
   12280           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   12281           0 :                 ndr->depth++;
   12282           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   12283           0 :                 ndr->depth--;
   12284           0 :                 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
   12285           0 :                 ndr_print_uint32(ndr, "count", r->in.count);
   12286           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   12287           0 :                 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
   12288           0 :                 ndr->depth--;
   12289             :         }
   12290          12 :         if (flags & NDR_OUT) {
   12291          12 :                 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
   12292          12 :                 ndr->depth++;
   12293          12 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   12294          12 :                 ndr->depth++;
   12295          12 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   12296          12 :                 ndr->depth--;
   12297          12 :                 ndr_print_ptr(ndr, "buffer", r->out.buffer);
   12298          12 :                 ndr->depth++;
   12299          12 :                 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
   12300          12 :                 ndr->depth--;
   12301          12 :                 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
   12302          12 :                 ndr->depth++;
   12303          12 :                 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
   12304          12 :                 ndr->depth--;
   12305          12 :                 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
   12306          12 :                 ndr->depth++;
   12307          12 :                 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
   12308          12 :                 ndr->depth--;
   12309          12 :                 ndr_print_ptr(ndr, "recordid", r->out.recordid);
   12310          12 :                 ndr->depth++;
   12311          12 :                 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
   12312          12 :                 ndr->depth--;
   12313          12 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12314          12 :                 ndr->depth--;
   12315             :         }
   12316          12 :         ndr->depth--;
   12317             : }
   12318             : 
   12319          54 : static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
   12320             : {
   12321          54 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12322          54 :         if (flags & NDR_IN) {
   12323          24 :                 if (r->in.computername == NULL) {
   12324           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12325             :                 }
   12326          24 :                 if (r->in.return_authenticator == NULL) {
   12327           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12328             :                 }
   12329          24 :                 if (r->in.recordid == NULL) {
   12330           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12331             :                 }
   12332          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
   12333          24 :                 if (r->in.logon_server) {
   12334          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12335          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12336          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12337          24 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12338             :                 }
   12339          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   12340          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12341          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   12342          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12343          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
   12344          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   12345          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
   12346          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   12347          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
   12348          24 :                 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
   12349             :         }
   12350          54 :         if (flags & NDR_OUT) {
   12351          30 :                 if (r->out.return_authenticator == NULL) {
   12352           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12353             :                 }
   12354          30 :                 if (r->out.buffer == NULL) {
   12355           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12356             :                 }
   12357          30 :                 if (r->out.count_returned == NULL) {
   12358           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12359             :                 }
   12360          30 :                 if (r->out.total_entries == NULL) {
   12361           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12362             :                 }
   12363          30 :                 if (r->out.next_reference == NULL) {
   12364           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12365             :                 }
   12366          30 :                 if (r->out.recordid == NULL) {
   12367           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12368             :                 }
   12369          30 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   12370             :                 {
   12371             :                         struct ndr_push *_ndr_buffer;
   12372          30 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
   12373          30 :                         NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
   12374          30 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
   12375             :                 }
   12376          30 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
   12377          30 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
   12378          30 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
   12379          30 :                 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
   12380          30 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   12381             :         }
   12382          45 :         return NDR_ERR_SUCCESS;
   12383             : }
   12384             : 
   12385          48 : static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
   12386             : {
   12387             :         uint32_t _ptr_logon_server;
   12388          48 :         uint32_t size_logon_server_1 = 0;
   12389          48 :         uint32_t length_logon_server_1 = 0;
   12390          48 :         uint32_t size_computername_1 = 0;
   12391          48 :         uint32_t length_computername_1 = 0;
   12392          48 :         TALLOC_CTX *_mem_save_logon_server_0 = NULL;
   12393          48 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   12394          48 :         TALLOC_CTX *_mem_save_buffer_0 = NULL;
   12395          48 :         TALLOC_CTX *_mem_save_count_returned_0 = NULL;
   12396          48 :         TALLOC_CTX *_mem_save_total_entries_0 = NULL;
   12397          48 :         TALLOC_CTX *_mem_save_next_reference_0 = NULL;
   12398          48 :         TALLOC_CTX *_mem_save_recordid_0 = NULL;
   12399          48 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12400          48 :         if (flags & NDR_IN) {
   12401          24 :                 NDR_ZERO_STRUCT(r->out);
   12402             : 
   12403          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
   12404          24 :                 if (_ptr_logon_server) {
   12405          24 :                         NDR_PULL_ALLOC(ndr, r->in.logon_server);
   12406             :                 } else {
   12407           0 :                         r->in.logon_server = NULL;
   12408             :                 }
   12409          24 :                 if (r->in.logon_server) {
   12410          24 :                         _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12411          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
   12412          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   12413          24 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   12414          24 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   12415          24 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   12416          24 :                         if (length_logon_server_1 > size_logon_server_1) {
   12417           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   12418             :                         }
   12419          24 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   12420          24 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   12421          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
   12422             :                 }
   12423          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
   12424          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
   12425          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
   12426          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
   12427          24 :                 if (length_computername_1 > size_computername_1) {
   12428           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
   12429             :                 }
   12430          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
   12431          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
   12432          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
   12433          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12434          24 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   12435             :                 }
   12436          24 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12437          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   12438          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   12439          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   12440          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
   12441          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   12442          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
   12443          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12444          24 :                         NDR_PULL_ALLOC(ndr, r->in.recordid);
   12445             :                 }
   12446          24 :                 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12447          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
   12448          24 :                 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
   12449          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
   12450          24 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   12451          24 :                 *r->out.return_authenticator = *r->in.return_authenticator;
   12452          24 :                 NDR_PULL_ALLOC(ndr, r->out.buffer);
   12453          24 :                 NDR_ZERO_STRUCTP(r->out.buffer);
   12454          24 :                 NDR_PULL_ALLOC(ndr, r->out.count_returned);
   12455          24 :                 NDR_ZERO_STRUCTP(r->out.count_returned);
   12456          24 :                 NDR_PULL_ALLOC(ndr, r->out.total_entries);
   12457          24 :                 NDR_ZERO_STRUCTP(r->out.total_entries);
   12458          24 :                 NDR_PULL_ALLOC(ndr, r->out.next_reference);
   12459          24 :                 NDR_ZERO_STRUCTP(r->out.next_reference);
   12460          24 :                 NDR_PULL_ALLOC(ndr, r->out.recordid);
   12461          24 :                 *r->out.recordid = *r->in.recordid;
   12462             :         }
   12463          48 :         if (flags & NDR_OUT) {
   12464             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12465             :                 if (r->in.return_authenticator == NULL) {
   12466             :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   12467             :                         NDR_ZERO_STRUCTP(r->in.return_authenticator);
   12468             :                 }
   12469             :                 if (r->in.recordid == NULL) {
   12470             :                         NDR_PULL_ALLOC(ndr, r->in.recordid);
   12471             :                         NDR_ZERO_STRUCTP(r->in.recordid);
   12472             :                 }
   12473             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12474          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12475           6 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   12476             :                 }
   12477          24 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12478          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   12479          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   12480          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   12481          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12482           6 :                         NDR_PULL_ALLOC(ndr, r->out.buffer);
   12483             :                 }
   12484          24 :                 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12485          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
   12486             :                 {
   12487             :                         struct ndr_pull *_ndr_buffer;
   12488          24 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
   12489          24 :                         NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
   12490          24 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
   12491             :                 }
   12492          29 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
   12493          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12494           6 :                         NDR_PULL_ALLOC(ndr, r->out.count_returned);
   12495             :                 }
   12496          24 :                 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12497          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
   12498          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
   12499          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
   12500          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12501           6 :                         NDR_PULL_ALLOC(ndr, r->out.total_entries);
   12502             :                 }
   12503          24 :                 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12504          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
   12505          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
   12506          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
   12507          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12508           6 :                         NDR_PULL_ALLOC(ndr, r->out.next_reference);
   12509             :                 }
   12510          24 :                 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12511          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
   12512          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
   12513          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
   12514          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12515           6 :                         NDR_PULL_ALLOC(ndr, r->out.recordid);
   12516             :                 }
   12517          24 :                 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12518          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
   12519          24 :                 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
   12520          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
   12521          24 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   12522             :         }
   12523          40 :         return NDR_ERR_SUCCESS;
   12524             : }
   12525             : 
   12526          12 : _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
   12527             : {
   12528          12 :         ndr_print_struct(ndr, name, "netr_AccountSync");
   12529          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12530          12 :         ndr->depth++;
   12531          12 :         if (flags & NDR_SET_VALUES) {
   12532           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12533             :         }
   12534          12 :         if (flags & NDR_IN) {
   12535           0 :                 ndr_print_struct(ndr, "in", "netr_AccountSync");
   12536           0 :                 ndr->depth++;
   12537           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   12538           0 :                 ndr->depth++;
   12539           0 :                 if (r->in.logon_server) {
   12540           0 :                         ndr_print_string(ndr, "logon_server", r->in.logon_server);
   12541             :                 }
   12542           0 :                 ndr->depth--;
   12543           0 :                 ndr_print_ptr(ndr, "computername", r->in.computername);
   12544           0 :                 ndr->depth++;
   12545           0 :                 ndr_print_string(ndr, "computername", r->in.computername);
   12546           0 :                 ndr->depth--;
   12547           0 :                 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
   12548           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   12549           0 :                 ndr->depth++;
   12550           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   12551           0 :                 ndr->depth--;
   12552           0 :                 ndr_print_uint32(ndr, "reference", r->in.reference);
   12553           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   12554           0 :                 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
   12555           0 :                 ndr_print_ptr(ndr, "recordid", r->in.recordid);
   12556           0 :                 ndr->depth++;
   12557           0 :                 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
   12558           0 :                 ndr->depth--;
   12559           0 :                 ndr->depth--;
   12560             :         }
   12561          12 :         if (flags & NDR_OUT) {
   12562          12 :                 ndr_print_struct(ndr, "out", "netr_AccountSync");
   12563          12 :                 ndr->depth++;
   12564          12 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   12565          12 :                 ndr->depth++;
   12566          12 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   12567          12 :                 ndr->depth--;
   12568          12 :                 ndr_print_ptr(ndr, "buffer", r->out.buffer);
   12569          12 :                 ndr->depth++;
   12570          12 :                 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
   12571          12 :                 ndr->depth--;
   12572          12 :                 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
   12573          12 :                 ndr->depth++;
   12574          12 :                 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
   12575          12 :                 ndr->depth--;
   12576          12 :                 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
   12577          12 :                 ndr->depth++;
   12578          12 :                 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
   12579          12 :                 ndr->depth--;
   12580          12 :                 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
   12581          12 :                 ndr->depth++;
   12582          12 :                 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
   12583          12 :                 ndr->depth--;
   12584          12 :                 ndr_print_ptr(ndr, "recordid", r->out.recordid);
   12585          12 :                 ndr->depth++;
   12586          12 :                 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
   12587          12 :                 ndr->depth--;
   12588          12 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   12589          12 :                 ndr->depth--;
   12590             :         }
   12591          12 :         ndr->depth--;
   12592             : }
   12593             : 
   12594          54 : static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
   12595             : {
   12596          54 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12597          54 :         if (flags & NDR_IN) {
   12598          24 :                 if (r->in.logon_server == NULL) {
   12599           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12600             :                 }
   12601          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12602          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12603          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12604          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12605          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
   12606          24 :                 if (r->in.domainname) {
   12607          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
   12608          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12609          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
   12610          24 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12611             :                 }
   12612             :         }
   12613          54 :         if (flags & NDR_OUT) {
   12614          30 :                 if (r->out.dcname == NULL) {
   12615           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12616             :                 }
   12617          30 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
   12618          30 :                 if (*r->out.dcname) {
   12619          30 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
   12620          30 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12621          30 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
   12622          30 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12623             :                 }
   12624          30 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   12625             :         }
   12626          45 :         return NDR_ERR_SUCCESS;
   12627             : }
   12628             : 
   12629          48 : static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
   12630             : {
   12631          48 :         uint32_t size_logon_server_1 = 0;
   12632          48 :         uint32_t length_logon_server_1 = 0;
   12633             :         uint32_t _ptr_domainname;
   12634          48 :         uint32_t size_domainname_1 = 0;
   12635          48 :         uint32_t length_domainname_1 = 0;
   12636             :         uint32_t _ptr_dcname;
   12637          48 :         uint32_t size_dcname_2 = 0;
   12638          48 :         uint32_t length_dcname_2 = 0;
   12639          48 :         TALLOC_CTX *_mem_save_domainname_0 = NULL;
   12640          48 :         TALLOC_CTX *_mem_save_dcname_0 = NULL;
   12641          48 :         TALLOC_CTX *_mem_save_dcname_1 = NULL;
   12642          48 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12643          48 :         if (flags & NDR_IN) {
   12644          24 :                 NDR_ZERO_STRUCT(r->out);
   12645             : 
   12646          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   12647          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   12648          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   12649          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   12650          24 :                 if (length_logon_server_1 > size_logon_server_1) {
   12651           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   12652             :                 }
   12653          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   12654          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   12655          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
   12656          24 :                 if (_ptr_domainname) {
   12657          24 :                         NDR_PULL_ALLOC(ndr, r->in.domainname);
   12658             :                 } else {
   12659           0 :                         r->in.domainname = NULL;
   12660             :                 }
   12661          24 :                 if (r->in.domainname) {
   12662          24 :                         _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12663          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
   12664          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
   12665          24 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
   12666          24 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domainname, &size_domainname_1));
   12667          24 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domainname, &length_domainname_1));
   12668          24 :                         if (length_domainname_1 > size_domainname_1) {
   12669           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domainname_1, length_domainname_1);
   12670             :                         }
   12671          24 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domainname_1, sizeof(uint16_t)));
   12672          24 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, length_domainname_1, sizeof(uint16_t), CH_UTF16));
   12673          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
   12674             :                 }
   12675          24 :                 NDR_PULL_ALLOC(ndr, r->out.dcname);
   12676          24 :                 NDR_ZERO_STRUCTP(r->out.dcname);
   12677             :         }
   12678          48 :         if (flags & NDR_OUT) {
   12679             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12680             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12681          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12682           6 :                         NDR_PULL_ALLOC(ndr, r->out.dcname);
   12683             :                 }
   12684          24 :                 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12685          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
   12686          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
   12687          24 :                 if (_ptr_dcname) {
   12688          24 :                         NDR_PULL_ALLOC(ndr, *r->out.dcname);
   12689             :                 } else {
   12690           0 :                         *r->out.dcname = NULL;
   12691             :                 }
   12692          24 :                 if (*r->out.dcname) {
   12693          24 :                         _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
   12694          24 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
   12695          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
   12696          24 :                         NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
   12697          24 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.dcname, &size_dcname_2));
   12698          24 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.dcname, &length_dcname_2));
   12699          24 :                         if (length_dcname_2 > size_dcname_2) {
   12700           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);
   12701             :                         }
   12702          24 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint16_t)));
   12703          24 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint16_t), CH_UTF16));
   12704          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
   12705             :                 }
   12706          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
   12707          24 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   12708             :         }
   12709          40 :         return NDR_ERR_SUCCESS;
   12710             : }
   12711             : 
   12712          12 : _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
   12713             : {
   12714          12 :         ndr_print_struct(ndr, name, "netr_GetDcName");
   12715          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12716          12 :         ndr->depth++;
   12717          12 :         if (flags & NDR_SET_VALUES) {
   12718           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12719             :         }
   12720          12 :         if (flags & NDR_IN) {
   12721           0 :                 ndr_print_struct(ndr, "in", "netr_GetDcName");
   12722           0 :                 ndr->depth++;
   12723           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   12724           0 :                 ndr->depth++;
   12725           0 :                 ndr_print_string(ndr, "logon_server", r->in.logon_server);
   12726           0 :                 ndr->depth--;
   12727           0 :                 ndr_print_ptr(ndr, "domainname", r->in.domainname);
   12728           0 :                 ndr->depth++;
   12729           0 :                 if (r->in.domainname) {
   12730           0 :                         ndr_print_string(ndr, "domainname", r->in.domainname);
   12731             :                 }
   12732           0 :                 ndr->depth--;
   12733           0 :                 ndr->depth--;
   12734             :         }
   12735          12 :         if (flags & NDR_OUT) {
   12736          12 :                 ndr_print_struct(ndr, "out", "netr_GetDcName");
   12737          12 :                 ndr->depth++;
   12738          12 :                 ndr_print_ptr(ndr, "dcname", r->out.dcname);
   12739          12 :                 ndr->depth++;
   12740          12 :                 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
   12741          12 :                 ndr->depth++;
   12742          12 :                 if (*r->out.dcname) {
   12743          12 :                         ndr_print_string(ndr, "dcname", *r->out.dcname);
   12744             :                 }
   12745          12 :                 ndr->depth--;
   12746          12 :                 ndr->depth--;
   12747          12 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   12748          12 :                 ndr->depth--;
   12749             :         }
   12750          12 :         ndr->depth--;
   12751             : }
   12752             : 
   12753       12396 : static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
   12754             : {
   12755       12396 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12756       12396 :         if (flags & NDR_IN) {
   12757        5655 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
   12758        5655 :                 if (r->in.logon_server) {
   12759        5655 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12760        5655 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12761        5655 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12762        5655 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12763             :                 }
   12764        5655 :                 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
   12765        5655 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   12766             :         }
   12767       12396 :         if (flags & NDR_OUT) {
   12768        6741 :                 if (r->out.query == NULL) {
   12769           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12770             :                 }
   12771        6741 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
   12772        6741 :                 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
   12773        6741 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   12774             :         }
   12775       10251 :         return NDR_ERR_SUCCESS;
   12776             : }
   12777             : 
   12778       11226 : static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
   12779             : {
   12780             :         uint32_t _ptr_logon_server;
   12781       11226 :         uint32_t size_logon_server_1 = 0;
   12782       11226 :         uint32_t length_logon_server_1 = 0;
   12783       11226 :         TALLOC_CTX *_mem_save_logon_server_0 = NULL;
   12784       11226 :         TALLOC_CTX *_mem_save_query_0 = NULL;
   12785       11226 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12786       11226 :         if (flags & NDR_IN) {
   12787        5571 :                 NDR_ZERO_STRUCT(r->out);
   12788             : 
   12789        5571 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
   12790        5571 :                 if (_ptr_logon_server) {
   12791        5571 :                         NDR_PULL_ALLOC(ndr, r->in.logon_server);
   12792             :                 } else {
   12793           0 :                         r->in.logon_server = NULL;
   12794             :                 }
   12795        5571 :                 if (r->in.logon_server) {
   12796        5571 :                         _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12797        5571 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
   12798        5571 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   12799        5571 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   12800        5571 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   12801        5571 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   12802        5571 :                         if (length_logon_server_1 > size_logon_server_1) {
   12803           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   12804             :                         }
   12805        5571 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   12806        5571 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   12807        5571 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
   12808             :                 }
   12809        5571 :                 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
   12810        5571 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   12811        5571 :                 NDR_PULL_ALLOC(ndr, r->out.query);
   12812        5571 :                 NDR_ZERO_STRUCTP(r->out.query);
   12813             :         }
   12814       11226 :         if (flags & NDR_OUT) {
   12815             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12816             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12817        5655 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12818        1170 :                         NDR_PULL_ALLOC(ndr, r->out.query);
   12819             :                 }
   12820        5655 :                 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12821        5655 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
   12822        5655 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
   12823        5655 :                 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
   12824        5655 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
   12825        5655 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   12826             :         }
   12827        9276 :         return NDR_ERR_SUCCESS;
   12828             : }
   12829             : 
   12830        2340 : _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
   12831             : {
   12832        2340 :         ndr_print_struct(ndr, name, "netr_LogonControl");
   12833        2340 :         if (r == NULL) { ndr_print_null(ndr); return; }
   12834        2340 :         ndr->depth++;
   12835        2340 :         if (flags & NDR_SET_VALUES) {
   12836           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   12837             :         }
   12838        2340 :         if (flags & NDR_IN) {
   12839           0 :                 ndr_print_struct(ndr, "in", "netr_LogonControl");
   12840           0 :                 ndr->depth++;
   12841           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   12842           0 :                 ndr->depth++;
   12843           0 :                 if (r->in.logon_server) {
   12844           0 :                         ndr_print_string(ndr, "logon_server", r->in.logon_server);
   12845             :                 }
   12846           0 :                 ndr->depth--;
   12847           0 :                 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
   12848           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   12849           0 :                 ndr->depth--;
   12850             :         }
   12851        2340 :         if (flags & NDR_OUT) {
   12852        2340 :                 ndr_print_struct(ndr, "out", "netr_LogonControl");
   12853        2340 :                 ndr->depth++;
   12854        2340 :                 ndr_print_ptr(ndr, "query", r->out.query);
   12855        2340 :                 ndr->depth++;
   12856        2340 :                 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
   12857        2340 :                 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
   12858        2340 :                 ndr->depth--;
   12859        2340 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   12860        2340 :                 ndr->depth--;
   12861             :         }
   12862        2340 :         ndr->depth--;
   12863             : }
   12864             : 
   12865         162 : static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
   12866             : {
   12867         162 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   12868         162 :         if (flags & NDR_IN) {
   12869          72 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
   12870          72 :                 if (r->in.logon_server) {
   12871          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12872          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12873          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   12874          72 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12875             :                 }
   12876          72 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
   12877          72 :                 if (r->in.domainname) {
   12878          48 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
   12879          48 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12880          48 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
   12881          48 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12882             :                 }
   12883             :         }
   12884         162 :         if (flags & NDR_OUT) {
   12885          90 :                 if (r->out.dcname == NULL) {
   12886           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   12887             :                 }
   12888          90 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
   12889          90 :                 if (*r->out.dcname) {
   12890           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
   12891           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   12892           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
   12893           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   12894             :                 }
   12895          90 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   12896             :         }
   12897         135 :         return NDR_ERR_SUCCESS;
   12898             : }
   12899             : 
   12900         144 : static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
   12901             : {
   12902             :         uint32_t _ptr_logon_server;
   12903         144 :         uint32_t size_logon_server_1 = 0;
   12904         144 :         uint32_t length_logon_server_1 = 0;
   12905             :         uint32_t _ptr_domainname;
   12906         144 :         uint32_t size_domainname_1 = 0;
   12907         144 :         uint32_t length_domainname_1 = 0;
   12908             :         uint32_t _ptr_dcname;
   12909         144 :         uint32_t size_dcname_2 = 0;
   12910         144 :         uint32_t length_dcname_2 = 0;
   12911         144 :         TALLOC_CTX *_mem_save_logon_server_0 = NULL;
   12912         144 :         TALLOC_CTX *_mem_save_domainname_0 = NULL;
   12913         144 :         TALLOC_CTX *_mem_save_dcname_0 = NULL;
   12914         144 :         TALLOC_CTX *_mem_save_dcname_1 = NULL;
   12915         144 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   12916         144 :         if (flags & NDR_IN) {
   12917          72 :                 NDR_ZERO_STRUCT(r->out);
   12918             : 
   12919          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
   12920          72 :                 if (_ptr_logon_server) {
   12921          72 :                         NDR_PULL_ALLOC(ndr, r->in.logon_server);
   12922             :                 } else {
   12923           0 :                         r->in.logon_server = NULL;
   12924             :                 }
   12925          72 :                 if (r->in.logon_server) {
   12926          72 :                         _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12927          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
   12928          72 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   12929          72 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   12930          72 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   12931          72 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   12932          72 :                         if (length_logon_server_1 > size_logon_server_1) {
   12933           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   12934             :                         }
   12935          72 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   12936          72 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   12937          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
   12938             :                 }
   12939          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
   12940          72 :                 if (_ptr_domainname) {
   12941          48 :                         NDR_PULL_ALLOC(ndr, r->in.domainname);
   12942             :                 } else {
   12943          24 :                         r->in.domainname = NULL;
   12944             :                 }
   12945          72 :                 if (r->in.domainname) {
   12946          48 :                         _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12947          48 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
   12948          48 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
   12949          48 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
   12950          48 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domainname, &size_domainname_1));
   12951          48 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domainname, &length_domainname_1));
   12952          48 :                         if (length_domainname_1 > size_domainname_1) {
   12953           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domainname_1, length_domainname_1);
   12954             :                         }
   12955          48 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domainname_1, sizeof(uint16_t)));
   12956          48 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, length_domainname_1, sizeof(uint16_t), CH_UTF16));
   12957          48 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
   12958             :                 }
   12959          72 :                 NDR_PULL_ALLOC(ndr, r->out.dcname);
   12960          72 :                 NDR_ZERO_STRUCTP(r->out.dcname);
   12961             :         }
   12962         144 :         if (flags & NDR_OUT) {
   12963             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   12964             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   12965          72 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   12966          18 :                         NDR_PULL_ALLOC(ndr, r->out.dcname);
   12967             :                 }
   12968          72 :                 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
   12969          72 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
   12970          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
   12971          72 :                 if (_ptr_dcname) {
   12972           0 :                         NDR_PULL_ALLOC(ndr, *r->out.dcname);
   12973             :                 } else {
   12974          72 :                         *r->out.dcname = NULL;
   12975             :                 }
   12976          72 :                 if (*r->out.dcname) {
   12977           0 :                         _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
   12978           0 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
   12979           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
   12980           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
   12981           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.dcname, &size_dcname_2));
   12982           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.dcname, &length_dcname_2));
   12983           0 :                         if (length_dcname_2 > size_dcname_2) {
   12984           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);
   12985             :                         }
   12986           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint16_t)));
   12987           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint16_t), CH_UTF16));
   12988           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
   12989             :                 }
   12990          72 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
   12991          72 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   12992             :         }
   12993         120 :         return NDR_ERR_SUCCESS;
   12994             : }
   12995             : 
   12996          36 : _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
   12997             : {
   12998          36 :         ndr_print_struct(ndr, name, "netr_GetAnyDCName");
   12999          36 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13000          36 :         ndr->depth++;
   13001          36 :         if (flags & NDR_SET_VALUES) {
   13002           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13003             :         }
   13004          36 :         if (flags & NDR_IN) {
   13005           0 :                 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
   13006           0 :                 ndr->depth++;
   13007           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   13008           0 :                 ndr->depth++;
   13009           0 :                 if (r->in.logon_server) {
   13010           0 :                         ndr_print_string(ndr, "logon_server", r->in.logon_server);
   13011             :                 }
   13012           0 :                 ndr->depth--;
   13013           0 :                 ndr_print_ptr(ndr, "domainname", r->in.domainname);
   13014           0 :                 ndr->depth++;
   13015           0 :                 if (r->in.domainname) {
   13016           0 :                         ndr_print_string(ndr, "domainname", r->in.domainname);
   13017             :                 }
   13018           0 :                 ndr->depth--;
   13019           0 :                 ndr->depth--;
   13020             :         }
   13021          36 :         if (flags & NDR_OUT) {
   13022          36 :                 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
   13023          36 :                 ndr->depth++;
   13024          36 :                 ndr_print_ptr(ndr, "dcname", r->out.dcname);
   13025          36 :                 ndr->depth++;
   13026          36 :                 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
   13027          36 :                 ndr->depth++;
   13028          36 :                 if (*r->out.dcname) {
   13029           0 :                         ndr_print_string(ndr, "dcname", *r->out.dcname);
   13030             :                 }
   13031          36 :                 ndr->depth--;
   13032          36 :                 ndr->depth--;
   13033          36 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   13034          36 :                 ndr->depth--;
   13035             :         }
   13036          36 :         ndr->depth--;
   13037             : }
   13038             : 
   13039        2660 : static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
   13040             : {
   13041        2660 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13042        2660 :         if (flags & NDR_IN) {
   13043        1218 :                 if (r->in.data == NULL) {
   13044           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13045             :                 }
   13046        1218 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
   13047        1218 :                 if (r->in.logon_server) {
   13048        1218 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   13049        1218 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13050        1218 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   13051        1218 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13052             :                 }
   13053        1218 :                 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
   13054        1218 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   13055        1218 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
   13056        1218 :                 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
   13057             :         }
   13058        2660 :         if (flags & NDR_OUT) {
   13059        1442 :                 if (r->out.query == NULL) {
   13060           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13061             :                 }
   13062        1442 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
   13063        1442 :                 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
   13064        1442 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   13065             :         }
   13066        2198 :         return NDR_ERR_SUCCESS;
   13067             : }
   13068             : 
   13069        2408 : static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
   13070             : {
   13071             :         uint32_t _ptr_logon_server;
   13072        2408 :         uint32_t size_logon_server_1 = 0;
   13073        2408 :         uint32_t length_logon_server_1 = 0;
   13074        2408 :         TALLOC_CTX *_mem_save_logon_server_0 = NULL;
   13075        2408 :         TALLOC_CTX *_mem_save_data_0 = NULL;
   13076        2408 :         TALLOC_CTX *_mem_save_query_0 = NULL;
   13077        2408 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13078        2408 :         if (flags & NDR_IN) {
   13079        1190 :                 NDR_ZERO_STRUCT(r->out);
   13080             : 
   13081        1190 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
   13082        1190 :                 if (_ptr_logon_server) {
   13083        1190 :                         NDR_PULL_ALLOC(ndr, r->in.logon_server);
   13084             :                 } else {
   13085           0 :                         r->in.logon_server = NULL;
   13086             :                 }
   13087        1190 :                 if (r->in.logon_server) {
   13088        1190 :                         _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13089        1190 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
   13090        1190 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   13091        1190 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   13092        1190 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   13093        1190 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   13094        1190 :                         if (length_logon_server_1 > size_logon_server_1) {
   13095           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   13096             :                         }
   13097        1190 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   13098        1190 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   13099        1190 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
   13100             :                 }
   13101        1190 :                 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
   13102        1190 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   13103        1190 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13104        1190 :                         NDR_PULL_ALLOC(ndr, r->in.data);
   13105             :                 }
   13106        1190 :                 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13107        1190 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
   13108        1190 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
   13109        1190 :                 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
   13110        1190 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
   13111        1190 :                 NDR_PULL_ALLOC(ndr, r->out.query);
   13112        1190 :                 NDR_ZERO_STRUCTP(r->out.query);
   13113             :         }
   13114        2408 :         if (flags & NDR_OUT) {
   13115             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13116             :                 if (r->in.data == NULL) {
   13117             :                         NDR_PULL_ALLOC(ndr, r->in.data);
   13118             :                         NDR_ZERO_STRUCTP(r->in.data);
   13119             :                 }
   13120             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13121        1218 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13122         252 :                         NDR_PULL_ALLOC(ndr, r->out.query);
   13123             :                 }
   13124        1218 :                 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13125        1218 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
   13126        1218 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
   13127        1218 :                 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
   13128        1218 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
   13129        1218 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   13130             :         }
   13131        1988 :         return NDR_ERR_SUCCESS;
   13132             : }
   13133             : 
   13134         504 : _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
   13135             : {
   13136         504 :         ndr_print_struct(ndr, name, "netr_LogonControl2");
   13137         504 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13138         504 :         ndr->depth++;
   13139         504 :         if (flags & NDR_SET_VALUES) {
   13140           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13141             :         }
   13142         504 :         if (flags & NDR_IN) {
   13143           0 :                 ndr_print_struct(ndr, "in", "netr_LogonControl2");
   13144           0 :                 ndr->depth++;
   13145           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   13146           0 :                 ndr->depth++;
   13147           0 :                 if (r->in.logon_server) {
   13148           0 :                         ndr_print_string(ndr, "logon_server", r->in.logon_server);
   13149             :                 }
   13150           0 :                 ndr->depth--;
   13151           0 :                 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
   13152           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   13153           0 :                 ndr_print_ptr(ndr, "data", r->in.data);
   13154           0 :                 ndr->depth++;
   13155           0 :                 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
   13156           0 :                 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
   13157           0 :                 ndr->depth--;
   13158           0 :                 ndr->depth--;
   13159             :         }
   13160         504 :         if (flags & NDR_OUT) {
   13161         504 :                 ndr_print_struct(ndr, "out", "netr_LogonControl2");
   13162         504 :                 ndr->depth++;
   13163         504 :                 ndr_print_ptr(ndr, "query", r->out.query);
   13164         504 :                 ndr->depth++;
   13165         504 :                 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
   13166         504 :                 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
   13167         504 :                 ndr->depth--;
   13168         504 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   13169         504 :                 ndr->depth--;
   13170             :         }
   13171         504 :         ndr->depth--;
   13172             : }
   13173             : 
   13174        2263 : static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
   13175             : {
   13176        2263 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13177        2263 :         if (flags & NDR_IN) {
   13178        1043 :                 if (r->in.account_name == NULL) {
   13179           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13180             :                 }
   13181        1043 :                 if (r->in.computer_name == NULL) {
   13182           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13183             :                 }
   13184        1043 :                 if (r->in.credentials == NULL) {
   13185           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13186             :                 }
   13187        1043 :                 if (r->in.negotiate_flags == NULL) {
   13188           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13189             :                 }
   13190        1043 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   13191        1043 :                 if (r->in.server_name) {
   13192         481 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   13193         481 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13194         481 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   13195         481 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13196             :                 }
   13197        1043 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   13198        1043 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13199        1043 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   13200        1043 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13201        1043 :                 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
   13202        1043 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   13203        1043 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13204        1043 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   13205        1043 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13206        1043 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
   13207        1043 :                 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
   13208             :         }
   13209        2263 :         if (flags & NDR_OUT) {
   13210        1220 :                 if (r->out.return_credentials == NULL) {
   13211           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13212             :                 }
   13213        1220 :                 if (r->out.negotiate_flags == NULL) {
   13214           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13215             :                 }
   13216        1220 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
   13217        1220 :                 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
   13218        1220 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   13219             :         }
   13220        1909 :         return NDR_ERR_SUCCESS;
   13221             : }
   13222             : 
   13223        2070 : static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
   13224             : {
   13225             :         uint32_t _ptr_server_name;
   13226        2070 :         uint32_t size_server_name_1 = 0;
   13227        2070 :         uint32_t length_server_name_1 = 0;
   13228        2070 :         uint32_t size_account_name_1 = 0;
   13229        2070 :         uint32_t length_account_name_1 = 0;
   13230        2070 :         uint32_t size_computer_name_1 = 0;
   13231        2070 :         uint32_t length_computer_name_1 = 0;
   13232        2070 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   13233        2070 :         TALLOC_CTX *_mem_save_credentials_0 = NULL;
   13234        2070 :         TALLOC_CTX *_mem_save_return_credentials_0 = NULL;
   13235        2070 :         TALLOC_CTX *_mem_save_negotiate_flags_0 = NULL;
   13236        2070 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13237        2070 :         if (flags & NDR_IN) {
   13238        1027 :                 NDR_ZERO_STRUCT(r->out);
   13239             : 
   13240        1027 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   13241        1027 :                 if (_ptr_server_name) {
   13242         465 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   13243             :                 } else {
   13244         562 :                         r->in.server_name = NULL;
   13245             :                 }
   13246        1027 :                 if (r->in.server_name) {
   13247         465 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13248         465 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   13249         465 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   13250         465 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   13251         465 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   13252         465 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   13253         465 :                         if (length_server_name_1 > size_server_name_1) {
   13254           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   13255             :                         }
   13256         465 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   13257         465 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   13258         465 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   13259             :                 }
   13260        1027 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   13261        1027 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   13262        1027 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   13263        1027 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   13264        1027 :                 if (length_account_name_1 > size_account_name_1) {
   13265           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   13266             :                 }
   13267        1027 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   13268        1027 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   13269        1027 :                 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
   13270        1027 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   13271        1027 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   13272        1027 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   13273        1027 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   13274        1027 :                 if (length_computer_name_1 > size_computer_name_1) {
   13275           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   13276             :                 }
   13277        1027 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   13278        1027 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   13279        1027 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13280        1027 :                         NDR_PULL_ALLOC(ndr, r->in.credentials);
   13281             :                 }
   13282        1027 :                 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13283        1027 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
   13284        1027 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
   13285        1027 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
   13286        1027 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13287        1027 :                         NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
   13288             :                 }
   13289        1027 :                 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13290        1027 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
   13291        1027 :                 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
   13292        1027 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
   13293        1027 :                 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
   13294        1027 :                 NDR_ZERO_STRUCTP(r->out.return_credentials);
   13295        1027 :                 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
   13296        1027 :                 *r->out.negotiate_flags = *r->in.negotiate_flags;
   13297             :         }
   13298        2070 :         if (flags & NDR_OUT) {
   13299             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13300             :                 if (r->in.credentials == NULL) {
   13301             :                         NDR_PULL_ALLOC(ndr, r->in.credentials);
   13302             :                         NDR_ZERO_STRUCTP(r->in.credentials);
   13303             :                 }
   13304             :                 if (r->in.negotiate_flags == NULL) {
   13305             :                         NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
   13306             :                         NDR_ZERO_STRUCTP(r->in.negotiate_flags);
   13307             :                 }
   13308             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13309        1043 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13310         193 :                         NDR_PULL_ALLOC(ndr, r->out.return_credentials);
   13311             :                 }
   13312        1043 :                 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13313        1043 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
   13314        1043 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
   13315        1043 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
   13316        1043 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13317         193 :                         NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
   13318             :                 }
   13319        1043 :                 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13320        1043 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
   13321        1043 :                 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
   13322        1043 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
   13323        1043 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   13324             :         }
   13325        1750 :         return NDR_ERR_SUCCESS;
   13326             : }
   13327             : 
   13328         386 : _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
   13329             : {
   13330         386 :         ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
   13331         386 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13332         386 :         ndr->depth++;
   13333         386 :         if (flags & NDR_SET_VALUES) {
   13334           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13335             :         }
   13336         386 :         if (flags & NDR_IN) {
   13337           0 :                 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
   13338           0 :                 ndr->depth++;
   13339           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   13340           0 :                 ndr->depth++;
   13341           0 :                 if (r->in.server_name) {
   13342           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   13343             :                 }
   13344           0 :                 ndr->depth--;
   13345           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   13346           0 :                 ndr->depth++;
   13347           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   13348           0 :                 ndr->depth--;
   13349           0 :                 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
   13350           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   13351           0 :                 ndr->depth++;
   13352           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   13353           0 :                 ndr->depth--;
   13354           0 :                 ndr_print_ptr(ndr, "credentials", r->in.credentials);
   13355           0 :                 ndr->depth++;
   13356           0 :                 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
   13357           0 :                 ndr->depth--;
   13358           0 :                 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
   13359           0 :                 ndr->depth++;
   13360           0 :                 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
   13361           0 :                 ndr->depth--;
   13362           0 :                 ndr->depth--;
   13363             :         }
   13364         386 :         if (flags & NDR_OUT) {
   13365         386 :                 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
   13366         386 :                 ndr->depth++;
   13367         386 :                 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
   13368         386 :                 ndr->depth++;
   13369         386 :                 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
   13370         386 :                 ndr->depth--;
   13371         386 :                 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
   13372         386 :                 ndr->depth++;
   13373         386 :                 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
   13374         386 :                 ndr->depth--;
   13375         386 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   13376         386 :                 ndr->depth--;
   13377             :         }
   13378         386 :         ndr->depth--;
   13379             : }
   13380             : 
   13381          27 : static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
   13382             : {
   13383          27 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13384          27 :         if (flags & NDR_IN) {
   13385          12 :                 if (r->in.logon_server == NULL) {
   13386           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13387             :                 }
   13388          12 :                 if (r->in.computername == NULL) {
   13389           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13390             :                 }
   13391          12 :                 if (r->in.credential == NULL) {
   13392           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13393             :                 }
   13394          12 :                 if (r->in.return_authenticator == NULL) {
   13395           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13396             :                 }
   13397          12 :                 if (r->in.sync_context == NULL) {
   13398           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13399             :                 }
   13400          12 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   13401          12 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13402          12 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   13403          12 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13404          12 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   13405          12 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13406          12 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   13407          12 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13408          12 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   13409          12 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   13410          12 :                 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
   13411          12 :                 NDR_CHECK(ndr_push_SyncStateEnum(ndr, NDR_SCALARS, r->in.restart_state));
   13412          12 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
   13413          12 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
   13414             :         }
   13415          27 :         if (flags & NDR_OUT) {
   13416          15 :                 if (r->out.return_authenticator == NULL) {
   13417           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13418             :                 }
   13419          15 :                 if (r->out.sync_context == NULL) {
   13420           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13421             :                 }
   13422          15 :                 if (r->out.delta_enum_array == NULL) {
   13423           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13424             :                 }
   13425          15 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   13426          15 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
   13427          15 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
   13428          15 :                 if (*r->out.delta_enum_array) {
   13429           0 :                         NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
   13430             :                 }
   13431          15 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   13432             :         }
   13433          27 :         return NDR_ERR_SUCCESS;
   13434             : }
   13435             : 
   13436          24 : static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
   13437             : {
   13438          24 :         uint32_t size_logon_server_1 = 0;
   13439          24 :         uint32_t length_logon_server_1 = 0;
   13440          24 :         uint32_t size_computername_1 = 0;
   13441          24 :         uint32_t length_computername_1 = 0;
   13442             :         uint32_t _ptr_delta_enum_array;
   13443          24 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   13444          24 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   13445          24 :         TALLOC_CTX *_mem_save_sync_context_0 = NULL;
   13446          24 :         TALLOC_CTX *_mem_save_delta_enum_array_0 = NULL;
   13447          24 :         TALLOC_CTX *_mem_save_delta_enum_array_1 = NULL;
   13448          24 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13449          24 :         if (flags & NDR_IN) {
   13450          12 :                 NDR_ZERO_STRUCT(r->out);
   13451             : 
   13452          12 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   13453          12 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   13454          12 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   13455          12 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   13456          12 :                 if (length_logon_server_1 > size_logon_server_1) {
   13457           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   13458             :                 }
   13459          12 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   13460          12 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   13461          12 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
   13462          12 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
   13463          12 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
   13464          12 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
   13465          12 :                 if (length_computername_1 > size_computername_1) {
   13466           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
   13467             :                 }
   13468          12 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
   13469          12 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
   13470          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13471          12 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   13472             :                 }
   13473          12 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13474          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   13475          12 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   13476          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   13477          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13478          12 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   13479             :                 }
   13480          12 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13481          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   13482          12 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   13483          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   13484          12 :                 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
   13485          12 :                 NDR_CHECK(ndr_pull_SyncStateEnum(ndr, NDR_SCALARS, &r->in.restart_state));
   13486          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13487          12 :                         NDR_PULL_ALLOC(ndr, r->in.sync_context);
   13488             :                 }
   13489          12 :                 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13490          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
   13491          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
   13492          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
   13493          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
   13494          12 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   13495          12 :                 *r->out.return_authenticator = *r->in.return_authenticator;
   13496          12 :                 NDR_PULL_ALLOC(ndr, r->out.sync_context);
   13497          12 :                 *r->out.sync_context = *r->in.sync_context;
   13498          12 :                 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
   13499          12 :                 NDR_ZERO_STRUCTP(r->out.delta_enum_array);
   13500             :         }
   13501          24 :         if (flags & NDR_OUT) {
   13502             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13503             :                 if (r->in.credential == NULL) {
   13504             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   13505             :                         NDR_ZERO_STRUCTP(r->in.credential);
   13506             :                 }
   13507             :                 if (r->in.return_authenticator == NULL) {
   13508             :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   13509             :                         NDR_ZERO_STRUCTP(r->in.return_authenticator);
   13510             :                 }
   13511             :                 if (r->in.sync_context == NULL) {
   13512             :                         NDR_PULL_ALLOC(ndr, r->in.sync_context);
   13513             :                         NDR_ZERO_STRUCTP(r->in.sync_context);
   13514             :                 }
   13515             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13516          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13517           3 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   13518             :                 }
   13519          12 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13520          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   13521          12 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   13522          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   13523          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13524           3 :                         NDR_PULL_ALLOC(ndr, r->out.sync_context);
   13525             :                 }
   13526          12 :                 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13527          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
   13528          12 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
   13529          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
   13530          12 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13531           3 :                         NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
   13532             :                 }
   13533          12 :                 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13534          12 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
   13535          12 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
   13536          12 :                 if (_ptr_delta_enum_array) {
   13537           0 :                         NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
   13538             :                 } else {
   13539          12 :                         *r->out.delta_enum_array = NULL;
   13540             :                 }
   13541          12 :                 if (*r->out.delta_enum_array) {
   13542           0 :                         _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
   13543           0 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
   13544           0 :                         NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
   13545           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
   13546             :                 }
   13547          12 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
   13548          12 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   13549             :         }
   13550          24 :         return NDR_ERR_SUCCESS;
   13551             : }
   13552             : 
   13553           6 : _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
   13554             : {
   13555           6 :         ndr_print_struct(ndr, name, "netr_DatabaseSync2");
   13556           6 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13557           6 :         ndr->depth++;
   13558           6 :         if (flags & NDR_SET_VALUES) {
   13559           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13560             :         }
   13561           6 :         if (flags & NDR_IN) {
   13562           0 :                 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
   13563           0 :                 ndr->depth++;
   13564           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   13565           0 :                 ndr->depth++;
   13566           0 :                 ndr_print_string(ndr, "logon_server", r->in.logon_server);
   13567           0 :                 ndr->depth--;
   13568           0 :                 ndr_print_ptr(ndr, "computername", r->in.computername);
   13569           0 :                 ndr->depth++;
   13570           0 :                 ndr_print_string(ndr, "computername", r->in.computername);
   13571           0 :                 ndr->depth--;
   13572           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   13573           0 :                 ndr->depth++;
   13574           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   13575           0 :                 ndr->depth--;
   13576           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   13577           0 :                 ndr->depth++;
   13578           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   13579           0 :                 ndr->depth--;
   13580           0 :                 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
   13581           0 :                 ndr_print_SyncStateEnum(ndr, "restart_state", r->in.restart_state);
   13582           0 :                 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
   13583           0 :                 ndr->depth++;
   13584           0 :                 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
   13585           0 :                 ndr->depth--;
   13586           0 :                 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
   13587           0 :                 ndr->depth--;
   13588             :         }
   13589           6 :         if (flags & NDR_OUT) {
   13590           6 :                 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
   13591           6 :                 ndr->depth++;
   13592           6 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   13593           6 :                 ndr->depth++;
   13594           6 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   13595           6 :                 ndr->depth--;
   13596           6 :                 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
   13597           6 :                 ndr->depth++;
   13598           6 :                 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
   13599           6 :                 ndr->depth--;
   13600           6 :                 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
   13601           6 :                 ndr->depth++;
   13602           6 :                 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
   13603           6 :                 ndr->depth++;
   13604           6 :                 if (*r->out.delta_enum_array) {
   13605           0 :                         ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
   13606             :                 }
   13607           6 :                 ndr->depth--;
   13608           6 :                 ndr->depth--;
   13609           6 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   13610           6 :                 ndr->depth--;
   13611             :         }
   13612           6 :         ndr->depth--;
   13613             : }
   13614             : 
   13615          24 : static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
   13616             : {
   13617          24 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13618          24 :         if (flags & NDR_IN) {
   13619          24 :                 if (r->in.logon_server == NULL) {
   13620           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13621             :                 }
   13622          24 :                 if (r->in.computername == NULL) {
   13623           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13624             :                 }
   13625          24 :                 if (r->in.credential == NULL) {
   13626           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13627             :                 }
   13628          24 :                 if (r->in.return_authenticator == NULL) {
   13629           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13630             :                 }
   13631          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   13632          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13633          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   13634          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13635          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   13636          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13637          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
   13638          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13639          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   13640          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   13641             :                 {
   13642             :                         struct ndr_push *_ndr_change_log_entry;
   13643          24 :                         NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, -1));
   13644          24 :                         NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
   13645          24 :                         NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, -1));
   13646             :                 }
   13647          24 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags)));
   13648             :         }
   13649          24 :         if (flags & NDR_OUT) {
   13650           0 :                 if (r->out.return_authenticator == NULL) {
   13651           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13652             :                 }
   13653           0 :                 if (r->out.delta_enum_array == NULL) {
   13654           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13655             :                 }
   13656           0 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   13657           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
   13658           0 :                 if (*r->out.delta_enum_array) {
   13659           0 :                         NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
   13660             :                 }
   13661           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   13662             :         }
   13663          20 :         return NDR_ERR_SUCCESS;
   13664             : }
   13665             : 
   13666          24 : static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
   13667             : {
   13668          24 :         uint32_t size_logon_server_1 = 0;
   13669          24 :         uint32_t length_logon_server_1 = 0;
   13670          24 :         uint32_t size_computername_1 = 0;
   13671          24 :         uint32_t length_computername_1 = 0;
   13672             :         uint32_t _ptr_delta_enum_array;
   13673          24 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   13674          24 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   13675          24 :         TALLOC_CTX *_mem_save_delta_enum_array_0 = NULL;
   13676          24 :         TALLOC_CTX *_mem_save_delta_enum_array_1 = NULL;
   13677          24 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13678          24 :         if (flags & NDR_IN) {
   13679          24 :                 NDR_ZERO_STRUCT(r->out);
   13680             : 
   13681          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   13682          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   13683          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   13684          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   13685          24 :                 if (length_logon_server_1 > size_logon_server_1) {
   13686           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   13687             :                 }
   13688          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   13689          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   13690          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
   13691          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
   13692          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computername, &size_computername_1));
   13693          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computername, &length_computername_1));
   13694          24 :                 if (length_computername_1 > size_computername_1) {
   13695           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_1, length_computername_1);
   13696             :                 }
   13697          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_1, sizeof(uint16_t)));
   13698          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_1, sizeof(uint16_t), CH_UTF16));
   13699          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13700          24 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   13701             :                 }
   13702          24 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13703          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   13704          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   13705          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   13706          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13707          24 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   13708             :                 }
   13709          24 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13710          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   13711          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   13712          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   13713             :                 {
   13714             :                         struct ndr_pull *_ndr_change_log_entry;
   13715          24 :                         NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, -1));
   13716          24 :                         NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
   13717          24 :                         NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, -1));
   13718             :                 }
   13719          24 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
   13720          24 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   13721          24 :                 *r->out.return_authenticator = *r->in.return_authenticator;
   13722          24 :                 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
   13723          24 :                 NDR_ZERO_STRUCTP(r->out.delta_enum_array);
   13724             :         }
   13725          24 :         if (flags & NDR_OUT) {
   13726             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13727             :                 if (r->in.credential == NULL) {
   13728             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   13729             :                         NDR_ZERO_STRUCTP(r->in.credential);
   13730             :                 }
   13731             :                 if (r->in.return_authenticator == NULL) {
   13732             :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   13733             :                         NDR_ZERO_STRUCTP(r->in.return_authenticator);
   13734             :                 }
   13735             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13736           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13737           0 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   13738             :                 }
   13739           0 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13740           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   13741           0 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   13742           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   13743           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13744           0 :                         NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
   13745             :                 }
   13746           0 :                 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13747           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
   13748           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
   13749           0 :                 if (_ptr_delta_enum_array) {
   13750           0 :                         NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
   13751             :                 } else {
   13752           0 :                         *r->out.delta_enum_array = NULL;
   13753             :                 }
   13754           0 :                 if (*r->out.delta_enum_array) {
   13755           0 :                         _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
   13756           0 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
   13757           0 :                         NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
   13758           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
   13759             :                 }
   13760           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
   13761           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   13762             :         }
   13763          20 :         return NDR_ERR_SUCCESS;
   13764             : }
   13765             : 
   13766           0 : _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
   13767             : {
   13768           0 :         ndr_print_struct(ndr, name, "netr_DatabaseRedo");
   13769           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13770           0 :         ndr->depth++;
   13771           0 :         if (flags & NDR_SET_VALUES) {
   13772           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13773             :         }
   13774           0 :         if (flags & NDR_IN) {
   13775           0 :                 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
   13776           0 :                 ndr->depth++;
   13777           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   13778           0 :                 ndr->depth++;
   13779           0 :                 ndr_print_string(ndr, "logon_server", r->in.logon_server);
   13780           0 :                 ndr->depth--;
   13781           0 :                 ndr_print_ptr(ndr, "computername", r->in.computername);
   13782           0 :                 ndr->depth++;
   13783           0 :                 ndr_print_string(ndr, "computername", r->in.computername);
   13784           0 :                 ndr->depth--;
   13785           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   13786           0 :                 ndr->depth++;
   13787           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   13788           0 :                 ndr->depth--;
   13789           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   13790           0 :                 ndr->depth++;
   13791           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   13792           0 :                 ndr->depth--;
   13793           0 :                 ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
   13794           0 :                 ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->flags):r->in.change_log_entry_size);
   13795           0 :                 ndr->depth--;
   13796             :         }
   13797           0 :         if (flags & NDR_OUT) {
   13798           0 :                 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
   13799           0 :                 ndr->depth++;
   13800           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   13801           0 :                 ndr->depth++;
   13802           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   13803           0 :                 ndr->depth--;
   13804           0 :                 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
   13805           0 :                 ndr->depth++;
   13806           0 :                 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
   13807           0 :                 ndr->depth++;
   13808           0 :                 if (*r->out.delta_enum_array) {
   13809           0 :                         ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
   13810             :                 }
   13811           0 :                 ndr->depth--;
   13812           0 :                 ndr->depth--;
   13813           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   13814           0 :                 ndr->depth--;
   13815             :         }
   13816           0 :         ndr->depth--;
   13817             : }
   13818             : 
   13819        2822 : static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
   13820             : {
   13821        2822 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13822        2822 :         if (flags & NDR_IN) {
   13823        1299 :                 if (r->in.data == NULL) {
   13824           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13825             :                 }
   13826        1299 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
   13827        1299 :                 if (r->in.logon_server) {
   13828        1299 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   13829        1299 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13830        1299 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
   13831        1299 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13832             :                 }
   13833        1299 :                 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
   13834        1299 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   13835        1299 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
   13836        1299 :                 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
   13837             :         }
   13838        2822 :         if (flags & NDR_OUT) {
   13839        1523 :                 if (r->out.query == NULL) {
   13840           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13841             :                 }
   13842        1523 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
   13843        1523 :                 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
   13844        1523 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   13845             :         }
   13846        2360 :         return NDR_ERR_SUCCESS;
   13847             : }
   13848             : 
   13849        2570 : static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
   13850             : {
   13851             :         uint32_t _ptr_logon_server;
   13852        2570 :         uint32_t size_logon_server_1 = 0;
   13853        2570 :         uint32_t length_logon_server_1 = 0;
   13854        2570 :         TALLOC_CTX *_mem_save_logon_server_0 = NULL;
   13855        2570 :         TALLOC_CTX *_mem_save_data_0 = NULL;
   13856        2570 :         TALLOC_CTX *_mem_save_query_0 = NULL;
   13857        2570 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13858        2570 :         if (flags & NDR_IN) {
   13859        1271 :                 NDR_ZERO_STRUCT(r->out);
   13860             : 
   13861        1271 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
   13862        1271 :                 if (_ptr_logon_server) {
   13863        1271 :                         NDR_PULL_ALLOC(ndr, r->in.logon_server);
   13864             :                 } else {
   13865           0 :                         r->in.logon_server = NULL;
   13866             :                 }
   13867        1271 :                 if (r->in.logon_server) {
   13868        1271 :                         _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13869        1271 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
   13870        1271 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
   13871        1271 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
   13872        1271 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.logon_server, &size_logon_server_1));
   13873        1271 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.logon_server, &length_logon_server_1));
   13874        1271 :                         if (length_logon_server_1 > size_logon_server_1) {
   13875           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
   13876             :                         }
   13877        1271 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
   13878        1271 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
   13879        1271 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
   13880             :                 }
   13881        1271 :                 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
   13882        1271 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   13883        1271 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13884        1271 :                         NDR_PULL_ALLOC(ndr, r->in.data);
   13885             :                 }
   13886        1271 :                 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13887        1271 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
   13888        1271 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
   13889        1271 :                 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
   13890        1271 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
   13891        1271 :                 NDR_PULL_ALLOC(ndr, r->out.query);
   13892        1271 :                 NDR_ZERO_STRUCTP(r->out.query);
   13893             :         }
   13894        2570 :         if (flags & NDR_OUT) {
   13895             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   13896             :                 if (r->in.data == NULL) {
   13897             :                         NDR_PULL_ALLOC(ndr, r->in.data);
   13898             :                         NDR_ZERO_STRUCTP(r->in.data);
   13899             :                 }
   13900             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   13901        1299 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   13902         333 :                         NDR_PULL_ALLOC(ndr, r->out.query);
   13903             :                 }
   13904        1299 :                 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13905        1299 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
   13906        1299 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
   13907        1299 :                 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
   13908        1299 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
   13909        1299 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   13910             :         }
   13911        2150 :         return NDR_ERR_SUCCESS;
   13912             : }
   13913             : 
   13914         504 : _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
   13915             : {
   13916         504 :         ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
   13917         504 :         if (r == NULL) { ndr_print_null(ndr); return; }
   13918         504 :         ndr->depth++;
   13919         504 :         if (flags & NDR_SET_VALUES) {
   13920           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   13921             :         }
   13922         504 :         if (flags & NDR_IN) {
   13923           0 :                 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
   13924           0 :                 ndr->depth++;
   13925           0 :                 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
   13926           0 :                 ndr->depth++;
   13927           0 :                 if (r->in.logon_server) {
   13928           0 :                         ndr_print_string(ndr, "logon_server", r->in.logon_server);
   13929             :                 }
   13930           0 :                 ndr->depth--;
   13931           0 :                 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
   13932           0 :                 ndr_print_uint32(ndr, "level", r->in.level);
   13933           0 :                 ndr_print_ptr(ndr, "data", r->in.data);
   13934           0 :                 ndr->depth++;
   13935           0 :                 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
   13936           0 :                 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
   13937           0 :                 ndr->depth--;
   13938           0 :                 ndr->depth--;
   13939             :         }
   13940         504 :         if (flags & NDR_OUT) {
   13941         504 :                 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
   13942         504 :                 ndr->depth++;
   13943         504 :                 ndr_print_ptr(ndr, "query", r->out.query);
   13944         504 :                 ndr->depth++;
   13945         504 :                 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
   13946         504 :                 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
   13947         504 :                 ndr->depth--;
   13948         504 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   13949         504 :                 ndr->depth--;
   13950             :         }
   13951         504 :         ndr->depth--;
   13952             : }
   13953             : 
   13954          28 : static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
   13955             : {
   13956          28 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   13957          28 :         if (flags & NDR_IN) {
   13958          28 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   13959          28 :                 if (r->in.server_name) {
   13960          28 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   13961          28 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   13962          28 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   13963          28 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   13964             :                 }
   13965             :         }
   13966          28 :         if (flags & NDR_OUT) {
   13967           0 :                 if (r->out.trusted_domains_blob == NULL) {
   13968           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   13969             :                 }
   13970           0 :                 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
   13971           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   13972             :         }
   13973          24 :         return NDR_ERR_SUCCESS;
   13974             : }
   13975             : 
   13976          28 : static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
   13977             : {
   13978             :         uint32_t _ptr_server_name;
   13979          28 :         uint32_t size_server_name_1 = 0;
   13980          28 :         uint32_t length_server_name_1 = 0;
   13981          28 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   13982          28 :         TALLOC_CTX *_mem_save_trusted_domains_blob_0 = NULL;
   13983          28 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   13984          28 :         if (flags & NDR_IN) {
   13985          28 :                 NDR_ZERO_STRUCT(r->out);
   13986             : 
   13987          28 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   13988          28 :                 if (_ptr_server_name) {
   13989          28 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   13990             :                 } else {
   13991           0 :                         r->in.server_name = NULL;
   13992             :                 }
   13993          28 :                 if (r->in.server_name) {
   13994          28 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   13995          28 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   13996          28 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   13997          28 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   13998          28 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   13999          28 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   14000          28 :                         if (length_server_name_1 > size_server_name_1) {
   14001           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   14002             :                         }
   14003          28 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   14004          28 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   14005          28 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   14006             :                 }
   14007          28 :                 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
   14008          28 :                 NDR_ZERO_STRUCTP(r->out.trusted_domains_blob);
   14009             :         }
   14010          28 :         if (flags & NDR_OUT) {
   14011             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   14012             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   14013           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14014           0 :                         NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
   14015             :                 }
   14016           0 :                 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14017           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
   14018           0 :                 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
   14019           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
   14020           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   14021             :         }
   14022          24 :         return NDR_ERR_SUCCESS;
   14023             : }
   14024             : 
   14025           0 : _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
   14026             : {
   14027           0 :         ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
   14028           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14029           0 :         ndr->depth++;
   14030           0 :         if (flags & NDR_SET_VALUES) {
   14031           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   14032             :         }
   14033           0 :         if (flags & NDR_IN) {
   14034           0 :                 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
   14035           0 :                 ndr->depth++;
   14036           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   14037           0 :                 ndr->depth++;
   14038           0 :                 if (r->in.server_name) {
   14039           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   14040             :                 }
   14041           0 :                 ndr->depth--;
   14042           0 :                 ndr->depth--;
   14043             :         }
   14044           0 :         if (flags & NDR_OUT) {
   14045           0 :                 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
   14046           0 :                 ndr->depth++;
   14047           0 :                 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
   14048           0 :                 ndr->depth++;
   14049           0 :                 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
   14050           0 :                 ndr->depth--;
   14051           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   14052           0 :                 ndr->depth--;
   14053             :         }
   14054           0 :         ndr->depth--;
   14055             : }
   14056             : 
   14057         128 : static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
   14058             : {
   14059         128 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   14060         128 :         if (flags & NDR_IN) {
   14061          50 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
   14062          50 :                 if (r->in.server_unc) {
   14063          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
   14064          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14065          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
   14066          50 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14067             :                 }
   14068          50 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
   14069          50 :                 if (r->in.domain_name) {
   14070          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
   14071          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14072          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
   14073          50 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14074             :                 }
   14075          50 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
   14076          50 :                 if (r->in.domain_guid) {
   14077           0 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
   14078             :                 }
   14079          50 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
   14080          50 :                 if (r->in.site_guid) {
   14081           0 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
   14082             :                 }
   14083          58 :                 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
   14084             :         }
   14085         128 :         if (flags & NDR_OUT) {
   14086          78 :                 if (r->out.info == NULL) {
   14087           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14088             :                 }
   14089          78 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
   14090          78 :                 if (*r->out.info) {
   14091          78 :                         NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   14092             :                 }
   14093          78 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   14094             :         }
   14095         110 :         return NDR_ERR_SUCCESS;
   14096             : }
   14097             : 
   14098         116 : static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
   14099             : {
   14100             :         uint32_t _ptr_server_unc;
   14101         116 :         uint32_t size_server_unc_1 = 0;
   14102         116 :         uint32_t length_server_unc_1 = 0;
   14103             :         uint32_t _ptr_domain_name;
   14104         116 :         uint32_t size_domain_name_1 = 0;
   14105         116 :         uint32_t length_domain_name_1 = 0;
   14106             :         uint32_t _ptr_domain_guid;
   14107             :         uint32_t _ptr_site_guid;
   14108             :         uint32_t _ptr_info;
   14109         116 :         TALLOC_CTX *_mem_save_server_unc_0 = NULL;
   14110         116 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
   14111         116 :         TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
   14112         116 :         TALLOC_CTX *_mem_save_site_guid_0 = NULL;
   14113         116 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   14114         116 :         TALLOC_CTX *_mem_save_info_1 = NULL;
   14115         116 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   14116         116 :         if (flags & NDR_IN) {
   14117          66 :                 NDR_ZERO_STRUCT(r->out);
   14118             : 
   14119          66 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
   14120          66 :                 if (_ptr_server_unc) {
   14121          66 :                         NDR_PULL_ALLOC(ndr, r->in.server_unc);
   14122             :                 } else {
   14123           0 :                         r->in.server_unc = NULL;
   14124             :                 }
   14125          66 :                 if (r->in.server_unc) {
   14126          66 :                         _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14127          66 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
   14128          66 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
   14129          66 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
   14130          66 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_unc, &size_server_unc_1));
   14131          66 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_unc, &length_server_unc_1));
   14132          66 :                         if (length_server_unc_1 > size_server_unc_1) {
   14133           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
   14134             :                         }
   14135          66 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
   14136          66 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
   14137          66 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
   14138             :                 }
   14139          66 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
   14140          66 :                 if (_ptr_domain_name) {
   14141          66 :                         NDR_PULL_ALLOC(ndr, r->in.domain_name);
   14142             :                 } else {
   14143           0 :                         r->in.domain_name = NULL;
   14144             :                 }
   14145          66 :                 if (r->in.domain_name) {
   14146          66 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14147          66 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
   14148          66 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
   14149          66 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
   14150          66 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
   14151          66 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
   14152          66 :                         if (length_domain_name_1 > size_domain_name_1) {
   14153           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);
   14154             :                         }
   14155          66 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
   14156          66 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
   14157          66 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
   14158             :                 }
   14159          66 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
   14160          66 :                 if (_ptr_domain_guid) {
   14161           0 :                         NDR_PULL_ALLOC(ndr, r->in.domain_guid);
   14162             :                 } else {
   14163          66 :                         r->in.domain_guid = NULL;
   14164             :                 }
   14165          66 :                 if (r->in.domain_guid) {
   14166           0 :                         _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14167           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
   14168           0 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
   14169           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
   14170             :                 }
   14171          66 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
   14172          66 :                 if (_ptr_site_guid) {
   14173           0 :                         NDR_PULL_ALLOC(ndr, r->in.site_guid);
   14174             :                 } else {
   14175          66 :                         r->in.site_guid = NULL;
   14176             :                 }
   14177          66 :                 if (r->in.site_guid) {
   14178           0 :                         _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14179           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
   14180           0 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
   14181           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
   14182             :                 }
   14183          74 :                 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
   14184          66 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   14185          66 :                 NDR_ZERO_STRUCTP(r->out.info);
   14186             :         }
   14187         116 :         if (flags & NDR_OUT) {
   14188             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   14189             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   14190          50 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14191          14 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   14192             :                 }
   14193          50 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14194          50 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   14195          50 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
   14196          50 :                 if (_ptr_info) {
   14197          50 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
   14198             :                 } else {
   14199           0 :                         *r->out.info = NULL;
   14200             :                 }
   14201          50 :                 if (*r->out.info) {
   14202          50 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   14203          50 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
   14204          50 :                         NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   14205          50 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
   14206             :                 }
   14207          50 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   14208          50 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   14209             :         }
   14210         100 :         return NDR_ERR_SUCCESS;
   14211             : }
   14212             : 
   14213          24 : _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
   14214             : {
   14215          24 :         ndr_print_struct(ndr, name, "netr_DsRGetDCName");
   14216          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14217          24 :         ndr->depth++;
   14218          24 :         if (flags & NDR_SET_VALUES) {
   14219           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   14220             :         }
   14221          24 :         if (flags & NDR_IN) {
   14222           0 :                 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
   14223           0 :                 ndr->depth++;
   14224           0 :                 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
   14225           0 :                 ndr->depth++;
   14226           0 :                 if (r->in.server_unc) {
   14227           0 :                         ndr_print_string(ndr, "server_unc", r->in.server_unc);
   14228             :                 }
   14229           0 :                 ndr->depth--;
   14230           0 :                 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
   14231           0 :                 ndr->depth++;
   14232           0 :                 if (r->in.domain_name) {
   14233           0 :                         ndr_print_string(ndr, "domain_name", r->in.domain_name);
   14234             :                 }
   14235           0 :                 ndr->depth--;
   14236           0 :                 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
   14237           0 :                 ndr->depth++;
   14238           0 :                 if (r->in.domain_guid) {
   14239           0 :                         ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
   14240             :                 }
   14241           0 :                 ndr->depth--;
   14242           0 :                 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
   14243           0 :                 ndr->depth++;
   14244           0 :                 if (r->in.site_guid) {
   14245           0 :                         ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
   14246             :                 }
   14247           0 :                 ndr->depth--;
   14248           0 :                 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
   14249           0 :                 ndr->depth--;
   14250             :         }
   14251          24 :         if (flags & NDR_OUT) {
   14252          24 :                 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
   14253          24 :                 ndr->depth++;
   14254          24 :                 ndr_print_ptr(ndr, "info", r->out.info);
   14255          24 :                 ndr->depth++;
   14256          24 :                 ndr_print_ptr(ndr, "info", *r->out.info);
   14257          24 :                 ndr->depth++;
   14258          24 :                 if (*r->out.info) {
   14259          24 :                         ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
   14260             :                 }
   14261          24 :                 ndr->depth--;
   14262          24 :                 ndr->depth--;
   14263          24 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   14264          24 :                 ndr->depth--;
   14265             :         }
   14266          24 :         ndr->depth--;
   14267             : }
   14268             : 
   14269        1984 : static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
   14270             : {
   14271        1984 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   14272        1984 :         if (flags & NDR_IN) {
   14273         896 :                 if (r->in.server_name == NULL) {
   14274           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14275             :                 }
   14276         896 :                 if (r->in.credential == NULL) {
   14277           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14278             :                 }
   14279         896 :                 if (r->in.return_authenticator == NULL) {
   14280           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14281             :                 }
   14282         896 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   14283         896 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14284         896 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   14285         896 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14286         896 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
   14287         896 :                 if (r->in.computer_name) {
   14288         896 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   14289         896 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14290         896 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   14291         896 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14292             :                 }
   14293         896 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   14294         896 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   14295         896 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
   14296             :         }
   14297        1984 :         if (flags & NDR_OUT) {
   14298        1088 :                 if (r->out.return_authenticator == NULL) {
   14299           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14300             :                 }
   14301        1088 :                 if (r->out.capabilities == NULL) {
   14302           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14303             :                 }
   14304        1088 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   14305        1088 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
   14306        1088 :                 NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
   14307        1088 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   14308             :         }
   14309        1698 :         return NDR_ERR_SUCCESS;
   14310             : }
   14311             : 
   14312        1828 : static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
   14313             : {
   14314        1828 :         uint32_t size_server_name_1 = 0;
   14315        1828 :         uint32_t length_server_name_1 = 0;
   14316             :         uint32_t _ptr_computer_name;
   14317        1828 :         uint32_t size_computer_name_1 = 0;
   14318        1828 :         uint32_t length_computer_name_1 = 0;
   14319        1828 :         TALLOC_CTX *_mem_save_computer_name_0 = NULL;
   14320        1828 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   14321        1828 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   14322        1828 :         TALLOC_CTX *_mem_save_capabilities_0 = NULL;
   14323        1828 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   14324        1828 :         if (flags & NDR_IN) {
   14325         932 :                 NDR_ZERO_STRUCT(r->out);
   14326             : 
   14327         932 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   14328         932 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   14329         932 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   14330         932 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   14331         932 :                 if (length_server_name_1 > size_server_name_1) {
   14332           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   14333             :                 }
   14334         932 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   14335         932 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   14336         932 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
   14337         932 :                 if (_ptr_computer_name) {
   14338         932 :                         NDR_PULL_ALLOC(ndr, r->in.computer_name);
   14339             :                 } else {
   14340           0 :                         r->in.computer_name = NULL;
   14341             :                 }
   14342         932 :                 if (r->in.computer_name) {
   14343         932 :                         _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14344         932 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
   14345         932 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   14346         932 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   14347         932 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   14348         932 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   14349         932 :                         if (length_computer_name_1 > size_computer_name_1) {
   14350           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   14351             :                         }
   14352         932 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   14353         932 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   14354         932 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
   14355             :                 }
   14356         932 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14357         932 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   14358             :                 }
   14359         932 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14360         932 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   14361         932 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   14362         932 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   14363         932 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14364         932 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   14365             :                 }
   14366         932 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14367         932 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   14368         932 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   14369         932 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   14370         932 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
   14371         932 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   14372         932 :                 *r->out.return_authenticator = *r->in.return_authenticator;
   14373         932 :                 NDR_PULL_ALLOC(ndr, r->out.capabilities);
   14374         932 :                 NDR_ZERO_STRUCTP(r->out.capabilities);
   14375             :         }
   14376        1828 :         if (flags & NDR_OUT) {
   14377             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   14378             :                 if (r->in.credential == NULL) {
   14379             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   14380             :                         NDR_ZERO_STRUCTP(r->in.credential);
   14381             :                 }
   14382             :                 if (r->in.return_authenticator == NULL) {
   14383             :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   14384             :                         NDR_ZERO_STRUCTP(r->in.return_authenticator);
   14385             :                 }
   14386             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   14387         896 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14388         249 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   14389             :                 }
   14390         896 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14391         896 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   14392         896 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   14393         896 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   14394         896 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14395         249 :                         NDR_PULL_ALLOC(ndr, r->out.capabilities);
   14396             :                 }
   14397         896 :                 _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14398         896 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
   14399         896 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
   14400         896 :                 NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
   14401         896 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
   14402         896 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   14403             :         }
   14404        1568 :         return NDR_ERR_SUCCESS;
   14405             : }
   14406             : 
   14407         312 : _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
   14408             : {
   14409         312 :         ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
   14410         312 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14411         312 :         ndr->depth++;
   14412         312 :         if (flags & NDR_SET_VALUES) {
   14413           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   14414             :         }
   14415         312 :         if (flags & NDR_IN) {
   14416           0 :                 ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
   14417           0 :                 ndr->depth++;
   14418           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   14419           0 :                 ndr->depth++;
   14420           0 :                 ndr_print_string(ndr, "server_name", r->in.server_name);
   14421           0 :                 ndr->depth--;
   14422           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   14423           0 :                 ndr->depth++;
   14424           0 :                 if (r->in.computer_name) {
   14425           0 :                         ndr_print_string(ndr, "computer_name", r->in.computer_name);
   14426             :                 }
   14427           0 :                 ndr->depth--;
   14428           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   14429           0 :                 ndr->depth++;
   14430           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   14431           0 :                 ndr->depth--;
   14432           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   14433           0 :                 ndr->depth++;
   14434           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   14435           0 :                 ndr->depth--;
   14436           0 :                 ndr_print_uint32(ndr, "query_level", r->in.query_level);
   14437           0 :                 ndr->depth--;
   14438             :         }
   14439         312 :         if (flags & NDR_OUT) {
   14440         312 :                 ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
   14441         312 :                 ndr->depth++;
   14442         312 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   14443         312 :                 ndr->depth++;
   14444         312 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   14445         312 :                 ndr->depth--;
   14446         312 :                 ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
   14447         312 :                 ndr->depth++;
   14448         312 :                 ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
   14449         312 :                 ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
   14450         312 :                 ndr->depth--;
   14451         312 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   14452         312 :                 ndr->depth--;
   14453             :         }
   14454         312 :         ndr->depth--;
   14455             : }
   14456             : 
   14457           0 : static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
   14458             : {
   14459           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   14460           0 :         if (flags & NDR_IN) {
   14461             :         }
   14462           0 :         if (flags & NDR_OUT) {
   14463           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   14464             :         }
   14465           0 :         return NDR_ERR_SUCCESS;
   14466             : }
   14467             : 
   14468           0 : static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
   14469             : {
   14470           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   14471           0 :         if (flags & NDR_IN) {
   14472             :         }
   14473           0 :         if (flags & NDR_OUT) {
   14474             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   14475             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   14476           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   14477             :         }
   14478           0 :         return NDR_ERR_SUCCESS;
   14479             : }
   14480             : 
   14481           0 : _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
   14482             : {
   14483           0 :         ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
   14484           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14485           0 :         ndr->depth++;
   14486           0 :         if (flags & NDR_SET_VALUES) {
   14487           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   14488             :         }
   14489           0 :         if (flags & NDR_IN) {
   14490           0 :                 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
   14491           0 :                 ndr->depth++;
   14492           0 :                 ndr->depth--;
   14493             :         }
   14494           0 :         if (flags & NDR_OUT) {
   14495           0 :                 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
   14496           0 :                 ndr->depth++;
   14497           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   14498           0 :                 ndr->depth--;
   14499             :         }
   14500           0 :         ndr->depth--;
   14501             : }
   14502             : 
   14503           0 : static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
   14504             : {
   14505           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   14506           0 :         if (flags & NDR_IN) {
   14507           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   14508           0 :                 if (r->in.server_name) {
   14509           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   14510           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14511           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   14512           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14513             :                 }
   14514           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
   14515           0 :                 if (r->in.domain_name) {
   14516           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
   14517           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14518           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
   14519           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14520             :                 }
   14521             :         }
   14522           0 :         if (flags & NDR_OUT) {
   14523           0 :                 if (r->out.rid == NULL) {
   14524           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14525             :                 }
   14526           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
   14527           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   14528             :         }
   14529           0 :         return NDR_ERR_SUCCESS;
   14530             : }
   14531             : 
   14532           0 : static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
   14533             : {
   14534             :         uint32_t _ptr_server_name;
   14535           0 :         uint32_t size_server_name_1 = 0;
   14536           0 :         uint32_t length_server_name_1 = 0;
   14537             :         uint32_t _ptr_domain_name;
   14538           0 :         uint32_t size_domain_name_1 = 0;
   14539           0 :         uint32_t length_domain_name_1 = 0;
   14540           0 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   14541           0 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
   14542           0 :         TALLOC_CTX *_mem_save_rid_0 = NULL;
   14543           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   14544           0 :         if (flags & NDR_IN) {
   14545           0 :                 NDR_ZERO_STRUCT(r->out);
   14546             : 
   14547           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   14548           0 :                 if (_ptr_server_name) {
   14549           0 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   14550             :                 } else {
   14551           0 :                         r->in.server_name = NULL;
   14552             :                 }
   14553           0 :                 if (r->in.server_name) {
   14554           0 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14555           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   14556           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   14557           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   14558           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   14559           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   14560           0 :                         if (length_server_name_1 > size_server_name_1) {
   14561           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   14562             :                         }
   14563           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   14564           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   14565           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   14566             :                 }
   14567           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
   14568           0 :                 if (_ptr_domain_name) {
   14569           0 :                         NDR_PULL_ALLOC(ndr, r->in.domain_name);
   14570             :                 } else {
   14571           0 :                         r->in.domain_name = NULL;
   14572             :                 }
   14573           0 :                 if (r->in.domain_name) {
   14574           0 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14575           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
   14576           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
   14577           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
   14578           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
   14579           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
   14580           0 :                         if (length_domain_name_1 > size_domain_name_1) {
   14581           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);
   14582             :                         }
   14583           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
   14584           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
   14585           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
   14586             :                 }
   14587           0 :                 NDR_PULL_ALLOC(ndr, r->out.rid);
   14588           0 :                 NDR_ZERO_STRUCTP(r->out.rid);
   14589             :         }
   14590           0 :         if (flags & NDR_OUT) {
   14591             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   14592             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   14593           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14594           0 :                         NDR_PULL_ALLOC(ndr, r->out.rid);
   14595             :                 }
   14596           0 :                 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14597           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
   14598           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
   14599           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
   14600           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   14601             :         }
   14602           0 :         return NDR_ERR_SUCCESS;
   14603             : }
   14604             : 
   14605           0 : _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
   14606             : {
   14607           0 :         ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
   14608           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14609           0 :         ndr->depth++;
   14610           0 :         if (flags & NDR_SET_VALUES) {
   14611           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   14612             :         }
   14613           0 :         if (flags & NDR_IN) {
   14614           0 :                 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
   14615           0 :                 ndr->depth++;
   14616           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   14617           0 :                 ndr->depth++;
   14618           0 :                 if (r->in.server_name) {
   14619           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   14620             :                 }
   14621           0 :                 ndr->depth--;
   14622           0 :                 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
   14623           0 :                 ndr->depth++;
   14624           0 :                 if (r->in.domain_name) {
   14625           0 :                         ndr_print_string(ndr, "domain_name", r->in.domain_name);
   14626             :                 }
   14627           0 :                 ndr->depth--;
   14628           0 :                 ndr->depth--;
   14629             :         }
   14630           0 :         if (flags & NDR_OUT) {
   14631           0 :                 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
   14632           0 :                 ndr->depth++;
   14633           0 :                 ndr_print_ptr(ndr, "rid", r->out.rid);
   14634           0 :                 ndr->depth++;
   14635           0 :                 ndr_print_uint32(ndr, "rid", *r->out.rid);
   14636           0 :                 ndr->depth--;
   14637           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   14638           0 :                 ndr->depth--;
   14639             :         }
   14640           0 :         ndr->depth--;
   14641             : }
   14642             : 
   14643           0 : static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
   14644             : {
   14645           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   14646           0 :         if (flags & NDR_IN) {
   14647             :         }
   14648           0 :         if (flags & NDR_OUT) {
   14649           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   14650             :         }
   14651           0 :         return NDR_ERR_SUCCESS;
   14652             : }
   14653             : 
   14654           0 : static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
   14655             : {
   14656           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   14657           0 :         if (flags & NDR_IN) {
   14658             :         }
   14659           0 :         if (flags & NDR_OUT) {
   14660             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   14661             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   14662           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   14663             :         }
   14664           0 :         return NDR_ERR_SUCCESS;
   14665             : }
   14666             : 
   14667           0 : _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
   14668             : {
   14669           0 :         ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
   14670           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14671           0 :         ndr->depth++;
   14672           0 :         if (flags & NDR_SET_VALUES) {
   14673           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   14674             :         }
   14675           0 :         if (flags & NDR_IN) {
   14676           0 :                 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
   14677           0 :                 ndr->depth++;
   14678           0 :                 ndr->depth--;
   14679             :         }
   14680           0 :         if (flags & NDR_OUT) {
   14681           0 :                 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
   14682           0 :                 ndr->depth++;
   14683           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   14684           0 :                 ndr->depth--;
   14685             :         }
   14686           0 :         ndr->depth--;
   14687             : }
   14688             : 
   14689           0 : static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
   14690             : {
   14691           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   14692           0 :         if (flags & NDR_IN) {
   14693             :         }
   14694           0 :         if (flags & NDR_OUT) {
   14695           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   14696             :         }
   14697           0 :         return NDR_ERR_SUCCESS;
   14698             : }
   14699             : 
   14700           0 : static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
   14701             : {
   14702           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   14703           0 :         if (flags & NDR_IN) {
   14704             :         }
   14705           0 :         if (flags & NDR_OUT) {
   14706             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   14707             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   14708           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   14709             :         }
   14710           0 :         return NDR_ERR_SUCCESS;
   14711             : }
   14712             : 
   14713           0 : _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
   14714             : {
   14715           0 :         ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
   14716           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14717           0 :         ndr->depth++;
   14718           0 :         if (flags & NDR_SET_VALUES) {
   14719           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   14720             :         }
   14721           0 :         if (flags & NDR_IN) {
   14722           0 :                 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
   14723           0 :                 ndr->depth++;
   14724           0 :                 ndr->depth--;
   14725             :         }
   14726           0 :         if (flags & NDR_OUT) {
   14727           0 :                 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
   14728           0 :                 ndr->depth++;
   14729           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   14730           0 :                 ndr->depth--;
   14731             :         }
   14732           0 :         ndr->depth--;
   14733             : }
   14734             : 
   14735        1949 : _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
   14736             : {
   14737        1949 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   14738        1949 :         if (flags & NDR_IN) {
   14739         849 :                 if (r->in.account_name == NULL) {
   14740           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14741             :                 }
   14742         849 :                 if (r->in.computer_name == NULL) {
   14743           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14744             :                 }
   14745         849 :                 if (r->in.credentials == NULL) {
   14746           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14747             :                 }
   14748         849 :                 if (r->in.negotiate_flags == NULL) {
   14749           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14750             :                 }
   14751         849 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   14752         849 :                 if (r->in.server_name) {
   14753         424 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   14754         424 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14755         424 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   14756         424 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14757             :                 }
   14758         849 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   14759         849 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14760         849 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   14761         849 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14762         849 :                 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
   14763         849 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   14764         849 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14765         849 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   14766         849 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14767         849 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
   14768         849 :                 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
   14769             :         }
   14770        1949 :         if (flags & NDR_OUT) {
   14771        1100 :                 if (r->out.return_credentials == NULL) {
   14772           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14773             :                 }
   14774        1100 :                 if (r->out.negotiate_flags == NULL) {
   14775           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14776             :                 }
   14777        1100 :                 if (r->out.rid == NULL) {
   14778           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14779             :                 }
   14780        1100 :                 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
   14781        1100 :                 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
   14782        1100 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
   14783        1100 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   14784             :         }
   14785        1787 :         return NDR_ERR_SUCCESS;
   14786             : }
   14787             : 
   14788        1769 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
   14789             : {
   14790             :         uint32_t _ptr_server_name;
   14791        1769 :         uint32_t size_server_name_1 = 0;
   14792        1769 :         uint32_t length_server_name_1 = 0;
   14793        1769 :         uint32_t size_account_name_1 = 0;
   14794        1769 :         uint32_t length_account_name_1 = 0;
   14795        1769 :         uint32_t size_computer_name_1 = 0;
   14796        1769 :         uint32_t length_computer_name_1 = 0;
   14797        1769 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   14798        1769 :         TALLOC_CTX *_mem_save_credentials_0 = NULL;
   14799        1769 :         TALLOC_CTX *_mem_save_return_credentials_0 = NULL;
   14800        1769 :         TALLOC_CTX *_mem_save_negotiate_flags_0 = NULL;
   14801        1769 :         TALLOC_CTX *_mem_save_rid_0 = NULL;
   14802        1769 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   14803        1769 :         if (flags & NDR_IN) {
   14804         918 :                 NDR_ZERO_STRUCT(r->out);
   14805             : 
   14806         918 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   14807         918 :                 if (_ptr_server_name) {
   14808         493 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   14809             :                 } else {
   14810         425 :                         r->in.server_name = NULL;
   14811             :                 }
   14812         918 :                 if (r->in.server_name) {
   14813         493 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14814         493 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   14815         493 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   14816         493 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   14817         493 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   14818         493 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   14819         493 :                         if (length_server_name_1 > size_server_name_1) {
   14820           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   14821             :                         }
   14822         493 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   14823         493 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   14824         493 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   14825             :                 }
   14826         918 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   14827         918 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   14828         918 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   14829         918 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   14830         918 :                 if (length_account_name_1 > size_account_name_1) {
   14831           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   14832             :                 }
   14833         918 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   14834         918 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   14835         918 :                 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
   14836         918 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   14837         918 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   14838         918 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   14839         918 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   14840         918 :                 if (length_computer_name_1 > size_computer_name_1) {
   14841           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   14842             :                 }
   14843         918 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   14844         918 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   14845         918 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14846         918 :                         NDR_PULL_ALLOC(ndr, r->in.credentials);
   14847             :                 }
   14848         918 :                 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14849         918 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
   14850         918 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
   14851         918 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
   14852         918 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14853         918 :                         NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
   14854             :                 }
   14855         918 :                 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14856         918 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
   14857         918 :                 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
   14858         918 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
   14859         918 :                 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
   14860         918 :                 NDR_ZERO_STRUCTP(r->out.return_credentials);
   14861         918 :                 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
   14862         918 :                 *r->out.negotiate_flags = *r->in.negotiate_flags;
   14863         918 :                 NDR_PULL_ALLOC(ndr, r->out.rid);
   14864         918 :                 NDR_ZERO_STRUCTP(r->out.rid);
   14865             :         }
   14866        1769 :         if (flags & NDR_OUT) {
   14867             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   14868             :                 if (r->in.credentials == NULL) {
   14869             :                         NDR_PULL_ALLOC(ndr, r->in.credentials);
   14870             :                         NDR_ZERO_STRUCTP(r->in.credentials);
   14871             :                 }
   14872             :                 if (r->in.negotiate_flags == NULL) {
   14873             :                         NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
   14874             :                         NDR_ZERO_STRUCTP(r->in.negotiate_flags);
   14875             :                 }
   14876             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   14877         851 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14878         298 :                         NDR_PULL_ALLOC(ndr, r->out.return_credentials);
   14879             :                 }
   14880         851 :                 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14881         851 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
   14882         851 :                 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
   14883         851 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
   14884         851 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14885         298 :                         NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
   14886             :                 }
   14887         851 :                 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14888         851 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
   14889         851 :                 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
   14890         851 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
   14891         851 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   14892         298 :                         NDR_PULL_ALLOC(ndr, r->out.rid);
   14893             :                 }
   14894         851 :                 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   14895         851 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
   14896         851 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
   14897         851 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
   14898         851 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   14899             :         }
   14900        1621 :         return NDR_ERR_SUCCESS;
   14901             : }
   14902             : 
   14903         372 : _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
   14904             : {
   14905         372 :         ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
   14906         372 :         if (r == NULL) { ndr_print_null(ndr); return; }
   14907         372 :         ndr->depth++;
   14908         372 :         if (flags & NDR_SET_VALUES) {
   14909           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   14910             :         }
   14911         372 :         if (flags & NDR_IN) {
   14912           2 :                 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
   14913           2 :                 ndr->depth++;
   14914           2 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   14915           2 :                 ndr->depth++;
   14916           2 :                 if (r->in.server_name) {
   14917           2 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   14918             :                 }
   14919           2 :                 ndr->depth--;
   14920           2 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   14921           2 :                 ndr->depth++;
   14922           2 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   14923           2 :                 ndr->depth--;
   14924           2 :                 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
   14925           2 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   14926           2 :                 ndr->depth++;
   14927           2 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   14928           2 :                 ndr->depth--;
   14929           2 :                 ndr_print_ptr(ndr, "credentials", r->in.credentials);
   14930           2 :                 ndr->depth++;
   14931           2 :                 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
   14932           2 :                 ndr->depth--;
   14933           2 :                 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
   14934           2 :                 ndr->depth++;
   14935           2 :                 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
   14936           2 :                 ndr->depth--;
   14937           2 :                 ndr->depth--;
   14938             :         }
   14939         372 :         if (flags & NDR_OUT) {
   14940         370 :                 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
   14941         370 :                 ndr->depth++;
   14942         370 :                 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
   14943         370 :                 ndr->depth++;
   14944         370 :                 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
   14945         370 :                 ndr->depth--;
   14946         370 :                 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
   14947         370 :                 ndr->depth++;
   14948         370 :                 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
   14949         370 :                 ndr->depth--;
   14950         370 :                 ndr_print_ptr(ndr, "rid", r->out.rid);
   14951         370 :                 ndr->depth++;
   14952         370 :                 ndr_print_uint32(ndr, "rid", *r->out.rid);
   14953         370 :                 ndr->depth--;
   14954         370 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   14955         370 :                 ndr->depth--;
   14956             :         }
   14957         372 :         ndr->depth--;
   14958             : }
   14959             : 
   14960         164 : static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
   14961             : {
   14962         164 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   14963         164 :         if (flags & NDR_IN) {
   14964          76 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
   14965          76 :                 if (r->in.server_unc) {
   14966          76 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
   14967          76 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14968          76 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
   14969          76 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14970             :                 }
   14971          76 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
   14972          76 :                 if (r->in.domain_name) {
   14973          76 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
   14974          76 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14975          76 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
   14976          76 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   14977             :                 }
   14978          76 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
   14979          76 :                 if (r->in.domain_guid) {
   14980           4 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
   14981             :                 }
   14982          76 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
   14983          76 :                 if (r->in.site_name) {
   14984          16 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
   14985          16 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   14986          16 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
   14987          16 :                         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));
   14988             :                 }
   14989          84 :                 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
   14990             :         }
   14991         164 :         if (flags & NDR_OUT) {
   14992          88 :                 if (r->out.info == NULL) {
   14993           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   14994             :                 }
   14995          88 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
   14996          88 :                 if (*r->out.info) {
   14997          88 :                         NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   14998             :                 }
   14999          88 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15000             :         }
   15001         146 :         return NDR_ERR_SUCCESS;
   15002             : }
   15003             : 
   15004         152 : static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
   15005             : {
   15006             :         uint32_t _ptr_server_unc;
   15007         152 :         uint32_t size_server_unc_1 = 0;
   15008         152 :         uint32_t length_server_unc_1 = 0;
   15009             :         uint32_t _ptr_domain_name;
   15010         152 :         uint32_t size_domain_name_1 = 0;
   15011         152 :         uint32_t length_domain_name_1 = 0;
   15012             :         uint32_t _ptr_domain_guid;
   15013             :         uint32_t _ptr_site_name;
   15014         152 :         uint32_t size_site_name_1 = 0;
   15015         152 :         uint32_t length_site_name_1 = 0;
   15016             :         uint32_t _ptr_info;
   15017         152 :         TALLOC_CTX *_mem_save_server_unc_0 = NULL;
   15018         152 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
   15019         152 :         TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
   15020         152 :         TALLOC_CTX *_mem_save_site_name_0 = NULL;
   15021         152 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   15022         152 :         TALLOC_CTX *_mem_save_info_1 = NULL;
   15023         152 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15024         152 :         if (flags & NDR_IN) {
   15025          76 :                 NDR_ZERO_STRUCT(r->out);
   15026             : 
   15027          76 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
   15028          76 :                 if (_ptr_server_unc) {
   15029          76 :                         NDR_PULL_ALLOC(ndr, r->in.server_unc);
   15030             :                 } else {
   15031           0 :                         r->in.server_unc = NULL;
   15032             :                 }
   15033          76 :                 if (r->in.server_unc) {
   15034          76 :                         _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15035          76 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
   15036          76 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
   15037          76 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
   15038          76 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_unc, &size_server_unc_1));
   15039          76 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_unc, &length_server_unc_1));
   15040          76 :                         if (length_server_unc_1 > size_server_unc_1) {
   15041           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
   15042             :                         }
   15043          76 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
   15044          76 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
   15045          76 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
   15046             :                 }
   15047          76 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
   15048          76 :                 if (_ptr_domain_name) {
   15049          76 :                         NDR_PULL_ALLOC(ndr, r->in.domain_name);
   15050             :                 } else {
   15051           0 :                         r->in.domain_name = NULL;
   15052             :                 }
   15053          76 :                 if (r->in.domain_name) {
   15054          76 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15055          76 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
   15056          76 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
   15057          76 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
   15058          76 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
   15059          76 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
   15060          76 :                         if (length_domain_name_1 > size_domain_name_1) {
   15061           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);
   15062             :                         }
   15063          76 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
   15064          76 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
   15065          76 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
   15066             :                 }
   15067          76 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
   15068          76 :                 if (_ptr_domain_guid) {
   15069           4 :                         NDR_PULL_ALLOC(ndr, r->in.domain_guid);
   15070             :                 } else {
   15071          72 :                         r->in.domain_guid = NULL;
   15072             :                 }
   15073          76 :                 if (r->in.domain_guid) {
   15074           4 :                         _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15075           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
   15076           4 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
   15077           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
   15078             :                 }
   15079          76 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
   15080          76 :                 if (_ptr_site_name) {
   15081          16 :                         NDR_PULL_ALLOC(ndr, r->in.site_name);
   15082             :                 } else {
   15083          60 :                         r->in.site_name = NULL;
   15084             :                 }
   15085          76 :                 if (r->in.site_name) {
   15086          16 :                         _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15087          16 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
   15088          16 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
   15089          16 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
   15090          16 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
   15091          16 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
   15092          16 :                         if (length_site_name_1 > size_site_name_1) {
   15093           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);
   15094             :                         }
   15095          16 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
   15096          16 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
   15097          16 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
   15098             :                 }
   15099          84 :                 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
   15100          76 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   15101          76 :                 NDR_ZERO_STRUCTP(r->out.info);
   15102             :         }
   15103         152 :         if (flags & NDR_OUT) {
   15104             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15105             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15106          76 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15107          40 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   15108             :                 }
   15109          76 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15110          76 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   15111          76 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
   15112          76 :                 if (_ptr_info) {
   15113          76 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
   15114             :                 } else {
   15115           0 :                         *r->out.info = NULL;
   15116             :                 }
   15117          76 :                 if (*r->out.info) {
   15118          76 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   15119          76 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
   15120          76 :                         NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   15121          76 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
   15122             :                 }
   15123          76 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   15124          76 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15125             :         }
   15126         136 :         return NDR_ERR_SUCCESS;
   15127             : }
   15128             : 
   15129          24 : _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
   15130             : {
   15131          24 :         ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
   15132          24 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15133          24 :         ndr->depth++;
   15134          24 :         if (flags & NDR_SET_VALUES) {
   15135           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15136             :         }
   15137          24 :         if (flags & NDR_IN) {
   15138           0 :                 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
   15139           0 :                 ndr->depth++;
   15140           0 :                 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
   15141           0 :                 ndr->depth++;
   15142           0 :                 if (r->in.server_unc) {
   15143           0 :                         ndr_print_string(ndr, "server_unc", r->in.server_unc);
   15144             :                 }
   15145           0 :                 ndr->depth--;
   15146           0 :                 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
   15147           0 :                 ndr->depth++;
   15148           0 :                 if (r->in.domain_name) {
   15149           0 :                         ndr_print_string(ndr, "domain_name", r->in.domain_name);
   15150             :                 }
   15151           0 :                 ndr->depth--;
   15152           0 :                 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
   15153           0 :                 ndr->depth++;
   15154           0 :                 if (r->in.domain_guid) {
   15155           0 :                         ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
   15156             :                 }
   15157           0 :                 ndr->depth--;
   15158           0 :                 ndr_print_ptr(ndr, "site_name", r->in.site_name);
   15159           0 :                 ndr->depth++;
   15160           0 :                 if (r->in.site_name) {
   15161           0 :                         ndr_print_string(ndr, "site_name", r->in.site_name);
   15162             :                 }
   15163           0 :                 ndr->depth--;
   15164           0 :                 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
   15165           0 :                 ndr->depth--;
   15166             :         }
   15167          24 :         if (flags & NDR_OUT) {
   15168          24 :                 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
   15169          24 :                 ndr->depth++;
   15170          24 :                 ndr_print_ptr(ndr, "info", r->out.info);
   15171          24 :                 ndr->depth++;
   15172          24 :                 ndr_print_ptr(ndr, "info", *r->out.info);
   15173          24 :                 ndr->depth++;
   15174          24 :                 if (*r->out.info) {
   15175          24 :                         ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
   15176             :                 }
   15177          24 :                 ndr->depth--;
   15178          24 :                 ndr->depth--;
   15179          24 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15180          24 :                 ndr->depth--;
   15181             :         }
   15182          24 :         ndr->depth--;
   15183             : }
   15184             : 
   15185         216 : static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
   15186             : {
   15187         216 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15188         216 :         if (flags & NDR_IN) {
   15189          96 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
   15190          96 :                 if (r->in.computer_name) {
   15191          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15192          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15193          96 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15194          96 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15195             :                 }
   15196             :         }
   15197         216 :         if (flags & NDR_OUT) {
   15198         120 :                 if (r->out.site == NULL) {
   15199           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15200             :                 }
   15201         120 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
   15202         120 :                 if (*r->out.site) {
   15203         120 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
   15204         120 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15205         120 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
   15206         120 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15207             :                 }
   15208         120 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   15209             :         }
   15210         180 :         return NDR_ERR_SUCCESS;
   15211             : }
   15212             : 
   15213         192 : static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
   15214             : {
   15215             :         uint32_t _ptr_computer_name;
   15216         192 :         uint32_t size_computer_name_1 = 0;
   15217         192 :         uint32_t length_computer_name_1 = 0;
   15218             :         uint32_t _ptr_site;
   15219         192 :         uint32_t size_site_2 = 0;
   15220         192 :         uint32_t length_site_2 = 0;
   15221         192 :         TALLOC_CTX *_mem_save_computer_name_0 = NULL;
   15222         192 :         TALLOC_CTX *_mem_save_site_0 = NULL;
   15223         192 :         TALLOC_CTX *_mem_save_site_1 = NULL;
   15224         192 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15225         192 :         if (flags & NDR_IN) {
   15226          96 :                 NDR_ZERO_STRUCT(r->out);
   15227             : 
   15228          96 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
   15229          96 :                 if (_ptr_computer_name) {
   15230          96 :                         NDR_PULL_ALLOC(ndr, r->in.computer_name);
   15231             :                 } else {
   15232           0 :                         r->in.computer_name = NULL;
   15233             :                 }
   15234          96 :                 if (r->in.computer_name) {
   15235          96 :                         _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15236          96 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
   15237          96 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   15238          96 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   15239          96 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   15240          96 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   15241          96 :                         if (length_computer_name_1 > size_computer_name_1) {
   15242           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   15243             :                         }
   15244          96 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   15245          96 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   15246          96 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
   15247             :                 }
   15248          96 :                 NDR_PULL_ALLOC(ndr, r->out.site);
   15249          96 :                 NDR_ZERO_STRUCTP(r->out.site);
   15250             :         }
   15251         192 :         if (flags & NDR_OUT) {
   15252             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15253             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15254          96 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15255          24 :                         NDR_PULL_ALLOC(ndr, r->out.site);
   15256             :                 }
   15257          96 :                 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15258          96 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
   15259          96 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
   15260          96 :                 if (_ptr_site) {
   15261          96 :                         NDR_PULL_ALLOC(ndr, *r->out.site);
   15262             :                 } else {
   15263           0 :                         *r->out.site = NULL;
   15264             :                 }
   15265          96 :                 if (*r->out.site) {
   15266          96 :                         _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
   15267          96 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
   15268          96 :                         NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
   15269          96 :                         NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
   15270          96 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)r->out.site, &size_site_2));
   15271          96 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)r->out.site, &length_site_2));
   15272          96 :                         if (length_site_2 > size_site_2) {
   15273           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_2, length_site_2);
   15274             :                         }
   15275          96 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_2, sizeof(uint16_t)));
   15276          96 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, length_site_2, sizeof(uint16_t), CH_UTF16));
   15277          96 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
   15278             :                 }
   15279          96 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
   15280          96 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   15281             :         }
   15282         160 :         return NDR_ERR_SUCCESS;
   15283             : }
   15284             : 
   15285          48 : _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
   15286             : {
   15287          48 :         ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
   15288          48 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15289          48 :         ndr->depth++;
   15290          48 :         if (flags & NDR_SET_VALUES) {
   15291           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15292             :         }
   15293          48 :         if (flags & NDR_IN) {
   15294           0 :                 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
   15295           0 :                 ndr->depth++;
   15296           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   15297           0 :                 ndr->depth++;
   15298           0 :                 if (r->in.computer_name) {
   15299           0 :                         ndr_print_string(ndr, "computer_name", r->in.computer_name);
   15300             :                 }
   15301           0 :                 ndr->depth--;
   15302           0 :                 ndr->depth--;
   15303             :         }
   15304          48 :         if (flags & NDR_OUT) {
   15305          48 :                 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
   15306          48 :                 ndr->depth++;
   15307          48 :                 ndr_print_ptr(ndr, "site", r->out.site);
   15308          48 :                 ndr->depth++;
   15309          48 :                 ndr_print_ptr(ndr, "site", *r->out.site);
   15310          48 :                 ndr->depth++;
   15311          48 :                 if (*r->out.site) {
   15312          48 :                         ndr_print_string(ndr, "site", *r->out.site);
   15313             :                 }
   15314          48 :                 ndr->depth--;
   15315          48 :                 ndr->depth--;
   15316          48 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   15317          48 :                 ndr->depth--;
   15318             :         }
   15319          48 :         ndr->depth--;
   15320             : }
   15321             : 
   15322         400 : _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
   15323             : {
   15324         400 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15325         400 :         if (flags & NDR_IN) {
   15326         179 :                 if (r->in.server_name == NULL) {
   15327           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15328             :                 }
   15329         179 :                 if (r->in.credential == NULL) {
   15330           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15331             :                 }
   15332         179 :                 if (r->in.return_authenticator == NULL) {
   15333           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15334             :                 }
   15335         179 :                 if (r->in.query == NULL) {
   15336           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15337             :                 }
   15338         179 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   15339         179 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15340         179 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   15341         179 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15342         179 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
   15343         179 :                 if (r->in.computer_name) {
   15344         179 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15345         179 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15346         179 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15347         179 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15348             :                 }
   15349         179 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   15350         179 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   15351         179 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
   15352         179 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level));
   15353         179 :                 NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
   15354             :         }
   15355         400 :         if (flags & NDR_OUT) {
   15356         221 :                 if (r->out.return_authenticator == NULL) {
   15357           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15358             :                 }
   15359         221 :                 if (r->out.info == NULL) {
   15360           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15361             :                 }
   15362         221 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   15363         221 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
   15364         221 :                 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   15365         221 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   15366             :         }
   15367         337 :         return NDR_ERR_SUCCESS;
   15368             : }
   15369             : 
   15370         372 : _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
   15371             : {
   15372         372 :         uint32_t size_server_name_1 = 0;
   15373         372 :         uint32_t length_server_name_1 = 0;
   15374             :         uint32_t _ptr_computer_name;
   15375         372 :         uint32_t size_computer_name_1 = 0;
   15376         372 :         uint32_t length_computer_name_1 = 0;
   15377         372 :         TALLOC_CTX *_mem_save_computer_name_0 = NULL;
   15378         372 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   15379         372 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   15380         372 :         TALLOC_CTX *_mem_save_query_0 = NULL;
   15381         372 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   15382         372 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15383         372 :         if (flags & NDR_IN) {
   15384         189 :                 NDR_ZERO_STRUCT(r->out);
   15385             : 
   15386         189 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   15387         189 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   15388         189 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   15389         189 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   15390         189 :                 if (length_server_name_1 > size_server_name_1) {
   15391           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   15392             :                 }
   15393         189 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   15394         189 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   15395         189 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
   15396         189 :                 if (_ptr_computer_name) {
   15397         189 :                         NDR_PULL_ALLOC(ndr, r->in.computer_name);
   15398             :                 } else {
   15399           0 :                         r->in.computer_name = NULL;
   15400             :                 }
   15401         189 :                 if (r->in.computer_name) {
   15402         189 :                         _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15403         189 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
   15404         189 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   15405         189 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   15406         189 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   15407         189 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   15408         189 :                         if (length_computer_name_1 > size_computer_name_1) {
   15409           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   15410             :                         }
   15411         189 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   15412         189 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   15413         189 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
   15414             :                 }
   15415         189 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15416         189 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   15417             :                 }
   15418         189 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15419         189 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   15420         189 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   15421         189 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   15422         189 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15423         189 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   15424             :                 }
   15425         189 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15426         189 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   15427         189 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   15428         189 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   15429         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
   15430         189 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15431         189 :                         NDR_PULL_ALLOC(ndr, r->in.query);
   15432             :                 }
   15433         189 :                 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15434         189 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC);
   15435         189 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level));
   15436         189 :                 NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
   15437         189 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
   15438         189 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   15439         189 :                 *r->out.return_authenticator = *r->in.return_authenticator;
   15440         189 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   15441         189 :                 NDR_ZERO_STRUCTP(r->out.info);
   15442             :         }
   15443         372 :         if (flags & NDR_OUT) {
   15444             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15445             :                 if (r->in.credential == NULL) {
   15446             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   15447             :                         NDR_ZERO_STRUCTP(r->in.credential);
   15448             :                 }
   15449             :                 if (r->in.return_authenticator == NULL) {
   15450             :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   15451             :                         NDR_ZERO_STRUCTP(r->in.return_authenticator);
   15452             :                 }
   15453             :                 if (r->in.query == NULL) {
   15454             :                         NDR_PULL_ALLOC(ndr, r->in.query);
   15455             :                         NDR_ZERO_STRUCTP(r->in.query);
   15456             :                 }
   15457             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15458         183 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15459          57 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   15460             :                 }
   15461         183 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15462         183 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   15463         183 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   15464         183 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   15465         183 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15466          57 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   15467             :                 }
   15468         183 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15469         183 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   15470         183 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
   15471         183 :                 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
   15472         183 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   15473         183 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   15474             :         }
   15475         302 :         return NDR_ERR_SUCCESS;
   15476             : }
   15477             : 
   15478          98 : _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
   15479             : {
   15480          98 :         ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
   15481          98 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15482          98 :         ndr->depth++;
   15483          98 :         if (flags & NDR_SET_VALUES) {
   15484           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15485             :         }
   15486          98 :         if (flags & NDR_IN) {
   15487          10 :                 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
   15488          10 :                 ndr->depth++;
   15489          10 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   15490          10 :                 ndr->depth++;
   15491          10 :                 ndr_print_string(ndr, "server_name", r->in.server_name);
   15492          10 :                 ndr->depth--;
   15493          10 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   15494          10 :                 ndr->depth++;
   15495          10 :                 if (r->in.computer_name) {
   15496          10 :                         ndr_print_string(ndr, "computer_name", r->in.computer_name);
   15497             :                 }
   15498          10 :                 ndr->depth--;
   15499          10 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   15500          10 :                 ndr->depth++;
   15501          10 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   15502          10 :                 ndr->depth--;
   15503          10 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   15504          10 :                 ndr->depth++;
   15505          10 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   15506          10 :                 ndr->depth--;
   15507          10 :                 ndr_print_uint32(ndr, "level", r->in.level);
   15508          10 :                 ndr_print_ptr(ndr, "query", r->in.query);
   15509          10 :                 ndr->depth++;
   15510          10 :                 ndr_print_set_switch_value(ndr, r->in.query, r->in.level);
   15511          10 :                 ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query);
   15512          10 :                 ndr->depth--;
   15513          10 :                 ndr->depth--;
   15514             :         }
   15515          98 :         if (flags & NDR_OUT) {
   15516          88 :                 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
   15517          88 :                 ndr->depth++;
   15518          88 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   15519          88 :                 ndr->depth++;
   15520          88 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   15521          88 :                 ndr->depth--;
   15522          88 :                 ndr_print_ptr(ndr, "info", r->out.info);
   15523          88 :                 ndr->depth++;
   15524          88 :                 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
   15525          88 :                 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
   15526          88 :                 ndr->depth--;
   15527          88 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   15528          88 :                 ndr->depth--;
   15529             :         }
   15530          98 :         ndr->depth--;
   15531             : }
   15532             : 
   15533        1005 : static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
   15534             : {
   15535        1005 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15536        1005 :         if (flags & NDR_IN) {
   15537         453 :                 if (r->in.account_name == NULL) {
   15538           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15539             :                 }
   15540         453 :                 if (r->in.computer_name == NULL) {
   15541           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15542             :                 }
   15543         453 :                 if (r->in.credential == NULL) {
   15544           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15545             :                 }
   15546         453 :                 if (r->in.new_password == NULL) {
   15547           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15548             :                 }
   15549         453 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   15550         453 :                 if (r->in.server_name) {
   15551         453 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   15552         453 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15553         453 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   15554         453 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15555             :                 }
   15556         453 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   15557         453 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15558         453 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   15559         453 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15560         453 :                 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
   15561         453 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15562         453 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15563         453 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15564         453 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15565         453 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   15566         453 :                 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
   15567             :         }
   15568        1005 :         if (flags & NDR_OUT) {
   15569         552 :                 if (r->out.return_authenticator == NULL) {
   15570           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15571             :                 }
   15572         552 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   15573         552 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   15574             :         }
   15575         901 :         return NDR_ERR_SUCCESS;
   15576             : }
   15577             : 
   15578         904 : static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
   15579             : {
   15580             :         uint32_t _ptr_server_name;
   15581         904 :         uint32_t size_server_name_1 = 0;
   15582         904 :         uint32_t length_server_name_1 = 0;
   15583         904 :         uint32_t size_account_name_1 = 0;
   15584         904 :         uint32_t length_account_name_1 = 0;
   15585         904 :         uint32_t size_computer_name_1 = 0;
   15586         904 :         uint32_t length_computer_name_1 = 0;
   15587         904 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   15588         904 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   15589         904 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   15590         904 :         TALLOC_CTX *_mem_save_new_password_0 = NULL;
   15591         904 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15592         904 :         if (flags & NDR_IN) {
   15593         451 :                 NDR_ZERO_STRUCT(r->out);
   15594             : 
   15595         451 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   15596         451 :                 if (_ptr_server_name) {
   15597         451 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   15598             :                 } else {
   15599           0 :                         r->in.server_name = NULL;
   15600             :                 }
   15601         451 :                 if (r->in.server_name) {
   15602         451 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15603         451 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   15604         451 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   15605         451 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   15606         451 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   15607         451 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   15608         451 :                         if (length_server_name_1 > size_server_name_1) {
   15609           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   15610             :                         }
   15611         451 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   15612         451 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   15613         451 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   15614             :                 }
   15615         451 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   15616         451 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   15617         451 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   15618         451 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   15619         451 :                 if (length_account_name_1 > size_account_name_1) {
   15620           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   15621             :                 }
   15622         451 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   15623         451 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   15624         451 :                 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
   15625         451 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   15626         451 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   15627         451 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   15628         451 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   15629         451 :                 if (length_computer_name_1 > size_computer_name_1) {
   15630           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   15631             :                 }
   15632         451 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   15633         451 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   15634         451 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15635         451 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   15636             :                 }
   15637         451 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15638         451 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   15639         451 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   15640         451 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   15641         451 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15642         451 :                         NDR_PULL_ALLOC(ndr, r->in.new_password);
   15643             :                 }
   15644         451 :                 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15645         451 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
   15646         451 :                 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
   15647         451 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
   15648         451 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   15649         451 :                 NDR_ZERO_STRUCTP(r->out.return_authenticator);
   15650             :         }
   15651         904 :         if (flags & NDR_OUT) {
   15652             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15653             :                 if (r->in.credential == NULL) {
   15654             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   15655             :                         NDR_ZERO_STRUCTP(r->in.credential);
   15656             :                 }
   15657             :                 if (r->in.new_password == NULL) {
   15658             :                         NDR_PULL_ALLOC(ndr, r->in.new_password);
   15659             :                         NDR_ZERO_STRUCTP(r->in.new_password);
   15660             :                 }
   15661             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15662         453 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15663         113 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   15664             :                 }
   15665         453 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15666         453 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   15667         453 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   15668         453 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   15669         453 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   15670             :         }
   15671         810 :         return NDR_ERR_SUCCESS;
   15672             : }
   15673             : 
   15674         202 : _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
   15675             : {
   15676         202 :         ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
   15677         202 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15678         202 :         ndr->depth++;
   15679         202 :         if (flags & NDR_SET_VALUES) {
   15680           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15681             :         }
   15682         202 :         if (flags & NDR_IN) {
   15683           0 :                 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
   15684           0 :                 ndr->depth++;
   15685           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   15686           0 :                 ndr->depth++;
   15687           0 :                 if (r->in.server_name) {
   15688           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   15689             :                 }
   15690           0 :                 ndr->depth--;
   15691           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   15692           0 :                 ndr->depth++;
   15693           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   15694           0 :                 ndr->depth--;
   15695           0 :                 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
   15696           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   15697           0 :                 ndr->depth++;
   15698           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   15699           0 :                 ndr->depth--;
   15700           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   15701           0 :                 ndr->depth++;
   15702           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   15703           0 :                 ndr->depth--;
   15704           0 :                 ndr_print_ptr(ndr, "new_password", r->in.new_password);
   15705           0 :                 ndr->depth++;
   15706           0 :                 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
   15707           0 :                 ndr->depth--;
   15708           0 :                 ndr->depth--;
   15709             :         }
   15710         202 :         if (flags & NDR_OUT) {
   15711         202 :                 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
   15712         202 :                 ndr->depth++;
   15713         202 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   15714         202 :                 ndr->depth++;
   15715         202 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   15716         202 :                 ndr->depth--;
   15717         202 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   15718         202 :                 ndr->depth--;
   15719             :         }
   15720         202 :         ndr->depth--;
   15721             : }
   15722             : 
   15723          24 : static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
   15724             : {
   15725          24 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15726          24 :         if (flags & NDR_IN) {
   15727          24 :                 if (r->in.account_name == NULL) {
   15728           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15729             :                 }
   15730          24 :                 if (r->in.computer_name == NULL) {
   15731           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15732             :                 }
   15733          24 :                 if (r->in.credential == NULL) {
   15734           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15735             :                 }
   15736          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   15737          24 :                 if (r->in.server_name) {
   15738          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   15739          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15740          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   15741          24 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15742             :                 }
   15743          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   15744          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15745          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   15746          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15747          24 :                 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
   15748          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15749          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15750          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15751          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15752          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   15753             :         }
   15754          24 :         if (flags & NDR_OUT) {
   15755           0 :                 if (r->out.return_authenticator == NULL) {
   15756           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15757             :                 }
   15758           0 :                 if (r->out.password == NULL) {
   15759           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15760             :                 }
   15761           0 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   15762           0 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
   15763           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   15764             :         }
   15765          20 :         return NDR_ERR_SUCCESS;
   15766             : }
   15767             : 
   15768          24 : static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
   15769             : {
   15770             :         uint32_t _ptr_server_name;
   15771          24 :         uint32_t size_server_name_1 = 0;
   15772          24 :         uint32_t length_server_name_1 = 0;
   15773          24 :         uint32_t size_account_name_1 = 0;
   15774          24 :         uint32_t length_account_name_1 = 0;
   15775          24 :         uint32_t size_computer_name_1 = 0;
   15776          24 :         uint32_t length_computer_name_1 = 0;
   15777          24 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   15778          24 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   15779          24 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   15780          24 :         TALLOC_CTX *_mem_save_password_0 = NULL;
   15781          24 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15782          24 :         if (flags & NDR_IN) {
   15783          24 :                 NDR_ZERO_STRUCT(r->out);
   15784             : 
   15785          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   15786          24 :                 if (_ptr_server_name) {
   15787          24 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   15788             :                 } else {
   15789           0 :                         r->in.server_name = NULL;
   15790             :                 }
   15791          24 :                 if (r->in.server_name) {
   15792          24 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15793          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   15794          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   15795          24 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   15796          24 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   15797          24 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   15798          24 :                         if (length_server_name_1 > size_server_name_1) {
   15799           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   15800             :                         }
   15801          24 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   15802          24 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   15803          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   15804             :                 }
   15805          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   15806          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   15807          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   15808          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   15809          24 :                 if (length_account_name_1 > size_account_name_1) {
   15810           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   15811             :                 }
   15812          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   15813          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   15814          24 :                 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
   15815          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   15816          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   15817          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   15818          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   15819          24 :                 if (length_computer_name_1 > size_computer_name_1) {
   15820           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   15821             :                 }
   15822          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   15823          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   15824          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15825          24 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   15826             :                 }
   15827          24 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15828          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   15829          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   15830          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   15831          24 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   15832          24 :                 NDR_ZERO_STRUCTP(r->out.return_authenticator);
   15833          24 :                 NDR_PULL_ALLOC(ndr, r->out.password);
   15834          24 :                 NDR_ZERO_STRUCTP(r->out.password);
   15835             :         }
   15836          24 :         if (flags & NDR_OUT) {
   15837             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   15838             :                 if (r->in.credential == NULL) {
   15839             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   15840             :                         NDR_ZERO_STRUCTP(r->in.credential);
   15841             :                 }
   15842             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   15843           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15844           0 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   15845             :                 }
   15846           0 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15847           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   15848           0 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   15849           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   15850           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15851           0 :                         NDR_PULL_ALLOC(ndr, r->out.password);
   15852             :                 }
   15853           0 :                 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15854           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
   15855           0 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
   15856           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
   15857           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   15858             :         }
   15859          20 :         return NDR_ERR_SUCCESS;
   15860             : }
   15861             : 
   15862           0 : _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
   15863             : {
   15864           0 :         ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
   15865           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   15866           0 :         ndr->depth++;
   15867           0 :         if (flags & NDR_SET_VALUES) {
   15868           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   15869             :         }
   15870           0 :         if (flags & NDR_IN) {
   15871           0 :                 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
   15872           0 :                 ndr->depth++;
   15873           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   15874           0 :                 ndr->depth++;
   15875           0 :                 if (r->in.server_name) {
   15876           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   15877             :                 }
   15878           0 :                 ndr->depth--;
   15879           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   15880           0 :                 ndr->depth++;
   15881           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   15882           0 :                 ndr->depth--;
   15883           0 :                 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
   15884           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   15885           0 :                 ndr->depth++;
   15886           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   15887           0 :                 ndr->depth--;
   15888           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   15889           0 :                 ndr->depth++;
   15890           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   15891           0 :                 ndr->depth--;
   15892           0 :                 ndr->depth--;
   15893             :         }
   15894           0 :         if (flags & NDR_OUT) {
   15895           0 :                 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
   15896           0 :                 ndr->depth++;
   15897           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   15898           0 :                 ndr->depth++;
   15899           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   15900           0 :                 ndr->depth--;
   15901           0 :                 ndr_print_ptr(ndr, "password", r->out.password);
   15902           0 :                 ndr->depth++;
   15903           0 :                 ndr_print_samr_Password(ndr, "password", r->out.password);
   15904           0 :                 ndr->depth--;
   15905           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   15906           0 :                 ndr->depth--;
   15907             :         }
   15908           0 :         ndr->depth--;
   15909             : }
   15910             : 
   15911          17 : static enum ndr_err_code ndr_push_netr_NetrLogonSendToSam(struct ndr_push *ndr, int flags, const struct netr_NetrLogonSendToSam *r)
   15912             : {
   15913          17 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   15914          17 :         if (flags & NDR_IN) {
   15915           0 :                 if (r->in.computer_name == NULL) {
   15916           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15917             :                 }
   15918           0 :                 if (r->in.credential == NULL) {
   15919           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15920             :                 }
   15921           0 :                 if (r->in.opaque_buffer == NULL) {
   15922           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15923             :                 }
   15924           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   15925           0 :                 if (r->in.server_name) {
   15926           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   15927           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15928           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   15929           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15930             :                 }
   15931           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15932           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   15933           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   15934           0 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   15935           0 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   15936           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.buffer_len));
   15937           0 :                 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.opaque_buffer, r->in.buffer_len));
   15938           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffer_len));
   15939             :         }
   15940          17 :         if (flags & NDR_OUT) {
   15941          17 :                 if (r->out.return_authenticator == NULL) {
   15942           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   15943             :                 }
   15944          17 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   15945          17 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   15946             :         }
   15947          17 :         return NDR_ERR_SUCCESS;
   15948             : }
   15949             : 
   15950          17 : static enum ndr_err_code ndr_pull_netr_NetrLogonSendToSam(struct ndr_pull *ndr, int flags, struct netr_NetrLogonSendToSam *r)
   15951             : {
   15952             :         uint32_t _ptr_server_name;
   15953          17 :         uint32_t size_server_name_1 = 0;
   15954          17 :         uint32_t length_server_name_1 = 0;
   15955          17 :         uint32_t size_computer_name_1 = 0;
   15956          17 :         uint32_t length_computer_name_1 = 0;
   15957          17 :         uint32_t size_opaque_buffer_1 = 0;
   15958          17 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   15959          17 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   15960          17 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   15961          17 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   15962          17 :         if (flags & NDR_IN) {
   15963          17 :                 NDR_ZERO_STRUCT(r->out);
   15964             : 
   15965          17 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   15966          17 :                 if (_ptr_server_name) {
   15967          17 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   15968             :                 } else {
   15969           0 :                         r->in.server_name = NULL;
   15970             :                 }
   15971          17 :                 if (r->in.server_name) {
   15972          17 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15973          17 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   15974          17 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   15975          17 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   15976          17 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   15977          17 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   15978          17 :                         if (length_server_name_1 > size_server_name_1) {
   15979           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   15980             :                         }
   15981          17 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   15982          17 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   15983          17 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   15984             :                 }
   15985          17 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   15986          17 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   15987          17 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   15988          17 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   15989          17 :                 if (length_computer_name_1 > size_computer_name_1) {
   15990           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   15991             :                 }
   15992          17 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   15993          17 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   15994          17 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   15995          17 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   15996             :                 }
   15997          17 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   15998          17 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   15999          17 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   16000          17 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   16001          17 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.opaque_buffer));
   16002          17 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.opaque_buffer, &size_opaque_buffer_1));
   16003          17 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16004          17 :                         NDR_PULL_ALLOC_N(ndr, r->in.opaque_buffer, size_opaque_buffer_1);
   16005             :                 }
   16006          17 :                 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.opaque_buffer, size_opaque_buffer_1));
   16007          17 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffer_len));
   16008          17 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   16009          17 :                 NDR_ZERO_STRUCTP(r->out.return_authenticator);
   16010          17 :                 if (r->in.opaque_buffer) {
   16011          17 :                         NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->in.opaque_buffer, r->in.buffer_len));
   16012             :                 }
   16013             :         }
   16014          17 :         if (flags & NDR_OUT) {
   16015             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16016             :                 if (r->in.credential == NULL) {
   16017             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   16018             :                         NDR_ZERO_STRUCTP(r->in.credential);
   16019             :                 }
   16020             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16021           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16022           0 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   16023             :                 }
   16024           0 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16025           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   16026           0 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   16027           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   16028           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   16029             :         }
   16030          17 :         return NDR_ERR_SUCCESS;
   16031             : }
   16032             : 
   16033           0 : _PUBLIC_ void ndr_print_netr_NetrLogonSendToSam(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrLogonSendToSam *r)
   16034             : {
   16035           0 :         ndr_print_struct(ndr, name, "netr_NetrLogonSendToSam");
   16036           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16037           0 :         ndr->depth++;
   16038           0 :         if (flags & NDR_SET_VALUES) {
   16039           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16040             :         }
   16041           0 :         if (flags & NDR_IN) {
   16042           0 :                 ndr_print_struct(ndr, "in", "netr_NetrLogonSendToSam");
   16043           0 :                 ndr->depth++;
   16044           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   16045           0 :                 ndr->depth++;
   16046           0 :                 if (r->in.server_name) {
   16047           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   16048             :                 }
   16049           0 :                 ndr->depth--;
   16050           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   16051           0 :                 ndr->depth++;
   16052           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   16053           0 :                 ndr->depth--;
   16054           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   16055           0 :                 ndr->depth++;
   16056           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   16057           0 :                 ndr->depth--;
   16058           0 :                 ndr_print_ptr(ndr, "opaque_buffer", r->in.opaque_buffer);
   16059           0 :                 ndr->depth++;
   16060           0 :                 ndr_print_array_uint8(ndr, "opaque_buffer", r->in.opaque_buffer, r->in.buffer_len);
   16061           0 :                 ndr->depth--;
   16062           0 :                 ndr_print_uint32(ndr, "buffer_len", r->in.buffer_len);
   16063           0 :                 ndr->depth--;
   16064             :         }
   16065           0 :         if (flags & NDR_OUT) {
   16066           0 :                 ndr_print_struct(ndr, "out", "netr_NetrLogonSendToSam");
   16067           0 :                 ndr->depth++;
   16068           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   16069           0 :                 ndr->depth++;
   16070           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   16071           0 :                 ndr->depth--;
   16072           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   16073           0 :                 ndr->depth--;
   16074             :         }
   16075           0 :         ndr->depth--;
   16076             : }
   16077             : 
   16078         162 : static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
   16079             : {
   16080             :         uint32_t cntr_addresses_1;
   16081         162 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16082         162 :         if (flags & NDR_IN) {
   16083          72 :                 if (r->in.addresses == NULL) {
   16084           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16085             :                 }
   16086          72 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   16087          72 :                 if (r->in.server_name) {
   16088          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16089          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16090          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16091          72 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16092             :                 }
   16093          72 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
   16094          72 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count));
   16095         492 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
   16096         432 :                         NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
   16097             :                 }
   16098         492 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
   16099         432 :                         NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
   16100             :                 }
   16101             :         }
   16102         162 :         if (flags & NDR_OUT) {
   16103          90 :                 if (r->out.ctr == NULL) {
   16104           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16105             :                 }
   16106          90 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
   16107          90 :                 if (*r->out.ctr) {
   16108          90 :                         NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
   16109             :                 }
   16110          90 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16111             :         }
   16112         135 :         return NDR_ERR_SUCCESS;
   16113             : }
   16114             : 
   16115         144 : static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
   16116             : {
   16117             :         uint32_t _ptr_server_name;
   16118         144 :         uint32_t size_server_name_1 = 0;
   16119         144 :         uint32_t length_server_name_1 = 0;
   16120         144 :         uint32_t size_addresses_1 = 0;
   16121             :         uint32_t cntr_addresses_1;
   16122             :         uint32_t _ptr_ctr;
   16123         144 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   16124         144 :         TALLOC_CTX *_mem_save_addresses_1 = NULL;
   16125         144 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   16126         144 :         TALLOC_CTX *_mem_save_ctr_1 = NULL;
   16127         144 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16128         144 :         if (flags & NDR_IN) {
   16129          72 :                 NDR_ZERO_STRUCT(r->out);
   16130             : 
   16131          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   16132          72 :                 if (_ptr_server_name) {
   16133          72 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   16134             :                 } else {
   16135           0 :                         r->in.server_name = NULL;
   16136             :                 }
   16137          72 :                 if (r->in.server_name) {
   16138          72 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16139          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   16140          72 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   16141          72 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   16142          72 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   16143          72 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   16144          72 :                         if (length_server_name_1 > size_server_name_1) {
   16145           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   16146             :                         }
   16147          72 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   16148          72 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   16149          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   16150             :                 }
   16151          72 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
   16152          72 :                 if (r->in.count > 32000) {
   16153           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   16154             :                 }
   16155          72 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
   16156          72 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.addresses, &size_addresses_1));
   16157          72 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16158          72 :                         NDR_PULL_ALLOC_N(ndr, r->in.addresses, size_addresses_1);
   16159             :                 }
   16160          72 :                 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
   16161          72 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
   16162         504 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
   16163         432 :                         NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
   16164             :                 }
   16165         492 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
   16166         432 :                         NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
   16167             :                 }
   16168          72 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
   16169          72 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   16170          72 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   16171          72 :                 if (r->in.addresses) {
   16172          72 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
   16173             :                 }
   16174         144 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
   16175             :                 }
   16176             :         }
   16177         144 :         if (flags & NDR_OUT) {
   16178             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16179             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16180          72 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16181          18 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   16182             :                 }
   16183          72 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16184          72 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   16185          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
   16186          72 :                 if (_ptr_ctr) {
   16187          72 :                         NDR_PULL_ALLOC(ndr, *r->out.ctr);
   16188             :                 } else {
   16189           0 :                         *r->out.ctr = NULL;
   16190             :                 }
   16191          72 :                 if (*r->out.ctr) {
   16192          72 :                         _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
   16193          72 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
   16194          72 :                         NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
   16195          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
   16196             :                 }
   16197          72 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   16198          72 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16199             :         }
   16200         120 :         return NDR_ERR_SUCCESS;
   16201             : }
   16202             : 
   16203          36 : _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
   16204             : {
   16205             :         uint32_t cntr_addresses_1;
   16206          36 :         ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
   16207          36 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16208          36 :         ndr->depth++;
   16209          36 :         if (flags & NDR_SET_VALUES) {
   16210           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16211             :         }
   16212          36 :         if (flags & NDR_IN) {
   16213           0 :                 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
   16214           0 :                 ndr->depth++;
   16215           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   16216           0 :                 ndr->depth++;
   16217           0 :                 if (r->in.server_name) {
   16218           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   16219             :                 }
   16220           0 :                 ndr->depth--;
   16221           0 :                 ndr_print_uint32(ndr, "count", r->in.count);
   16222           0 :                 ndr_print_ptr(ndr, "addresses", r->in.addresses);
   16223           0 :                 ndr->depth++;
   16224           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
   16225           0 :                 ndr->depth++;
   16226           0 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
   16227           0 :                         ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
   16228             :                 }
   16229           0 :                 ndr->depth--;
   16230           0 :                 ndr->depth--;
   16231           0 :                 ndr->depth--;
   16232             :         }
   16233          36 :         if (flags & NDR_OUT) {
   16234          36 :                 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
   16235          36 :                 ndr->depth++;
   16236          36 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   16237          36 :                 ndr->depth++;
   16238          36 :                 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
   16239          36 :                 ndr->depth++;
   16240          36 :                 if (*r->out.ctr) {
   16241          36 :                         ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
   16242             :                 }
   16243          36 :                 ndr->depth--;
   16244          36 :                 ndr->depth--;
   16245          36 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16246          36 :                 ndr->depth--;
   16247             :         }
   16248          36 :         ndr->depth--;
   16249             : }
   16250             : 
   16251         482 : static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
   16252             : {
   16253         482 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16254         482 :         if (flags & NDR_IN) {
   16255         229 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
   16256         229 :                 if (r->in.server_unc) {
   16257         205 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
   16258         205 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16259         205 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
   16260         205 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16261             :                 }
   16262         229 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
   16263         229 :                 if (r->in.client_account) {
   16264          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
   16265          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16266          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
   16267          24 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_account, ndr_charset_length(r->in.client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16268             :                 }
   16269         229 :                 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
   16270         229 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
   16271         229 :                 if (r->in.domain_name) {
   16272          84 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
   16273          84 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16274          84 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
   16275          84 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16276             :                 }
   16277         229 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
   16278         229 :                 if (r->in.domain_guid) {
   16279           0 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
   16280             :                 }
   16281         229 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
   16282         229 :                 if (r->in.site_name) {
   16283           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
   16284           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16285           4 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
   16286           4 :                         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));
   16287             :                 }
   16288         247 :                 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
   16289             :         }
   16290         482 :         if (flags & NDR_OUT) {
   16291         253 :                 if (r->out.info == NULL) {
   16292           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16293             :                 }
   16294         253 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
   16295         253 :                 if (*r->out.info) {
   16296         253 :                         NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   16297             :                 }
   16298         253 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16299             :         }
   16300         442 :         return NDR_ERR_SUCCESS;
   16301             : }
   16302             : 
   16303         458 : static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
   16304             : {
   16305             :         uint32_t _ptr_server_unc;
   16306         458 :         uint32_t size_server_unc_1 = 0;
   16307         458 :         uint32_t length_server_unc_1 = 0;
   16308             :         uint32_t _ptr_client_account;
   16309         458 :         uint32_t size_client_account_1 = 0;
   16310         458 :         uint32_t length_client_account_1 = 0;
   16311             :         uint32_t _ptr_domain_name;
   16312         458 :         uint32_t size_domain_name_1 = 0;
   16313         458 :         uint32_t length_domain_name_1 = 0;
   16314             :         uint32_t _ptr_domain_guid;
   16315             :         uint32_t _ptr_site_name;
   16316         458 :         uint32_t size_site_name_1 = 0;
   16317         458 :         uint32_t length_site_name_1 = 0;
   16318             :         uint32_t _ptr_info;
   16319         458 :         TALLOC_CTX *_mem_save_server_unc_0 = NULL;
   16320         458 :         TALLOC_CTX *_mem_save_client_account_0 = NULL;
   16321         458 :         TALLOC_CTX *_mem_save_domain_name_0 = NULL;
   16322         458 :         TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
   16323         458 :         TALLOC_CTX *_mem_save_site_name_0 = NULL;
   16324         458 :         TALLOC_CTX *_mem_save_info_0 = NULL;
   16325         458 :         TALLOC_CTX *_mem_save_info_1 = NULL;
   16326         458 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16327         458 :         if (flags & NDR_IN) {
   16328         229 :                 NDR_ZERO_STRUCT(r->out);
   16329             : 
   16330         229 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
   16331         229 :                 if (_ptr_server_unc) {
   16332         205 :                         NDR_PULL_ALLOC(ndr, r->in.server_unc);
   16333             :                 } else {
   16334          24 :                         r->in.server_unc = NULL;
   16335             :                 }
   16336         229 :                 if (r->in.server_unc) {
   16337         205 :                         _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16338         205 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
   16339         205 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
   16340         205 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
   16341         205 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_unc, &size_server_unc_1));
   16342         205 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_unc, &length_server_unc_1));
   16343         205 :                         if (length_server_unc_1 > size_server_unc_1) {
   16344           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
   16345             :                         }
   16346         205 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
   16347         205 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
   16348         205 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
   16349             :                 }
   16350         229 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
   16351         229 :                 if (_ptr_client_account) {
   16352          24 :                         NDR_PULL_ALLOC(ndr, r->in.client_account);
   16353             :                 } else {
   16354         205 :                         r->in.client_account = NULL;
   16355             :                 }
   16356         229 :                 if (r->in.client_account) {
   16357          24 :                         _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16358          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
   16359          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
   16360          24 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
   16361          24 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.client_account, &size_client_account_1));
   16362          24 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.client_account, &length_client_account_1));
   16363          24 :                         if (length_client_account_1 > size_client_account_1) {
   16364           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_account_1, length_client_account_1);
   16365             :                         }
   16366          24 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_client_account_1, sizeof(uint16_t)));
   16367          24 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_account, length_client_account_1, sizeof(uint16_t), CH_UTF16));
   16368          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
   16369             :                 }
   16370         229 :                 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
   16371         229 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
   16372         229 :                 if (_ptr_domain_name) {
   16373          84 :                         NDR_PULL_ALLOC(ndr, r->in.domain_name);
   16374             :                 } else {
   16375         145 :                         r->in.domain_name = NULL;
   16376             :                 }
   16377         229 :                 if (r->in.domain_name) {
   16378          84 :                         _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16379          84 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
   16380          84 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
   16381          84 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
   16382          84 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain_name, &size_domain_name_1));
   16383          84 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain_name, &length_domain_name_1));
   16384          84 :                         if (length_domain_name_1 > size_domain_name_1) {
   16385           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);
   16386             :                         }
   16387          84 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
   16388          84 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
   16389          84 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
   16390             :                 }
   16391         229 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
   16392         229 :                 if (_ptr_domain_guid) {
   16393           0 :                         NDR_PULL_ALLOC(ndr, r->in.domain_guid);
   16394             :                 } else {
   16395         229 :                         r->in.domain_guid = NULL;
   16396             :                 }
   16397         229 :                 if (r->in.domain_guid) {
   16398           0 :                         _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16399           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
   16400           0 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
   16401           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
   16402             :                 }
   16403         229 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
   16404         229 :                 if (_ptr_site_name) {
   16405           4 :                         NDR_PULL_ALLOC(ndr, r->in.site_name);
   16406             :                 } else {
   16407         225 :                         r->in.site_name = NULL;
   16408             :                 }
   16409         229 :                 if (r->in.site_name) {
   16410           4 :                         _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16411           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
   16412           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
   16413           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
   16414           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
   16415           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
   16416           4 :                         if (length_site_name_1 > size_site_name_1) {
   16417           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);
   16418             :                         }
   16419           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
   16420           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
   16421           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
   16422             :                 }
   16423         247 :                 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
   16424         229 :                 NDR_PULL_ALLOC(ndr, r->out.info);
   16425         229 :                 NDR_ZERO_STRUCTP(r->out.info);
   16426             :         }
   16427         458 :         if (flags & NDR_OUT) {
   16428             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16429             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16430         229 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16431         157 :                         NDR_PULL_ALLOC(ndr, r->out.info);
   16432             :                 }
   16433         229 :                 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16434         229 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
   16435         229 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
   16436         229 :                 if (_ptr_info) {
   16437         229 :                         NDR_PULL_ALLOC(ndr, *r->out.info);
   16438             :                 } else {
   16439           0 :                         *r->out.info = NULL;
   16440             :                 }
   16441         229 :                 if (*r->out.info) {
   16442         229 :                         _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   16443         229 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
   16444         229 :                         NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
   16445         229 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
   16446             :                 }
   16447         229 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
   16448         229 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16449             :         }
   16450         422 :         return NDR_ERR_SUCCESS;
   16451             : }
   16452             : 
   16453          48 : _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
   16454             : {
   16455          48 :         ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
   16456          48 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16457          48 :         ndr->depth++;
   16458          48 :         if (flags & NDR_SET_VALUES) {
   16459           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16460             :         }
   16461          48 :         if (flags & NDR_IN) {
   16462           0 :                 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
   16463           0 :                 ndr->depth++;
   16464           0 :                 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
   16465           0 :                 ndr->depth++;
   16466           0 :                 if (r->in.server_unc) {
   16467           0 :                         ndr_print_string(ndr, "server_unc", r->in.server_unc);
   16468             :                 }
   16469           0 :                 ndr->depth--;
   16470           0 :                 ndr_print_ptr(ndr, "client_account", r->in.client_account);
   16471           0 :                 ndr->depth++;
   16472           0 :                 if (r->in.client_account) {
   16473           0 :                         ndr_print_string(ndr, "client_account", r->in.client_account);
   16474             :                 }
   16475           0 :                 ndr->depth--;
   16476           0 :                 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
   16477           0 :                 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
   16478           0 :                 ndr->depth++;
   16479           0 :                 if (r->in.domain_name) {
   16480           0 :                         ndr_print_string(ndr, "domain_name", r->in.domain_name);
   16481             :                 }
   16482           0 :                 ndr->depth--;
   16483           0 :                 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
   16484           0 :                 ndr->depth++;
   16485           0 :                 if (r->in.domain_guid) {
   16486           0 :                         ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
   16487             :                 }
   16488           0 :                 ndr->depth--;
   16489           0 :                 ndr_print_ptr(ndr, "site_name", r->in.site_name);
   16490           0 :                 ndr->depth++;
   16491           0 :                 if (r->in.site_name) {
   16492           0 :                         ndr_print_string(ndr, "site_name", r->in.site_name);
   16493             :                 }
   16494           0 :                 ndr->depth--;
   16495           0 :                 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
   16496           0 :                 ndr->depth--;
   16497             :         }
   16498          48 :         if (flags & NDR_OUT) {
   16499          48 :                 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
   16500          48 :                 ndr->depth++;
   16501          48 :                 ndr_print_ptr(ndr, "info", r->out.info);
   16502          48 :                 ndr->depth++;
   16503          48 :                 ndr_print_ptr(ndr, "info", *r->out.info);
   16504          48 :                 ndr->depth++;
   16505          48 :                 if (*r->out.info) {
   16506          48 :                         ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
   16507             :                 }
   16508          48 :                 ndr->depth--;
   16509          48 :                 ndr->depth--;
   16510          48 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16511          48 :                 ndr->depth--;
   16512             :         }
   16513          48 :         ndr->depth--;
   16514             : }
   16515             : 
   16516           0 : static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
   16517             : {
   16518           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16519           0 :         if (flags & NDR_IN) {
   16520             :         }
   16521           0 :         if (flags & NDR_OUT) {
   16522           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16523             :         }
   16524           0 :         return NDR_ERR_SUCCESS;
   16525             : }
   16526             : 
   16527           0 : static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
   16528             : {
   16529           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16530           0 :         if (flags & NDR_IN) {
   16531             :         }
   16532           0 :         if (flags & NDR_OUT) {
   16533             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16534             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16535           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16536             :         }
   16537           0 :         return NDR_ERR_SUCCESS;
   16538             : }
   16539             : 
   16540           0 : _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
   16541             : {
   16542           0 :         ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
   16543           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16544           0 :         ndr->depth++;
   16545           0 :         if (flags & NDR_SET_VALUES) {
   16546           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16547             :         }
   16548           0 :         if (flags & NDR_IN) {
   16549           0 :                 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
   16550           0 :                 ndr->depth++;
   16551           0 :                 ndr->depth--;
   16552             :         }
   16553           0 :         if (flags & NDR_OUT) {
   16554           0 :                 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
   16555           0 :                 ndr->depth++;
   16556           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16557           0 :                 ndr->depth--;
   16558             :         }
   16559           0 :         ndr->depth--;
   16560             : }
   16561             : 
   16562          24 : static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
   16563             : {
   16564          24 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16565          24 :         if (flags & NDR_IN) {
   16566          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   16567          24 :                 if (r->in.server_name) {
   16568          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16569          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16570          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16571          24 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16572             :                 }
   16573             :         }
   16574          24 :         if (flags & NDR_OUT) {
   16575           0 :                 if (r->out.dom_trust_list == NULL) {
   16576           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16577             :                 }
   16578           0 :                 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
   16579           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16580             :         }
   16581          20 :         return NDR_ERR_SUCCESS;
   16582             : }
   16583             : 
   16584          24 : static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
   16585             : {
   16586             :         uint32_t _ptr_server_name;
   16587          24 :         uint32_t size_server_name_1 = 0;
   16588          24 :         uint32_t length_server_name_1 = 0;
   16589          24 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   16590          24 :         TALLOC_CTX *_mem_save_dom_trust_list_0 = NULL;
   16591          24 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16592          24 :         if (flags & NDR_IN) {
   16593          24 :                 NDR_ZERO_STRUCT(r->out);
   16594             : 
   16595          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   16596          24 :                 if (_ptr_server_name) {
   16597          24 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   16598             :                 } else {
   16599           0 :                         r->in.server_name = NULL;
   16600             :                 }
   16601          24 :                 if (r->in.server_name) {
   16602          24 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16603          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   16604          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   16605          24 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   16606          24 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   16607          24 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   16608          24 :                         if (length_server_name_1 > size_server_name_1) {
   16609           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   16610             :                         }
   16611          24 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   16612          24 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   16613          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   16614             :                 }
   16615          24 :                 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
   16616          24 :                 NDR_ZERO_STRUCTP(r->out.dom_trust_list);
   16617             :         }
   16618          24 :         if (flags & NDR_OUT) {
   16619             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16620             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16621           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16622           0 :                         NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
   16623             :                 }
   16624           0 :                 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16625           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
   16626           0 :                 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
   16627           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
   16628           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16629             :         }
   16630          20 :         return NDR_ERR_SUCCESS;
   16631             : }
   16632             : 
   16633           0 : _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
   16634             : {
   16635           0 :         ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
   16636           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16637           0 :         ndr->depth++;
   16638           0 :         if (flags & NDR_SET_VALUES) {
   16639           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16640             :         }
   16641           0 :         if (flags & NDR_IN) {
   16642           0 :                 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
   16643           0 :                 ndr->depth++;
   16644           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   16645           0 :                 ndr->depth++;
   16646           0 :                 if (r->in.server_name) {
   16647           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   16648             :                 }
   16649           0 :                 ndr->depth--;
   16650           0 :                 ndr->depth--;
   16651             :         }
   16652           0 :         if (flags & NDR_OUT) {
   16653           0 :                 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
   16654           0 :                 ndr->depth++;
   16655           0 :                 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
   16656           0 :                 ndr->depth++;
   16657           0 :                 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
   16658           0 :                 ndr->depth--;
   16659           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16660           0 :                 ndr->depth--;
   16661             :         }
   16662           0 :         ndr->depth--;
   16663             : }
   16664             : 
   16665         162 : static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
   16666             : {
   16667             :         uint32_t cntr_addresses_1;
   16668         162 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16669         162 :         if (flags & NDR_IN) {
   16670          72 :                 if (r->in.addresses == NULL) {
   16671           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16672             :                 }
   16673          72 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   16674          72 :                 if (r->in.server_name) {
   16675          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16676          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16677          72 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16678          72 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16679             :                 }
   16680          72 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
   16681          72 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count));
   16682         492 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
   16683         432 :                         NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
   16684             :                 }
   16685         492 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
   16686         432 :                         NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
   16687             :                 }
   16688             :         }
   16689         162 :         if (flags & NDR_OUT) {
   16690          90 :                 if (r->out.ctr == NULL) {
   16691           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16692             :                 }
   16693          90 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
   16694          90 :                 if (*r->out.ctr) {
   16695          90 :                         NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
   16696             :                 }
   16697          90 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16698             :         }
   16699         135 :         return NDR_ERR_SUCCESS;
   16700             : }
   16701             : 
   16702         144 : static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
   16703             : {
   16704             :         uint32_t _ptr_server_name;
   16705         144 :         uint32_t size_server_name_1 = 0;
   16706         144 :         uint32_t length_server_name_1 = 0;
   16707         144 :         uint32_t size_addresses_1 = 0;
   16708             :         uint32_t cntr_addresses_1;
   16709             :         uint32_t _ptr_ctr;
   16710         144 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   16711         144 :         TALLOC_CTX *_mem_save_addresses_1 = NULL;
   16712         144 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   16713         144 :         TALLOC_CTX *_mem_save_ctr_1 = NULL;
   16714         144 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16715         144 :         if (flags & NDR_IN) {
   16716          72 :                 NDR_ZERO_STRUCT(r->out);
   16717             : 
   16718          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   16719          72 :                 if (_ptr_server_name) {
   16720          72 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   16721             :                 } else {
   16722           0 :                         r->in.server_name = NULL;
   16723             :                 }
   16724          72 :                 if (r->in.server_name) {
   16725          72 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16726          72 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   16727          72 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   16728          72 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   16729          72 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   16730          72 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   16731          72 :                         if (length_server_name_1 > size_server_name_1) {
   16732           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   16733             :                         }
   16734          72 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   16735          72 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   16736          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   16737             :                 }
   16738          72 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
   16739          72 :                 if (r->in.count > 32000) {
   16740           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
   16741             :                 }
   16742          72 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
   16743          72 :                 NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->in.addresses, &size_addresses_1));
   16744          72 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16745          72 :                         NDR_PULL_ALLOC_N(ndr, r->in.addresses, size_addresses_1);
   16746             :                 }
   16747          72 :                 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
   16748          72 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
   16749         504 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
   16750         432 :                         NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
   16751             :                 }
   16752         492 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
   16753         432 :                         NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
   16754             :                 }
   16755          72 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
   16756          72 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   16757          72 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   16758          72 :                 if (r->in.addresses) {
   16759          72 :                         NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
   16760             :                 }
   16761         144 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (size_addresses_1); cntr_addresses_1++) {
   16762             :                 }
   16763             :         }
   16764         144 :         if (flags & NDR_OUT) {
   16765             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16766             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16767          72 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16768          18 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   16769             :                 }
   16770          72 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16771          72 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   16772          72 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
   16773          72 :                 if (_ptr_ctr) {
   16774          72 :                         NDR_PULL_ALLOC(ndr, *r->out.ctr);
   16775             :                 } else {
   16776           0 :                         *r->out.ctr = NULL;
   16777             :                 }
   16778          72 :                 if (*r->out.ctr) {
   16779          72 :                         _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
   16780          72 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
   16781          72 :                         NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
   16782          72 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
   16783             :                 }
   16784          72 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   16785          72 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16786             :         }
   16787         120 :         return NDR_ERR_SUCCESS;
   16788             : }
   16789             : 
   16790          36 : _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
   16791             : {
   16792             :         uint32_t cntr_addresses_1;
   16793          36 :         ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
   16794          36 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16795          36 :         ndr->depth++;
   16796          36 :         if (flags & NDR_SET_VALUES) {
   16797           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16798             :         }
   16799          36 :         if (flags & NDR_IN) {
   16800           0 :                 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
   16801           0 :                 ndr->depth++;
   16802           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   16803           0 :                 ndr->depth++;
   16804           0 :                 if (r->in.server_name) {
   16805           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   16806             :                 }
   16807           0 :                 ndr->depth--;
   16808           0 :                 ndr_print_uint32(ndr, "count", r->in.count);
   16809           0 :                 ndr_print_ptr(ndr, "addresses", r->in.addresses);
   16810           0 :                 ndr->depth++;
   16811           0 :                 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
   16812           0 :                 ndr->depth++;
   16813           0 :                 for (cntr_addresses_1 = 0; cntr_addresses_1 < (r->in.count); cntr_addresses_1++) {
   16814           0 :                         ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
   16815             :                 }
   16816           0 :                 ndr->depth--;
   16817           0 :                 ndr->depth--;
   16818           0 :                 ndr->depth--;
   16819             :         }
   16820          36 :         if (flags & NDR_OUT) {
   16821          36 :                 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
   16822          36 :                 ndr->depth++;
   16823          36 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   16824          36 :                 ndr->depth++;
   16825          36 :                 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
   16826          36 :                 ndr->depth++;
   16827          36 :                 if (*r->out.ctr) {
   16828          36 :                         ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
   16829             :                 }
   16830          36 :                 ndr->depth--;
   16831          36 :                 ndr->depth--;
   16832          36 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16833          36 :                 ndr->depth--;
   16834             :         }
   16835          36 :         ndr->depth--;
   16836             : }
   16837             : 
   16838          64 : static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
   16839             : {
   16840          64 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16841          64 :         if (flags & NDR_IN) {
   16842          29 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   16843          29 :                 if (r->in.server_name) {
   16844          29 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16845          29 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16846          29 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16847          29 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16848             :                 }
   16849             :         }
   16850          64 :         if (flags & NDR_OUT) {
   16851          35 :                 if (r->out.ctr == NULL) {
   16852           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16853             :                 }
   16854          35 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
   16855          35 :                 if (*r->out.ctr) {
   16856          35 :                         NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
   16857             :                 }
   16858          35 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   16859             :         }
   16860          55 :         return NDR_ERR_SUCCESS;
   16861             : }
   16862             : 
   16863          58 : static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
   16864             : {
   16865             :         uint32_t _ptr_server_name;
   16866          58 :         uint32_t size_server_name_1 = 0;
   16867          58 :         uint32_t length_server_name_1 = 0;
   16868             :         uint32_t _ptr_ctr;
   16869          58 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   16870          58 :         TALLOC_CTX *_mem_save_ctr_0 = NULL;
   16871          58 :         TALLOC_CTX *_mem_save_ctr_1 = NULL;
   16872          58 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   16873          58 :         if (flags & NDR_IN) {
   16874          29 :                 NDR_ZERO_STRUCT(r->out);
   16875             : 
   16876          29 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   16877          29 :                 if (_ptr_server_name) {
   16878          29 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   16879             :                 } else {
   16880           0 :                         r->in.server_name = NULL;
   16881             :                 }
   16882          29 :                 if (r->in.server_name) {
   16883          29 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16884          29 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   16885          29 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   16886          29 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   16887          29 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   16888          29 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   16889          29 :                         if (length_server_name_1 > size_server_name_1) {
   16890           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   16891             :                         }
   16892          29 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   16893          29 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   16894          29 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   16895             :                 }
   16896          29 :                 NDR_PULL_ALLOC(ndr, r->out.ctr);
   16897          29 :                 NDR_ZERO_STRUCTP(r->out.ctr);
   16898             :         }
   16899          58 :         if (flags & NDR_OUT) {
   16900             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   16901             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   16902          29 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   16903          11 :                         NDR_PULL_ALLOC(ndr, r->out.ctr);
   16904             :                 }
   16905          29 :                 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
   16906          29 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
   16907          29 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
   16908          29 :                 if (_ptr_ctr) {
   16909          29 :                         NDR_PULL_ALLOC(ndr, *r->out.ctr);
   16910             :                 } else {
   16911           0 :                         *r->out.ctr = NULL;
   16912             :                 }
   16913          29 :                 if (*r->out.ctr) {
   16914          29 :                         _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
   16915          29 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
   16916          29 :                         NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
   16917          29 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
   16918             :                 }
   16919          29 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
   16920          29 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   16921             :         }
   16922          50 :         return NDR_ERR_SUCCESS;
   16923             : }
   16924             : 
   16925          12 : _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
   16926             : {
   16927          12 :         ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
   16928          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
   16929          12 :         ndr->depth++;
   16930          12 :         if (flags & NDR_SET_VALUES) {
   16931           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   16932             :         }
   16933          12 :         if (flags & NDR_IN) {
   16934           0 :                 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
   16935           0 :                 ndr->depth++;
   16936           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   16937           0 :                 ndr->depth++;
   16938           0 :                 if (r->in.server_name) {
   16939           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   16940             :                 }
   16941           0 :                 ndr->depth--;
   16942           0 :                 ndr->depth--;
   16943             :         }
   16944          12 :         if (flags & NDR_OUT) {
   16945          12 :                 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
   16946          12 :                 ndr->depth++;
   16947          12 :                 ndr_print_ptr(ndr, "ctr", r->out.ctr);
   16948          12 :                 ndr->depth++;
   16949          12 :                 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
   16950          12 :                 ndr->depth++;
   16951          12 :                 if (*r->out.ctr) {
   16952          12 :                         ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
   16953             :                 }
   16954          12 :                 ndr->depth--;
   16955          12 :                 ndr->depth--;
   16956          12 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   16957          12 :                 ndr->depth--;
   16958             :         }
   16959          12 :         ndr->depth--;
   16960             : }
   16961             : 
   16962       13028 : static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
   16963             : {
   16964       13028 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   16965       13028 :         if (flags & NDR_IN) {
   16966        5863 :                 if (r->in.logon == NULL) {
   16967           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16968             :                 }
   16969        5863 :                 if (r->in.flags == NULL) {
   16970           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16971             :                 }
   16972        5863 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   16973        5863 :                 if (r->in.server_name) {
   16974        5863 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16975        5863 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16976        5863 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   16977        5863 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16978             :                 }
   16979        5863 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
   16980        5863 :                 if (r->in.computer_name) {
   16981        5863 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   16982        5863 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   16983        5863 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   16984        5863 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   16985             :                 }
   16986        5863 :                 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
   16987        5863 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
   16988        5863 :                 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
   16989        5863 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
   16990        5863 :                 NDR_CHECK(ndr_push_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, *r->in.flags));
   16991             :         }
   16992       13028 :         if (flags & NDR_OUT) {
   16993        7165 :                 if (r->out.validation == NULL) {
   16994           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16995             :                 }
   16996        7165 :                 if (r->out.authoritative == NULL) {
   16997           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   16998             :                 }
   16999        7165 :                 if (r->out.flags == NULL) {
   17000           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17001             :                 }
   17002        7165 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
   17003        7165 :                 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
   17004        7165 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
   17005        7165 :                 NDR_CHECK(ndr_push_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, *r->out.flags));
   17006        7165 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   17007             :         }
   17008       12148 :         return NDR_ERR_SUCCESS;
   17009             : }
   17010             : 
   17011       12548 : static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
   17012             : {
   17013             :         uint32_t _ptr_server_name;
   17014       12548 :         uint32_t size_server_name_1 = 0;
   17015       12548 :         uint32_t length_server_name_1 = 0;
   17016             :         uint32_t _ptr_computer_name;
   17017       12548 :         uint32_t size_computer_name_1 = 0;
   17018       12548 :         uint32_t length_computer_name_1 = 0;
   17019       12548 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   17020       12548 :         TALLOC_CTX *_mem_save_computer_name_0 = NULL;
   17021       12548 :         TALLOC_CTX *_mem_save_logon_0 = NULL;
   17022       12548 :         TALLOC_CTX *_mem_save_validation_0 = NULL;
   17023       12548 :         TALLOC_CTX *_mem_save_authoritative_0 = NULL;
   17024       12548 :         TALLOC_CTX *_mem_save_flags_0 = NULL;
   17025       12548 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17026       12548 :         if (flags & NDR_IN) {
   17027        6685 :                 NDR_ZERO_STRUCT(r->out);
   17028             : 
   17029        6685 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   17030        6685 :                 if (_ptr_server_name) {
   17031        6685 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   17032             :                 } else {
   17033           0 :                         r->in.server_name = NULL;
   17034             :                 }
   17035        6685 :                 if (r->in.server_name) {
   17036        6685 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17037        6685 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   17038        6685 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   17039        6685 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   17040        6685 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   17041        6685 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   17042        6685 :                         if (length_server_name_1 > size_server_name_1) {
   17043           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   17044             :                         }
   17045        6685 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   17046        6685 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   17047        6685 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   17048             :                 }
   17049        6685 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
   17050        6685 :                 if (_ptr_computer_name) {
   17051        6685 :                         NDR_PULL_ALLOC(ndr, r->in.computer_name);
   17052             :                 } else {
   17053           0 :                         r->in.computer_name = NULL;
   17054             :                 }
   17055        6685 :                 if (r->in.computer_name) {
   17056        6685 :                         _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17057        6685 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
   17058        6685 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   17059        6685 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   17060        6685 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   17061        6685 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   17062        6685 :                         if (length_computer_name_1 > size_computer_name_1) {
   17063           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   17064             :                         }
   17065        6685 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   17066        6685 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   17067        6685 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
   17068             :                 }
   17069        6685 :                 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
   17070        6685 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17071        6685 :                         NDR_PULL_ALLOC(ndr, r->in.logon);
   17072             :                 }
   17073        6685 :                 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17074        6685 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
   17075        6685 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
   17076        6685 :                 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
   17077        6685 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
   17078        6685 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
   17079        6685 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17080        6685 :                         NDR_PULL_ALLOC(ndr, r->in.flags);
   17081             :                 }
   17082        6685 :                 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17083        6685 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
   17084        6685 :                 NDR_CHECK(ndr_pull_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, r->in.flags));
   17085        6685 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
   17086        6685 :                 NDR_PULL_ALLOC(ndr, r->out.validation);
   17087        6685 :                 NDR_ZERO_STRUCTP(r->out.validation);
   17088        6685 :                 NDR_PULL_ALLOC(ndr, r->out.authoritative);
   17089        6685 :                 NDR_ZERO_STRUCTP(r->out.authoritative);
   17090        6685 :                 NDR_PULL_ALLOC(ndr, r->out.flags);
   17091        6685 :                 *r->out.flags = *r->in.flags;
   17092             :         }
   17093       12548 :         if (flags & NDR_OUT) {
   17094             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17095             :                 if (r->in.logon == NULL) {
   17096             :                         NDR_PULL_ALLOC(ndr, r->in.logon);
   17097             :                         NDR_ZERO_STRUCTP(r->in.logon);
   17098             :                 }
   17099             :                 if (r->in.flags == NULL) {
   17100             :                         NDR_PULL_ALLOC(ndr, r->in.flags);
   17101             :                         NDR_ZERO_STRUCTP(r->in.flags);
   17102             :                 }
   17103             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17104        5863 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17105         519 :                         NDR_PULL_ALLOC(ndr, r->out.validation);
   17106             :                 }
   17107        5863 :                 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17108        5863 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
   17109        5863 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
   17110        5863 :                 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
   17111        5863 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
   17112        5863 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17113         519 :                         NDR_PULL_ALLOC(ndr, r->out.authoritative);
   17114             :                 }
   17115        5863 :                 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17116        5863 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
   17117        5863 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
   17118        5863 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
   17119        5863 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17120         519 :                         NDR_PULL_ALLOC(ndr, r->out.flags);
   17121             :                 }
   17122        5863 :                 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17123        5863 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
   17124        5863 :                 NDR_CHECK(ndr_pull_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, r->out.flags));
   17125        5863 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
   17126        5863 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   17127             :         }
   17128       11748 :         return NDR_ERR_SUCCESS;
   17129             : }
   17130             : 
   17131         960 : _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
   17132             : {
   17133         960 :         ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
   17134         960 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17135         960 :         ndr->depth++;
   17136         960 :         if (flags & NDR_SET_VALUES) {
   17137           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17138             :         }
   17139         960 :         if (flags & NDR_IN) {
   17140           0 :                 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
   17141           0 :                 ndr->depth++;
   17142           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   17143           0 :                 ndr->depth++;
   17144           0 :                 if (r->in.server_name) {
   17145           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   17146             :                 }
   17147           0 :                 ndr->depth--;
   17148           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   17149           0 :                 ndr->depth++;
   17150           0 :                 if (r->in.computer_name) {
   17151           0 :                         ndr_print_string(ndr, "computer_name", r->in.computer_name);
   17152             :                 }
   17153           0 :                 ndr->depth--;
   17154           0 :                 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
   17155           0 :                 ndr_print_ptr(ndr, "logon", r->in.logon);
   17156           0 :                 ndr->depth++;
   17157           0 :                 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
   17158           0 :                 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
   17159           0 :                 ndr->depth--;
   17160           0 :                 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
   17161           0 :                 ndr_print_ptr(ndr, "flags", r->in.flags);
   17162           0 :                 ndr->depth++;
   17163           0 :                 ndr_print_netr_LogonSamLogon_flags(ndr, "flags", *r->in.flags);
   17164           0 :                 ndr->depth--;
   17165           0 :                 ndr->depth--;
   17166             :         }
   17167         960 :         if (flags & NDR_OUT) {
   17168         960 :                 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
   17169         960 :                 ndr->depth++;
   17170         960 :                 ndr_print_ptr(ndr, "validation", r->out.validation);
   17171         960 :                 ndr->depth++;
   17172         960 :                 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
   17173         960 :                 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
   17174         960 :                 ndr->depth--;
   17175         960 :                 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
   17176         960 :                 ndr->depth++;
   17177         960 :                 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
   17178         960 :                 ndr->depth--;
   17179         960 :                 ndr_print_ptr(ndr, "flags", r->out.flags);
   17180         960 :                 ndr->depth++;
   17181         960 :                 ndr_print_netr_LogonSamLogon_flags(ndr, "flags", *r->out.flags);
   17182         960 :                 ndr->depth--;
   17183         960 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   17184         960 :                 ndr->depth--;
   17185             :         }
   17186         960 :         ndr->depth--;
   17187             : }
   17188             : 
   17189         110 : static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
   17190             : {
   17191         110 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17192         110 :         if (flags & NDR_IN) {
   17193          50 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   17194          50 :                 if (r->in.server_name) {
   17195          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17196          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17197          50 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17198          50 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17199             :                 }
   17200          50 :                 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
   17201             :         }
   17202         110 :         if (flags & NDR_OUT) {
   17203          60 :                 if (r->out.trusts == NULL) {
   17204           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17205             :                 }
   17206          60 :                 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
   17207          60 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17208             :         }
   17209         101 :         return NDR_ERR_SUCCESS;
   17210             : }
   17211             : 
   17212         104 : static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
   17213             : {
   17214             :         uint32_t _ptr_server_name;
   17215         104 :         uint32_t size_server_name_1 = 0;
   17216         104 :         uint32_t length_server_name_1 = 0;
   17217         104 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   17218         104 :         TALLOC_CTX *_mem_save_trusts_0 = NULL;
   17219         104 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17220         104 :         if (flags & NDR_IN) {
   17221          54 :                 NDR_ZERO_STRUCT(r->out);
   17222             : 
   17223          54 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   17224          54 :                 if (_ptr_server_name) {
   17225          54 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   17226             :                 } else {
   17227           0 :                         r->in.server_name = NULL;
   17228             :                 }
   17229          54 :                 if (r->in.server_name) {
   17230          54 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17231          54 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   17232          54 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   17233          54 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   17234          54 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   17235          54 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   17236          54 :                         if (length_server_name_1 > size_server_name_1) {
   17237           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   17238             :                         }
   17239          54 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   17240          54 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   17241          54 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   17242             :                 }
   17243          54 :                 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
   17244          54 :                 NDR_PULL_ALLOC(ndr, r->out.trusts);
   17245          54 :                 NDR_ZERO_STRUCTP(r->out.trusts);
   17246             :         }
   17247         104 :         if (flags & NDR_OUT) {
   17248             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17249             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17250          50 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17251          32 :                         NDR_PULL_ALLOC(ndr, r->out.trusts);
   17252             :                 }
   17253          50 :                 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17254          50 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
   17255          50 :                 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
   17256          50 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
   17257          50 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17258             :         }
   17259          96 :         return NDR_ERR_SUCCESS;
   17260             : }
   17261             : 
   17262          12 : _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
   17263             : {
   17264          12 :         ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
   17265          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17266          12 :         ndr->depth++;
   17267          12 :         if (flags & NDR_SET_VALUES) {
   17268           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17269             :         }
   17270          12 :         if (flags & NDR_IN) {
   17271           0 :                 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
   17272           0 :                 ndr->depth++;
   17273           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   17274           0 :                 ndr->depth++;
   17275           0 :                 if (r->in.server_name) {
   17276           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   17277             :                 }
   17278           0 :                 ndr->depth--;
   17279           0 :                 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
   17280           0 :                 ndr->depth--;
   17281             :         }
   17282          12 :         if (flags & NDR_OUT) {
   17283          12 :                 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
   17284          12 :                 ndr->depth++;
   17285          12 :                 ndr_print_ptr(ndr, "trusts", r->out.trusts);
   17286          12 :                 ndr->depth++;
   17287          12 :                 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
   17288          12 :                 ndr->depth--;
   17289          12 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17290          12 :                 ndr->depth--;
   17291             :         }
   17292          12 :         ndr->depth--;
   17293             : }
   17294             : 
   17295           0 : static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
   17296             : {
   17297           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17298           0 :         if (flags & NDR_IN) {
   17299           0 :                 if (r->in.dns_host == NULL) {
   17300           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17301             :                 }
   17302           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   17303           0 :                 if (r->in.server_name) {
   17304           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17305           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17306           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17307           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17308             :                 }
   17309           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
   17310           0 :                 if (r->in.domain) {
   17311           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
   17312           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17313           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
   17314           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17315             :                 }
   17316           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
   17317           0 :                 if (r->in.domain_guid) {
   17318           0 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
   17319             :                 }
   17320           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
   17321           0 :                 if (r->in.dsa_guid) {
   17322           0 :                         NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
   17323             :                 }
   17324           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
   17325           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17326           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
   17327           0 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dns_host, ndr_charset_length(r->in.dns_host, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17328             :         }
   17329           0 :         if (flags & NDR_OUT) {
   17330           0 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17331             :         }
   17332           0 :         return NDR_ERR_SUCCESS;
   17333             : }
   17334             : 
   17335           0 : static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
   17336             : {
   17337             :         uint32_t _ptr_server_name;
   17338           0 :         uint32_t size_server_name_1 = 0;
   17339           0 :         uint32_t length_server_name_1 = 0;
   17340             :         uint32_t _ptr_domain;
   17341           0 :         uint32_t size_domain_1 = 0;
   17342           0 :         uint32_t length_domain_1 = 0;
   17343             :         uint32_t _ptr_domain_guid;
   17344             :         uint32_t _ptr_dsa_guid;
   17345           0 :         uint32_t size_dns_host_1 = 0;
   17346           0 :         uint32_t length_dns_host_1 = 0;
   17347           0 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   17348           0 :         TALLOC_CTX *_mem_save_domain_0 = NULL;
   17349           0 :         TALLOC_CTX *_mem_save_domain_guid_0 = NULL;
   17350           0 :         TALLOC_CTX *_mem_save_dsa_guid_0 = NULL;
   17351           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17352           0 :         if (flags & NDR_IN) {
   17353           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   17354           0 :                 if (_ptr_server_name) {
   17355           0 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   17356             :                 } else {
   17357           0 :                         r->in.server_name = NULL;
   17358             :                 }
   17359           0 :                 if (r->in.server_name) {
   17360           0 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17361           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   17362           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   17363           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   17364           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   17365           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   17366           0 :                         if (length_server_name_1 > size_server_name_1) {
   17367           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   17368             :                         }
   17369           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   17370           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   17371           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   17372             :                 }
   17373           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
   17374           0 :                 if (_ptr_domain) {
   17375           0 :                         NDR_PULL_ALLOC(ndr, r->in.domain);
   17376             :                 } else {
   17377           0 :                         r->in.domain = NULL;
   17378             :                 }
   17379           0 :                 if (r->in.domain) {
   17380           0 :                         _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17381           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
   17382           0 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
   17383           0 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
   17384           0 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.domain, &size_domain_1));
   17385           0 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.domain, &length_domain_1));
   17386           0 :                         if (length_domain_1 > size_domain_1) {
   17387           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);
   17388             :                         }
   17389           0 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
   17390           0 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
   17391           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
   17392             :                 }
   17393           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
   17394           0 :                 if (_ptr_domain_guid) {
   17395           0 :                         NDR_PULL_ALLOC(ndr, r->in.domain_guid);
   17396             :                 } else {
   17397           0 :                         r->in.domain_guid = NULL;
   17398             :                 }
   17399           0 :                 if (r->in.domain_guid) {
   17400           0 :                         _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17401           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
   17402           0 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
   17403           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
   17404             :                 }
   17405           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
   17406           0 :                 if (_ptr_dsa_guid) {
   17407           0 :                         NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
   17408             :                 } else {
   17409           0 :                         r->in.dsa_guid = NULL;
   17410             :                 }
   17411           0 :                 if (r->in.dsa_guid) {
   17412           0 :                         _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17413           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
   17414           0 :                         NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
   17415           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
   17416             :                 }
   17417           0 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
   17418           0 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
   17419           0 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.dns_host, &size_dns_host_1));
   17420           0 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.dns_host, &length_dns_host_1));
   17421           0 :                 if (length_dns_host_1 > size_dns_host_1) {
   17422           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_host_1, length_dns_host_1);
   17423             :                 }
   17424           0 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_host_1, sizeof(uint16_t)));
   17425           0 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, length_dns_host_1, sizeof(uint16_t), CH_UTF16));
   17426             :         }
   17427           0 :         if (flags & NDR_OUT) {
   17428             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17429             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17430           0 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17431             :         }
   17432           0 :         return NDR_ERR_SUCCESS;
   17433             : }
   17434             : 
   17435           0 : _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
   17436             : {
   17437           0 :         ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
   17438           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17439           0 :         ndr->depth++;
   17440           0 :         if (flags & NDR_SET_VALUES) {
   17441           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17442             :         }
   17443           0 :         if (flags & NDR_IN) {
   17444           0 :                 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
   17445           0 :                 ndr->depth++;
   17446           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   17447           0 :                 ndr->depth++;
   17448           0 :                 if (r->in.server_name) {
   17449           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   17450             :                 }
   17451           0 :                 ndr->depth--;
   17452           0 :                 ndr_print_ptr(ndr, "domain", r->in.domain);
   17453           0 :                 ndr->depth++;
   17454           0 :                 if (r->in.domain) {
   17455           0 :                         ndr_print_string(ndr, "domain", r->in.domain);
   17456             :                 }
   17457           0 :                 ndr->depth--;
   17458           0 :                 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
   17459           0 :                 ndr->depth++;
   17460           0 :                 if (r->in.domain_guid) {
   17461           0 :                         ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
   17462             :                 }
   17463           0 :                 ndr->depth--;
   17464           0 :                 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
   17465           0 :                 ndr->depth++;
   17466           0 :                 if (r->in.dsa_guid) {
   17467           0 :                         ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
   17468             :                 }
   17469           0 :                 ndr->depth--;
   17470           0 :                 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
   17471           0 :                 ndr->depth++;
   17472           0 :                 ndr_print_string(ndr, "dns_host", r->in.dns_host);
   17473           0 :                 ndr->depth--;
   17474           0 :                 ndr->depth--;
   17475             :         }
   17476           0 :         if (flags & NDR_OUT) {
   17477           0 :                 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
   17478           0 :                 ndr->depth++;
   17479           0 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17480           0 :                 ndr->depth--;
   17481             :         }
   17482           0 :         ndr->depth--;
   17483             : }
   17484             : 
   17485          54 : static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
   17486             : {
   17487          54 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17488          54 :         if (flags & NDR_IN) {
   17489          24 :                 if (r->in.account_name == NULL) {
   17490           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17491             :                 }
   17492          24 :                 if (r->in.computer_name == NULL) {
   17493           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17494             :                 }
   17495          24 :                 if (r->in.credential == NULL) {
   17496           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17497             :                 }
   17498          24 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   17499          24 :                 if (r->in.server_name) {
   17500          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17501          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17502          24 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17503          24 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17504             :                 }
   17505          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   17506          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17507          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   17508          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17509          24 :                 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
   17510          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   17511          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17512          24 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   17513          24 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17514          24 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   17515             :         }
   17516          54 :         if (flags & NDR_OUT) {
   17517          30 :                 if (r->out.return_authenticator == NULL) {
   17518           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17519             :                 }
   17520          30 :                 if (r->out.new_owf_password == NULL) {
   17521           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17522             :                 }
   17523          30 :                 if (r->out.old_owf_password == NULL) {
   17524           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17525             :                 }
   17526          30 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   17527          30 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
   17528          30 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
   17529          30 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   17530             :         }
   17531          45 :         return NDR_ERR_SUCCESS;
   17532             : }
   17533             : 
   17534          48 : static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
   17535             : {
   17536             :         uint32_t _ptr_server_name;
   17537          48 :         uint32_t size_server_name_1 = 0;
   17538          48 :         uint32_t length_server_name_1 = 0;
   17539          48 :         uint32_t size_account_name_1 = 0;
   17540          48 :         uint32_t length_account_name_1 = 0;
   17541          48 :         uint32_t size_computer_name_1 = 0;
   17542          48 :         uint32_t length_computer_name_1 = 0;
   17543          48 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   17544          48 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   17545          48 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   17546          48 :         TALLOC_CTX *_mem_save_new_owf_password_0 = NULL;
   17547          48 :         TALLOC_CTX *_mem_save_old_owf_password_0 = NULL;
   17548          48 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17549          48 :         if (flags & NDR_IN) {
   17550          24 :                 NDR_ZERO_STRUCT(r->out);
   17551             : 
   17552          24 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   17553          24 :                 if (_ptr_server_name) {
   17554          24 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   17555             :                 } else {
   17556           0 :                         r->in.server_name = NULL;
   17557             :                 }
   17558          24 :                 if (r->in.server_name) {
   17559          24 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17560          24 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   17561          24 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   17562          24 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   17563          24 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   17564          24 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   17565          24 :                         if (length_server_name_1 > size_server_name_1) {
   17566           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   17567             :                         }
   17568          24 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   17569          24 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   17570          24 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   17571             :                 }
   17572          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   17573          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   17574          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   17575          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   17576          24 :                 if (length_account_name_1 > size_account_name_1) {
   17577           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   17578             :                 }
   17579          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   17580          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   17581          24 :                 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
   17582          24 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   17583          24 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   17584          24 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   17585          24 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   17586          24 :                 if (length_computer_name_1 > size_computer_name_1) {
   17587           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   17588             :                 }
   17589          24 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   17590          24 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   17591          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17592          24 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   17593             :                 }
   17594          24 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17595          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   17596          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   17597          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   17598          24 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   17599          24 :                 NDR_ZERO_STRUCTP(r->out.return_authenticator);
   17600          24 :                 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
   17601          24 :                 NDR_ZERO_STRUCTP(r->out.new_owf_password);
   17602          24 :                 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
   17603          24 :                 NDR_ZERO_STRUCTP(r->out.old_owf_password);
   17604             :         }
   17605          48 :         if (flags & NDR_OUT) {
   17606             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17607             :                 if (r->in.credential == NULL) {
   17608             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   17609             :                         NDR_ZERO_STRUCTP(r->in.credential);
   17610             :                 }
   17611             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17612          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17613           6 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   17614             :                 }
   17615          24 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17616          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   17617          24 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   17618          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   17619          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17620           6 :                         NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
   17621             :                 }
   17622          24 :                 _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17623          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
   17624          24 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
   17625          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
   17626          24 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17627           6 :                         NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
   17628             :                 }
   17629          24 :                 _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17630          24 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
   17631          24 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
   17632          24 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
   17633          24 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   17634             :         }
   17635          40 :         return NDR_ERR_SUCCESS;
   17636             : }
   17637             : 
   17638          12 : _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
   17639             : {
   17640          12 :         ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
   17641          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17642          12 :         ndr->depth++;
   17643          12 :         if (flags & NDR_SET_VALUES) {
   17644           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17645             :         }
   17646          12 :         if (flags & NDR_IN) {
   17647           0 :                 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
   17648           0 :                 ndr->depth++;
   17649           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   17650           0 :                 ndr->depth++;
   17651           0 :                 if (r->in.server_name) {
   17652           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   17653             :                 }
   17654           0 :                 ndr->depth--;
   17655           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   17656           0 :                 ndr->depth++;
   17657           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   17658           0 :                 ndr->depth--;
   17659           0 :                 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
   17660           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   17661           0 :                 ndr->depth++;
   17662           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   17663           0 :                 ndr->depth--;
   17664           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   17665           0 :                 ndr->depth++;
   17666           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   17667           0 :                 ndr->depth--;
   17668           0 :                 ndr->depth--;
   17669             :         }
   17670          12 :         if (flags & NDR_OUT) {
   17671          12 :                 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
   17672          12 :                 ndr->depth++;
   17673          12 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   17674          12 :                 ndr->depth++;
   17675          12 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   17676          12 :                 ndr->depth--;
   17677          12 :                 ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
   17678          12 :                 ndr->depth++;
   17679          12 :                 ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
   17680          12 :                 ndr->depth--;
   17681          12 :                 ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
   17682          12 :                 ndr->depth++;
   17683          12 :                 ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
   17684          12 :                 ndr->depth--;
   17685          12 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   17686          12 :                 ndr->depth--;
   17687             :         }
   17688          12 :         ndr->depth--;
   17689             : }
   17690             : 
   17691         370 : static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
   17692             : {
   17693         370 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17694         370 :         if (flags & NDR_IN) {
   17695         182 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   17696         182 :                 if (r->in.server_name) {
   17697         182 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17698         182 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17699         182 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17700         182 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17701             :                 }
   17702         182 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
   17703         182 :                 if (r->in.trusted_domain_name) {
   17704          20 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
   17705          20 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17706          20 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
   17707          20 :                         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));
   17708             :                 }
   17709         182 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
   17710             :         }
   17711         370 :         if (flags & NDR_OUT) {
   17712         188 :                 if (r->out.forest_trust_info == NULL) {
   17713           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17714             :                 }
   17715         188 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
   17716         188 :                 if (*r->out.forest_trust_info) {
   17717         184 :                         NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
   17718             :                 }
   17719         188 :                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
   17720             :         }
   17721         353 :         return NDR_ERR_SUCCESS;
   17722             : }
   17723             : 
   17724         364 : static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
   17725             : {
   17726             :         uint32_t _ptr_server_name;
   17727         364 :         uint32_t size_server_name_1 = 0;
   17728         364 :         uint32_t length_server_name_1 = 0;
   17729             :         uint32_t _ptr_trusted_domain_name;
   17730         364 :         uint32_t size_trusted_domain_name_1 = 0;
   17731         364 :         uint32_t length_trusted_domain_name_1 = 0;
   17732             :         uint32_t _ptr_forest_trust_info;
   17733         364 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   17734         364 :         TALLOC_CTX *_mem_save_trusted_domain_name_0 = NULL;
   17735         364 :         TALLOC_CTX *_mem_save_forest_trust_info_0 = NULL;
   17736         364 :         TALLOC_CTX *_mem_save_forest_trust_info_1 = NULL;
   17737         364 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17738         364 :         if (flags & NDR_IN) {
   17739         182 :                 NDR_ZERO_STRUCT(r->out);
   17740             : 
   17741         182 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   17742         182 :                 if (_ptr_server_name) {
   17743         182 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   17744             :                 } else {
   17745           0 :                         r->in.server_name = NULL;
   17746             :                 }
   17747         182 :                 if (r->in.server_name) {
   17748         182 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17749         182 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   17750         182 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   17751         182 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   17752         182 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   17753         182 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   17754         182 :                         if (length_server_name_1 > size_server_name_1) {
   17755           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   17756             :                         }
   17757         182 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   17758         182 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   17759         182 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   17760             :                 }
   17761         182 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
   17762         182 :                 if (_ptr_trusted_domain_name) {
   17763          20 :                         NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
   17764             :                 } else {
   17765         162 :                         r->in.trusted_domain_name = NULL;
   17766             :                 }
   17767         182 :                 if (r->in.trusted_domain_name) {
   17768          20 :                         _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17769          20 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
   17770          20 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
   17771          20 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
   17772          20 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.trusted_domain_name, &size_trusted_domain_name_1));
   17773          20 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.trusted_domain_name, &length_trusted_domain_name_1));
   17774          20 :                         if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
   17775           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);
   17776             :                         }
   17777          20 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
   17778          20 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
   17779          20 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
   17780             :                 }
   17781         182 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
   17782         182 :                 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
   17783         182 :                 NDR_ZERO_STRUCTP(r->out.forest_trust_info);
   17784             :         }
   17785         364 :         if (flags & NDR_OUT) {
   17786             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17787             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17788         182 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17789         164 :                         NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
   17790             :                 }
   17791         182 :                 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17792         182 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
   17793         182 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
   17794         182 :                 if (_ptr_forest_trust_info) {
   17795         178 :                         NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
   17796             :                 } else {
   17797           4 :                         *r->out.forest_trust_info = NULL;
   17798             :                 }
   17799         182 :                 if (*r->out.forest_trust_info) {
   17800         178 :                         _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   17801         178 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
   17802         178 :                         NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
   17803         178 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
   17804             :                 }
   17805         182 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
   17806         182 :                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
   17807             :         }
   17808         348 :         return NDR_ERR_SUCCESS;
   17809             : }
   17810             : 
   17811          12 : _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
   17812             : {
   17813          12 :         ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
   17814          12 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17815          12 :         ndr->depth++;
   17816          12 :         if (flags & NDR_SET_VALUES) {
   17817           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17818             :         }
   17819          12 :         if (flags & NDR_IN) {
   17820           0 :                 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
   17821           0 :                 ndr->depth++;
   17822           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   17823           0 :                 ndr->depth++;
   17824           0 :                 if (r->in.server_name) {
   17825           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   17826             :                 }
   17827           0 :                 ndr->depth--;
   17828           0 :                 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
   17829           0 :                 ndr->depth++;
   17830           0 :                 if (r->in.trusted_domain_name) {
   17831           0 :                         ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
   17832             :                 }
   17833           0 :                 ndr->depth--;
   17834           0 :                 ndr_print_uint32(ndr, "flags", r->in.flags);
   17835           0 :                 ndr->depth--;
   17836             :         }
   17837          12 :         if (flags & NDR_OUT) {
   17838          12 :                 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
   17839          12 :                 ndr->depth++;
   17840          12 :                 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
   17841          12 :                 ndr->depth++;
   17842          12 :                 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
   17843          12 :                 ndr->depth++;
   17844          12 :                 if (*r->out.forest_trust_info) {
   17845          12 :                         ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
   17846             :                 }
   17847          12 :                 ndr->depth--;
   17848          12 :                 ndr->depth--;
   17849          12 :                 ndr_print_WERROR(ndr, "result", r->out.result);
   17850          12 :                 ndr->depth--;
   17851             :         }
   17852          12 :         ndr->depth--;
   17853             : }
   17854             : 
   17855          83 : static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
   17856             : {
   17857          83 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   17858          83 :         if (flags & NDR_IN) {
   17859          28 :                 if (r->in.computer_name == NULL) {
   17860           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17861             :                 }
   17862          28 :                 if (r->in.credential == NULL) {
   17863           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17864             :                 }
   17865          28 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   17866          28 :                 if (r->in.server_name) {
   17867          28 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17868          28 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17869          28 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   17870          28 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17871             :                 }
   17872          28 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   17873          28 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   17874          28 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   17875          28 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   17876          28 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   17877          28 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
   17878             :         }
   17879          83 :         if (flags & NDR_OUT) {
   17880          55 :                 if (r->out.return_authenticator == NULL) {
   17881           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17882             :                 }
   17883          55 :                 if (r->out.forest_trust_info == NULL) {
   17884           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   17885             :                 }
   17886          55 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   17887          55 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
   17888          55 :                 if (*r->out.forest_trust_info) {
   17889          25 :                         NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
   17890             :                 }
   17891          55 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   17892             :         }
   17893          74 :         return NDR_ERR_SUCCESS;
   17894             : }
   17895             : 
   17896          76 : static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
   17897             : {
   17898             :         uint32_t _ptr_server_name;
   17899          76 :         uint32_t size_server_name_1 = 0;
   17900          76 :         uint32_t length_server_name_1 = 0;
   17901          76 :         uint32_t size_computer_name_1 = 0;
   17902          76 :         uint32_t length_computer_name_1 = 0;
   17903             :         uint32_t _ptr_forest_trust_info;
   17904          76 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   17905          76 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   17906          76 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   17907          76 :         TALLOC_CTX *_mem_save_forest_trust_info_0 = NULL;
   17908          76 :         TALLOC_CTX *_mem_save_forest_trust_info_1 = NULL;
   17909          76 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   17910          76 :         if (flags & NDR_IN) {
   17911          48 :                 NDR_ZERO_STRUCT(r->out);
   17912             : 
   17913          48 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   17914          48 :                 if (_ptr_server_name) {
   17915          48 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   17916             :                 } else {
   17917           0 :                         r->in.server_name = NULL;
   17918             :                 }
   17919          48 :                 if (r->in.server_name) {
   17920          48 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17921          48 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   17922          48 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   17923          48 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   17924          48 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   17925          48 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   17926          48 :                         if (length_server_name_1 > size_server_name_1) {
   17927           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   17928             :                         }
   17929          48 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   17930          48 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   17931          48 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   17932             :                 }
   17933          48 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   17934          48 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   17935          48 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   17936          48 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   17937          48 :                 if (length_computer_name_1 > size_computer_name_1) {
   17938           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   17939             :                 }
   17940          48 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   17941          48 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   17942          48 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17943          48 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   17944             :                 }
   17945          48 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17946          48 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   17947          48 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   17948          48 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   17949          48 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
   17950          48 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   17951          48 :                 NDR_ZERO_STRUCTP(r->out.return_authenticator);
   17952          48 :                 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
   17953          48 :                 NDR_ZERO_STRUCTP(r->out.forest_trust_info);
   17954             :         }
   17955          76 :         if (flags & NDR_OUT) {
   17956             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   17957             :                 if (r->in.credential == NULL) {
   17958             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   17959             :                         NDR_ZERO_STRUCTP(r->in.credential);
   17960             :                 }
   17961             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   17962          28 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17963           7 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   17964             :                 }
   17965          28 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17966          28 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   17967          28 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   17968          28 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   17969          28 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   17970           7 :                         NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
   17971             :                 }
   17972          28 :                 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   17973          28 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
   17974          28 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
   17975          28 :                 if (_ptr_forest_trust_info) {
   17976           4 :                         NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
   17977             :                 } else {
   17978          24 :                         *r->out.forest_trust_info = NULL;
   17979             :                 }
   17980          28 :                 if (*r->out.forest_trust_info) {
   17981           4 :                         _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   17982           4 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
   17983           4 :                         NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
   17984           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
   17985             :                 }
   17986          28 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
   17987          28 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   17988             :         }
   17989          68 :         return NDR_ERR_SUCCESS;
   17990             : }
   17991             : 
   17992          14 : _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
   17993             : {
   17994          14 :         ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
   17995          14 :         if (r == NULL) { ndr_print_null(ndr); return; }
   17996          14 :         ndr->depth++;
   17997          14 :         if (flags & NDR_SET_VALUES) {
   17998           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   17999             :         }
   18000          14 :         if (flags & NDR_IN) {
   18001           0 :                 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
   18002           0 :                 ndr->depth++;
   18003           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   18004           0 :                 ndr->depth++;
   18005           0 :                 if (r->in.server_name) {
   18006           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   18007             :                 }
   18008           0 :                 ndr->depth--;
   18009           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   18010           0 :                 ndr->depth++;
   18011           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   18012           0 :                 ndr->depth--;
   18013           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   18014           0 :                 ndr->depth++;
   18015           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   18016           0 :                 ndr->depth--;
   18017           0 :                 ndr_print_uint32(ndr, "flags", r->in.flags);
   18018           0 :                 ndr->depth--;
   18019             :         }
   18020          14 :         if (flags & NDR_OUT) {
   18021          14 :                 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
   18022          14 :                 ndr->depth++;
   18023          14 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   18024          14 :                 ndr->depth++;
   18025          14 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   18026          14 :                 ndr->depth--;
   18027          14 :                 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
   18028          14 :                 ndr->depth++;
   18029          14 :                 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
   18030          14 :                 ndr->depth++;
   18031          14 :                 if (*r->out.forest_trust_info) {
   18032           2 :                         ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
   18033             :                 }
   18034          14 :                 ndr->depth--;
   18035          14 :                 ndr->depth--;
   18036          14 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   18037          14 :                 ndr->depth--;
   18038             :         }
   18039          14 :         ndr->depth--;
   18040             : }
   18041             : 
   18042        4162 : static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
   18043             : {
   18044        4162 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   18045        4162 :         if (flags & NDR_IN) {
   18046        2081 :                 if (r->in.logon == NULL) {
   18047           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18048             :                 }
   18049        2081 :                 if (r->in.flags == NULL) {
   18050           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18051             :                 }
   18052        2081 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   18053        2081 :                 if (r->in.server_name) {
   18054        2081 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   18055        2081 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   18056        2081 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   18057        2081 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   18058             :                 }
   18059        2081 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
   18060        2081 :                 if (r->in.computer_name) {
   18061        2081 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   18062        2081 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   18063        2081 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   18064        2081 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   18065             :                 }
   18066        2081 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
   18067        2081 :                 if (r->in.credential) {
   18068        2081 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   18069             :                 }
   18070        2081 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
   18071        2081 :                 if (r->in.return_authenticator) {
   18072        2081 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   18073             :                 }
   18074        2081 :                 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
   18075        2081 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
   18076        2081 :                 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
   18077        2081 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
   18078        2081 :                 NDR_CHECK(ndr_push_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, *r->in.flags));
   18079             :         }
   18080        4162 :         if (flags & NDR_OUT) {
   18081        2081 :                 if (r->out.validation == NULL) {
   18082           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18083             :                 }
   18084        2081 :                 if (r->out.authoritative == NULL) {
   18085           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18086             :                 }
   18087        2081 :                 if (r->out.flags == NULL) {
   18088           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18089             :                 }
   18090        2081 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
   18091        2081 :                 if (r->out.return_authenticator) {
   18092        2081 :                         NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   18093             :                 }
   18094        2081 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
   18095        2081 :                 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
   18096        2081 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
   18097        2081 :                 NDR_CHECK(ndr_push_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, *r->out.flags));
   18098        2081 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   18099             :         }
   18100        4162 :         return NDR_ERR_SUCCESS;
   18101             : }
   18102             : 
   18103        4162 : static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
   18104             : {
   18105             :         uint32_t _ptr_server_name;
   18106        4162 :         uint32_t size_server_name_1 = 0;
   18107        4162 :         uint32_t length_server_name_1 = 0;
   18108             :         uint32_t _ptr_computer_name;
   18109        4162 :         uint32_t size_computer_name_1 = 0;
   18110        4162 :         uint32_t length_computer_name_1 = 0;
   18111             :         uint32_t _ptr_credential;
   18112             :         uint32_t _ptr_return_authenticator;
   18113        4162 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   18114        4162 :         TALLOC_CTX *_mem_save_computer_name_0 = NULL;
   18115        4162 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   18116        4162 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   18117        4162 :         TALLOC_CTX *_mem_save_logon_0 = NULL;
   18118        4162 :         TALLOC_CTX *_mem_save_validation_0 = NULL;
   18119        4162 :         TALLOC_CTX *_mem_save_authoritative_0 = NULL;
   18120        4162 :         TALLOC_CTX *_mem_save_flags_0 = NULL;
   18121        4162 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   18122        4162 :         if (flags & NDR_IN) {
   18123        2081 :                 NDR_ZERO_STRUCT(r->out);
   18124             : 
   18125        2081 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   18126        2081 :                 if (_ptr_server_name) {
   18127        2081 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   18128             :                 } else {
   18129           0 :                         r->in.server_name = NULL;
   18130             :                 }
   18131        2081 :                 if (r->in.server_name) {
   18132        2081 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18133        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   18134        2081 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   18135        2081 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   18136        2081 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   18137        2081 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   18138        2081 :                         if (length_server_name_1 > size_server_name_1) {
   18139           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   18140             :                         }
   18141        2081 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   18142        2081 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   18143        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   18144             :                 }
   18145        2081 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
   18146        2081 :                 if (_ptr_computer_name) {
   18147        2081 :                         NDR_PULL_ALLOC(ndr, r->in.computer_name);
   18148             :                 } else {
   18149           0 :                         r->in.computer_name = NULL;
   18150             :                 }
   18151        2081 :                 if (r->in.computer_name) {
   18152        2081 :                         _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18153        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
   18154        2081 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   18155        2081 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   18156        2081 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   18157        2081 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   18158        2081 :                         if (length_computer_name_1 > size_computer_name_1) {
   18159           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   18160             :                         }
   18161        2081 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   18162        2081 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   18163        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
   18164             :                 }
   18165        2081 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
   18166        2081 :                 if (_ptr_credential) {
   18167        2081 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   18168             :                 } else {
   18169           0 :                         r->in.credential = NULL;
   18170             :                 }
   18171        2081 :                 if (r->in.credential) {
   18172        2081 :                         _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18173        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
   18174        2081 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   18175        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
   18176             :                 }
   18177        2081 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
   18178        2081 :                 if (_ptr_return_authenticator) {
   18179        2081 :                         NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
   18180             :                 } else {
   18181           0 :                         r->in.return_authenticator = NULL;
   18182             :                 }
   18183        2081 :                 if (r->in.return_authenticator) {
   18184        2081 :                         _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18185        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
   18186        2081 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
   18187        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
   18188             :                 }
   18189        2081 :                 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
   18190        2081 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18191        2081 :                         NDR_PULL_ALLOC(ndr, r->in.logon);
   18192             :                 }
   18193        2081 :                 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18194        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
   18195        2081 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
   18196        2081 :                 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
   18197        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
   18198        2081 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
   18199        2081 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18200        2081 :                         NDR_PULL_ALLOC(ndr, r->in.flags);
   18201             :                 }
   18202        2081 :                 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18203        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
   18204        2081 :                 NDR_CHECK(ndr_pull_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, r->in.flags));
   18205        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
   18206        2081 :                 NDR_PULL_ALLOC(ndr, r->out.validation);
   18207        2081 :                 NDR_ZERO_STRUCTP(r->out.validation);
   18208        2081 :                 NDR_PULL_ALLOC(ndr, r->out.authoritative);
   18209        2081 :                 NDR_ZERO_STRUCTP(r->out.authoritative);
   18210        2081 :                 NDR_PULL_ALLOC(ndr, r->out.flags);
   18211        2081 :                 *r->out.flags = *r->in.flags;
   18212             :         }
   18213        4162 :         if (flags & NDR_OUT) {
   18214             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   18215             :                 if (r->in.logon == NULL) {
   18216             :                         NDR_PULL_ALLOC(ndr, r->in.logon);
   18217             :                         NDR_ZERO_STRUCTP(r->in.logon);
   18218             :                 }
   18219             :                 if (r->in.flags == NULL) {
   18220             :                         NDR_PULL_ALLOC(ndr, r->in.flags);
   18221             :                         NDR_ZERO_STRUCTP(r->in.flags);
   18222             :                 }
   18223             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   18224        2081 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
   18225        2081 :                 if (_ptr_return_authenticator) {
   18226        2081 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   18227             :                 } else {
   18228           0 :                         r->out.return_authenticator = NULL;
   18229             :                 }
   18230        2081 :                 if (r->out.return_authenticator) {
   18231        2081 :                         _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18232        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
   18233        2081 :                         NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   18234        2081 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
   18235             :                 }
   18236        2081 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18237          22 :                         NDR_PULL_ALLOC(ndr, r->out.validation);
   18238             :                 }
   18239        2081 :                 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18240        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
   18241        2081 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
   18242        2081 :                 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
   18243        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
   18244        2081 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18245          22 :                         NDR_PULL_ALLOC(ndr, r->out.authoritative);
   18246             :                 }
   18247        2081 :                 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18248        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
   18249        2081 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
   18250        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
   18251        2081 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18252          22 :                         NDR_PULL_ALLOC(ndr, r->out.flags);
   18253             :                 }
   18254        2081 :                 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18255        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
   18256        2081 :                 NDR_CHECK(ndr_pull_netr_LogonSamLogon_flags(ndr, NDR_SCALARS, r->out.flags));
   18257        2081 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
   18258        2081 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   18259             :         }
   18260        4162 :         return NDR_ERR_SUCCESS;
   18261             : }
   18262             : 
   18263           0 : _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
   18264             : {
   18265           0 :         ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
   18266           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   18267           0 :         ndr->depth++;
   18268           0 :         if (flags & NDR_SET_VALUES) {
   18269           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   18270             :         }
   18271           0 :         if (flags & NDR_IN) {
   18272           0 :                 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
   18273           0 :                 ndr->depth++;
   18274           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   18275           0 :                 ndr->depth++;
   18276           0 :                 if (r->in.server_name) {
   18277           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   18278             :                 }
   18279           0 :                 ndr->depth--;
   18280           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   18281           0 :                 ndr->depth++;
   18282           0 :                 if (r->in.computer_name) {
   18283           0 :                         ndr_print_string(ndr, "computer_name", r->in.computer_name);
   18284             :                 }
   18285           0 :                 ndr->depth--;
   18286           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   18287           0 :                 ndr->depth++;
   18288           0 :                 if (r->in.credential) {
   18289           0 :                         ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   18290             :                 }
   18291           0 :                 ndr->depth--;
   18292           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
   18293           0 :                 ndr->depth++;
   18294           0 :                 if (r->in.return_authenticator) {
   18295           0 :                         ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
   18296             :                 }
   18297           0 :                 ndr->depth--;
   18298           0 :                 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
   18299           0 :                 ndr_print_ptr(ndr, "logon", r->in.logon);
   18300           0 :                 ndr->depth++;
   18301           0 :                 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
   18302           0 :                 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
   18303           0 :                 ndr->depth--;
   18304           0 :                 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
   18305           0 :                 ndr_print_ptr(ndr, "flags", r->in.flags);
   18306           0 :                 ndr->depth++;
   18307           0 :                 ndr_print_netr_LogonSamLogon_flags(ndr, "flags", *r->in.flags);
   18308           0 :                 ndr->depth--;
   18309           0 :                 ndr->depth--;
   18310             :         }
   18311           0 :         if (flags & NDR_OUT) {
   18312           0 :                 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
   18313           0 :                 ndr->depth++;
   18314           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   18315           0 :                 ndr->depth++;
   18316           0 :                 if (r->out.return_authenticator) {
   18317           0 :                         ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   18318             :                 }
   18319           0 :                 ndr->depth--;
   18320           0 :                 ndr_print_ptr(ndr, "validation", r->out.validation);
   18321           0 :                 ndr->depth++;
   18322           0 :                 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
   18323           0 :                 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
   18324           0 :                 ndr->depth--;
   18325           0 :                 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
   18326           0 :                 ndr->depth++;
   18327           0 :                 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
   18328           0 :                 ndr->depth--;
   18329           0 :                 ndr_print_ptr(ndr, "flags", r->out.flags);
   18330           0 :                 ndr->depth++;
   18331           0 :                 ndr_print_netr_LogonSamLogon_flags(ndr, "flags", *r->out.flags);
   18332           0 :                 ndr->depth--;
   18333           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   18334           0 :                 ndr->depth--;
   18335             :         }
   18336           0 :         ndr->depth--;
   18337             : }
   18338             : 
   18339         164 : static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
   18340             : {
   18341         164 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   18342         164 :         if (flags & NDR_IN) {
   18343          52 :                 if (r->in.account_name == NULL) {
   18344           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18345             :                 }
   18346          52 :                 if (r->in.computer_name == NULL) {
   18347           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18348             :                 }
   18349          52 :                 if (r->in.credential == NULL) {
   18350           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18351             :                 }
   18352          52 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   18353          52 :                 if (r->in.server_name) {
   18354          52 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   18355          52 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   18356          52 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   18357          52 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   18358             :                 }
   18359          52 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   18360          52 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   18361          52 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
   18362          52 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   18363          52 :                 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
   18364          52 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   18365          52 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   18366          52 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   18367          52 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   18368          52 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   18369             :         }
   18370         164 :         if (flags & NDR_OUT) {
   18371         112 :                 if (r->out.return_authenticator == NULL) {
   18372           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18373             :                 }
   18374         112 :                 if (r->out.new_owf_password == NULL) {
   18375           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18376             :                 }
   18377         112 :                 if (r->out.old_owf_password == NULL) {
   18378           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18379             :                 }
   18380         112 :                 if (r->out.trust_info == NULL) {
   18381           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18382             :                 }
   18383         112 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   18384         112 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
   18385         112 :                 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
   18386         112 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
   18387         112 :                 if (*r->out.trust_info) {
   18388          52 :                         NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
   18389             :                 }
   18390         112 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   18391             :         }
   18392         146 :         return NDR_ERR_SUCCESS;
   18393             : }
   18394             : 
   18395         151 : static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
   18396             : {
   18397             :         uint32_t _ptr_server_name;
   18398         151 :         uint32_t size_server_name_1 = 0;
   18399         151 :         uint32_t length_server_name_1 = 0;
   18400         151 :         uint32_t size_account_name_1 = 0;
   18401         151 :         uint32_t length_account_name_1 = 0;
   18402         151 :         uint32_t size_computer_name_1 = 0;
   18403         151 :         uint32_t length_computer_name_1 = 0;
   18404             :         uint32_t _ptr_trust_info;
   18405         151 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   18406         151 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   18407         151 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   18408         151 :         TALLOC_CTX *_mem_save_new_owf_password_0 = NULL;
   18409         151 :         TALLOC_CTX *_mem_save_old_owf_password_0 = NULL;
   18410         151 :         TALLOC_CTX *_mem_save_trust_info_0 = NULL;
   18411         151 :         TALLOC_CTX *_mem_save_trust_info_1 = NULL;
   18412         151 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   18413         151 :         if (flags & NDR_IN) {
   18414          99 :                 NDR_ZERO_STRUCT(r->out);
   18415             : 
   18416          99 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   18417          99 :                 if (_ptr_server_name) {
   18418          99 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   18419             :                 } else {
   18420           0 :                         r->in.server_name = NULL;
   18421             :                 }
   18422          99 :                 if (r->in.server_name) {
   18423          99 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18424          99 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   18425          99 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   18426          99 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   18427          99 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   18428          99 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   18429          99 :                         if (length_server_name_1 > size_server_name_1) {
   18430           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   18431             :                         }
   18432          99 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   18433          99 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   18434          99 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   18435             :                 }
   18436          99 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
   18437          99 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
   18438          99 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.account_name, &size_account_name_1));
   18439          99 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.account_name, &length_account_name_1));
   18440          99 :                 if (length_account_name_1 > size_account_name_1) {
   18441           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
   18442             :                 }
   18443          99 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
   18444          99 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
   18445          99 :                 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
   18446          99 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   18447          99 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   18448          99 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   18449          99 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   18450          99 :                 if (length_computer_name_1 > size_computer_name_1) {
   18451           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   18452             :                 }
   18453          99 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   18454          99 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   18455          99 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18456          99 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   18457             :                 }
   18458          99 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18459          99 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   18460          99 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   18461          99 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   18462          99 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   18463          99 :                 NDR_ZERO_STRUCTP(r->out.return_authenticator);
   18464          99 :                 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
   18465          99 :                 NDR_ZERO_STRUCTP(r->out.new_owf_password);
   18466          99 :                 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
   18467          99 :                 NDR_ZERO_STRUCTP(r->out.old_owf_password);
   18468          99 :                 NDR_PULL_ALLOC(ndr, r->out.trust_info);
   18469          99 :                 NDR_ZERO_STRUCTP(r->out.trust_info);
   18470             :         }
   18471         151 :         if (flags & NDR_OUT) {
   18472             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   18473             :                 if (r->in.credential == NULL) {
   18474             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   18475             :                         NDR_ZERO_STRUCTP(r->in.credential);
   18476             :                 }
   18477             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   18478          52 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18479          13 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   18480             :                 }
   18481          52 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18482          52 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   18483          52 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   18484          52 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   18485          52 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18486          13 :                         NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
   18487             :                 }
   18488          52 :                 _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18489          52 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
   18490          52 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
   18491          52 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
   18492          52 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18493          13 :                         NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
   18494             :                 }
   18495          52 :                 _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18496          52 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
   18497          52 :                 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
   18498          52 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
   18499          52 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18500          13 :                         NDR_PULL_ALLOC(ndr, r->out.trust_info);
   18501             :                 }
   18502          52 :                 _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18503          52 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
   18504          52 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
   18505          52 :                 if (_ptr_trust_info) {
   18506           4 :                         NDR_PULL_ALLOC(ndr, *r->out.trust_info);
   18507             :                 } else {
   18508          48 :                         *r->out.trust_info = NULL;
   18509             :                 }
   18510          52 :                 if (*r->out.trust_info) {
   18511           4 :                         _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
   18512           4 :                         NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
   18513           4 :                         NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
   18514           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
   18515             :                 }
   18516          52 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
   18517          52 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   18518             :         }
   18519         135 :         return NDR_ERR_SUCCESS;
   18520             : }
   18521             : 
   18522          26 : _PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
   18523             : {
   18524          26 :         ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
   18525          26 :         if (r == NULL) { ndr_print_null(ndr); return; }
   18526          26 :         ndr->depth++;
   18527          26 :         if (flags & NDR_SET_VALUES) {
   18528           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   18529             :         }
   18530          26 :         if (flags & NDR_IN) {
   18531           0 :                 ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
   18532           0 :                 ndr->depth++;
   18533           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   18534           0 :                 ndr->depth++;
   18535           0 :                 if (r->in.server_name) {
   18536           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   18537             :                 }
   18538           0 :                 ndr->depth--;
   18539           0 :                 ndr_print_ptr(ndr, "account_name", r->in.account_name);
   18540           0 :                 ndr->depth++;
   18541           0 :                 ndr_print_string(ndr, "account_name", r->in.account_name);
   18542           0 :                 ndr->depth--;
   18543           0 :                 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
   18544           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   18545           0 :                 ndr->depth++;
   18546           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   18547           0 :                 ndr->depth--;
   18548           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   18549           0 :                 ndr->depth++;
   18550           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   18551           0 :                 ndr->depth--;
   18552           0 :                 ndr->depth--;
   18553             :         }
   18554          26 :         if (flags & NDR_OUT) {
   18555          26 :                 ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
   18556          26 :                 ndr->depth++;
   18557          26 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   18558          26 :                 ndr->depth++;
   18559          26 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   18560          26 :                 ndr->depth--;
   18561          26 :                 ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
   18562          26 :                 ndr->depth++;
   18563          26 :                 ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
   18564          26 :                 ndr->depth--;
   18565          26 :                 ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
   18566          26 :                 ndr->depth++;
   18567          26 :                 ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
   18568          26 :                 ndr->depth--;
   18569          26 :                 ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
   18570          26 :                 ndr->depth++;
   18571          26 :                 ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
   18572          26 :                 ndr->depth++;
   18573          26 :                 if (*r->out.trust_info) {
   18574           2 :                         ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
   18575             :                 }
   18576          26 :                 ndr->depth--;
   18577          26 :                 ndr->depth--;
   18578          26 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   18579          26 :                 ndr->depth--;
   18580             :         }
   18581          26 :         ndr->depth--;
   18582             : }
   18583             : 
   18584           0 : static enum ndr_err_code ndr_push_netr_Unused47(struct ndr_push *ndr, int flags, const struct netr_Unused47 *r)
   18585             : {
   18586           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   18587           0 :         if (flags & NDR_IN) {
   18588             :         }
   18589           0 :         if (flags & NDR_OUT) {
   18590           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   18591             :         }
   18592           0 :         return NDR_ERR_SUCCESS;
   18593             : }
   18594             : 
   18595           0 : static enum ndr_err_code ndr_pull_netr_Unused47(struct ndr_pull *ndr, int flags, struct netr_Unused47 *r)
   18596             : {
   18597           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   18598           0 :         if (flags & NDR_IN) {
   18599             :         }
   18600           0 :         if (flags & NDR_OUT) {
   18601             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   18602             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   18603           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   18604             :         }
   18605           0 :         return NDR_ERR_SUCCESS;
   18606             : }
   18607             : 
   18608           0 : _PUBLIC_ void ndr_print_netr_Unused47(struct ndr_print *ndr, const char *name, int flags, const struct netr_Unused47 *r)
   18609             : {
   18610           0 :         ndr_print_struct(ndr, name, "netr_Unused47");
   18611           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   18612           0 :         ndr->depth++;
   18613           0 :         if (flags & NDR_SET_VALUES) {
   18614           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   18615             :         }
   18616           0 :         if (flags & NDR_IN) {
   18617           0 :                 ndr_print_struct(ndr, "in", "netr_Unused47");
   18618           0 :                 ndr->depth++;
   18619           0 :                 ndr->depth--;
   18620             :         }
   18621           0 :         if (flags & NDR_OUT) {
   18622           0 :                 ndr_print_struct(ndr, "out", "netr_Unused47");
   18623           0 :                 ndr->depth++;
   18624           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   18625           0 :                 ndr->depth--;
   18626             :         }
   18627           0 :         ndr->depth--;
   18628             : }
   18629             : 
   18630           4 : static enum ndr_err_code ndr_push_netr_DsrUpdateReadOnlyServerDnsRecords(struct ndr_push *ndr, int flags, const struct netr_DsrUpdateReadOnlyServerDnsRecords *r)
   18631             : {
   18632           4 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
   18633           4 :         if (flags & NDR_IN) {
   18634           0 :                 if (r->in.computer_name == NULL) {
   18635           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18636             :                 }
   18637           0 :                 if (r->in.credential == NULL) {
   18638           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18639             :                 }
   18640           0 :                 if (r->in.dns_names == NULL) {
   18641           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18642             :                 }
   18643           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
   18644           0 :                 if (r->in.server_name) {
   18645           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   18646           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   18647           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
   18648           0 :                         NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   18649             :                 }
   18650           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   18651           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   18652           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
   18653           0 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
   18654           0 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   18655           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
   18656           0 :                 if (r->in.site_name) {
   18657           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
   18658           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
   18659           0 :                         NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
   18660           0 :                         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));
   18661             :                 }
   18662           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.dns_ttl));
   18663           0 :                 NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
   18664             :         }
   18665           4 :         if (flags & NDR_OUT) {
   18666           4 :                 if (r->out.return_authenticator == NULL) {
   18667           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18668             :                 }
   18669           4 :                 if (r->out.dns_names == NULL) {
   18670           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
   18671             :                 }
   18672           4 :                 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   18673           4 :                 NDR_CHECK(ndr_push_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
   18674           4 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
   18675             :         }
   18676           4 :         return NDR_ERR_SUCCESS;
   18677             : }
   18678             : 
   18679           4 : static enum ndr_err_code ndr_pull_netr_DsrUpdateReadOnlyServerDnsRecords(struct ndr_pull *ndr, int flags, struct netr_DsrUpdateReadOnlyServerDnsRecords *r)
   18680             : {
   18681             :         uint32_t _ptr_server_name;
   18682           4 :         uint32_t size_server_name_1 = 0;
   18683           4 :         uint32_t length_server_name_1 = 0;
   18684           4 :         uint32_t size_computer_name_1 = 0;
   18685           4 :         uint32_t length_computer_name_1 = 0;
   18686             :         uint32_t _ptr_site_name;
   18687           4 :         uint32_t size_site_name_1 = 0;
   18688           4 :         uint32_t length_site_name_1 = 0;
   18689           4 :         TALLOC_CTX *_mem_save_server_name_0 = NULL;
   18690           4 :         TALLOC_CTX *_mem_save_credential_0 = NULL;
   18691           4 :         TALLOC_CTX *_mem_save_return_authenticator_0 = NULL;
   18692           4 :         TALLOC_CTX *_mem_save_site_name_0 = NULL;
   18693           4 :         TALLOC_CTX *_mem_save_dns_names_0 = NULL;
   18694           4 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
   18695           4 :         if (flags & NDR_IN) {
   18696           4 :                 NDR_ZERO_STRUCT(r->out);
   18697             : 
   18698           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
   18699           4 :                 if (_ptr_server_name) {
   18700           4 :                         NDR_PULL_ALLOC(ndr, r->in.server_name);
   18701             :                 } else {
   18702           0 :                         r->in.server_name = NULL;
   18703             :                 }
   18704           4 :                 if (r->in.server_name) {
   18705           4 :                         _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18706           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
   18707           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
   18708           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
   18709           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.server_name, &size_server_name_1));
   18710           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.server_name, &length_server_name_1));
   18711           4 :                         if (length_server_name_1 > size_server_name_1) {
   18712           0 :                                 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
   18713             :                         }
   18714           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
   18715           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
   18716           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
   18717             :                 }
   18718           4 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
   18719           4 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
   18720           4 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.computer_name, &size_computer_name_1));
   18721           4 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.computer_name, &length_computer_name_1));
   18722           4 :                 if (length_computer_name_1 > size_computer_name_1) {
   18723           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
   18724             :                 }
   18725           4 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
   18726           4 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
   18727           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18728           4 :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   18729             :                 }
   18730           4 :                 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18731           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
   18732           4 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
   18733           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
   18734           4 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
   18735           4 :                 if (_ptr_site_name) {
   18736           4 :                         NDR_PULL_ALLOC(ndr, r->in.site_name);
   18737             :                 } else {
   18738           0 :                         r->in.site_name = NULL;
   18739             :                 }
   18740           4 :                 if (r->in.site_name) {
   18741           4 :                         _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18742           4 :                         NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
   18743           4 :                         NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
   18744           4 :                         NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
   18745           4 :                         NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.site_name, &size_site_name_1));
   18746           4 :                         NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.site_name, &length_site_name_1));
   18747           4 :                         if (length_site_name_1 > size_site_name_1) {
   18748           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);
   18749             :                         }
   18750           4 :                         NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
   18751           4 :                         NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
   18752           4 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
   18753             :                 }
   18754           4 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.dns_ttl));
   18755           4 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18756           4 :                         NDR_PULL_ALLOC(ndr, r->in.dns_names);
   18757             :                 }
   18758           4 :                 _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18759           4 :                 NDR_PULL_SET_MEM_CTX(ndr, r->in.dns_names, LIBNDR_FLAG_REF_ALLOC);
   18760           4 :                 NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dns_names));
   18761           4 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
   18762           4 :                 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   18763           4 :                 NDR_ZERO_STRUCTP(r->out.return_authenticator);
   18764           4 :                 NDR_PULL_ALLOC(ndr, r->out.dns_names);
   18765           4 :                 *r->out.dns_names = *r->in.dns_names;
   18766             :         }
   18767           4 :         if (flags & NDR_OUT) {
   18768             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   18769             :                 if (r->in.credential == NULL) {
   18770             :                         NDR_PULL_ALLOC(ndr, r->in.credential);
   18771             :                         NDR_ZERO_STRUCTP(r->in.credential);
   18772             :                 }
   18773             :                 if (r->in.dns_names == NULL) {
   18774             :                         NDR_PULL_ALLOC(ndr, r->in.dns_names);
   18775             :                         NDR_ZERO_STRUCTP(r->in.dns_names);
   18776             :                 }
   18777             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   18778           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18779           0 :                         NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
   18780             :                 }
   18781           0 :                 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18782           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
   18783           0 :                 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
   18784           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
   18785           0 :                 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
   18786           0 :                         NDR_PULL_ALLOC(ndr, r->out.dns_names);
   18787             :                 }
   18788           0 :                 _mem_save_dns_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
   18789           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->out.dns_names, LIBNDR_FLAG_REF_ALLOC);
   18790           0 :                 NDR_CHECK(ndr_pull_NL_DNS_NAME_INFO_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dns_names));
   18791           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_names_0, LIBNDR_FLAG_REF_ALLOC);
   18792           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
   18793             :         }
   18794           4 :         return NDR_ERR_SUCCESS;
   18795             : }
   18796             : 
   18797           0 : _PUBLIC_ void ndr_print_netr_DsrUpdateReadOnlyServerDnsRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrUpdateReadOnlyServerDnsRecords *r)
   18798             : {
   18799           0 :         ndr_print_struct(ndr, name, "netr_DsrUpdateReadOnlyServerDnsRecords");
   18800           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
   18801           0 :         ndr->depth++;
   18802           0 :         if (flags & NDR_SET_VALUES) {
   18803           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
   18804             :         }
   18805           0 :         if (flags & NDR_IN) {
   18806           0 :                 ndr_print_struct(ndr, "in", "netr_DsrUpdateReadOnlyServerDnsRecords");
   18807           0 :                 ndr->depth++;
   18808           0 :                 ndr_print_ptr(ndr, "server_name", r->in.server_name);
   18809           0 :                 ndr->depth++;
   18810           0 :                 if (r->in.server_name) {
   18811           0 :                         ndr_print_string(ndr, "server_name", r->in.server_name);
   18812             :                 }
   18813           0 :                 ndr->depth--;
   18814           0 :                 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
   18815           0 :                 ndr->depth++;
   18816           0 :                 ndr_print_string(ndr, "computer_name", r->in.computer_name);
   18817           0 :                 ndr->depth--;
   18818           0 :                 ndr_print_ptr(ndr, "credential", r->in.credential);
   18819           0 :                 ndr->depth++;
   18820           0 :                 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
   18821           0 :                 ndr->depth--;
   18822           0 :                 ndr_print_ptr(ndr, "site_name", r->in.site_name);
   18823           0 :                 ndr->depth++;
   18824           0 :                 if (r->in.site_name) {
   18825           0 :                         ndr_print_string(ndr, "site_name", r->in.site_name);
   18826             :                 }
   18827           0 :                 ndr->depth--;
   18828           0 :                 ndr_print_uint32(ndr, "dns_ttl", r->in.dns_ttl);
   18829           0 :                 ndr_print_ptr(ndr, "dns_names", r->in.dns_names);
   18830           0 :                 ndr->depth++;
   18831           0 :                 ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->in.dns_names);
   18832           0 :                 ndr->depth--;
   18833           0 :                 ndr->depth--;
   18834             :         }
   18835           0 :         if (flags & NDR_OUT) {
   18836           0 :                 ndr_print_struct(ndr, "out", "netr_DsrUpdateReadOnlyServerDnsRecords");
   18837           0 :                 ndr->depth++;
   18838           0 :                 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
   18839           0 :                 ndr->depth++;
   18840           0 :                 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
   18841           0 :                 ndr->depth--;
   18842           0 :                 ndr_print_ptr(ndr, "dns_names", r->out.dns_names);
   18843           0 :                 ndr->depth++;
   18844           0 :                 ndr_print_NL_DNS_NAME_INFO_ARRAY(ndr, "dns_names", r->out.dns_names);
   18845           0 :                 ndr->depth--;
   18846           0 :                 ndr_print_NTSTATUS(ndr, "result", r->out.result);
   18847           0 :                 ndr->depth--;
   18848             :         }
   18849           0 :         ndr->depth--;
   18850             : }
   18851             : 
   18852             : #ifndef SKIP_NDR_TABLE_netlogon
   18853             : static const struct ndr_interface_public_struct netlogon_public_structs[] = {
   18854             :         {
   18855             :                 .name = "netr_AcctLockStr",
   18856             :                 .struct_size = sizeof(struct netr_AcctLockStr ),
   18857             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_AcctLockStr,
   18858             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_AcctLockStr,
   18859             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_AcctLockStr,
   18860             :         },
   18861             :         {
   18862             :                 .name = "netr_UserSessionKey",
   18863             :                 .struct_size = sizeof(struct netr_UserSessionKey ),
   18864             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_UserSessionKey,
   18865             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_UserSessionKey,
   18866             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_UserSessionKey,
   18867             :         },
   18868             :         {
   18869             :                 .name = "netr_LMSessionKey",
   18870             :                 .struct_size = sizeof(struct netr_LMSessionKey ),
   18871             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_LMSessionKey,
   18872             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_LMSessionKey,
   18873             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_LMSessionKey,
   18874             :         },
   18875             :         {
   18876             :                 .name = "netr_SidAttr",
   18877             :                 .struct_size = sizeof(struct netr_SidAttr ),
   18878             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_SidAttr,
   18879             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_SidAttr,
   18880             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_SidAttr,
   18881             :         },
   18882             :         {
   18883             :                 .name = "netr_SamInfo3",
   18884             :                 .struct_size = sizeof(struct netr_SamInfo3 ),
   18885             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_SamInfo3,
   18886             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_SamInfo3,
   18887             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_SamInfo3,
   18888             :         },
   18889             :         {
   18890             :                 .name = "netr_Credential",
   18891             :                 .struct_size = sizeof(struct netr_Credential ),
   18892             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_Credential,
   18893             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_Credential,
   18894             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_Credential,
   18895             :         },
   18896             :         {
   18897             :                 .name = "netr_Authenticator",
   18898             :                 .struct_size = sizeof(struct netr_Authenticator ),
   18899             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_Authenticator,
   18900             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_Authenticator,
   18901             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_Authenticator,
   18902             :         },
   18903             :         {
   18904             :                 .name = "netr_USER_KEYS",
   18905             :                 .struct_size = sizeof(struct netr_USER_KEYS ),
   18906             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_USER_KEYS,
   18907             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_USER_KEYS,
   18908             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_USER_KEYS,
   18909             :         },
   18910             :         {
   18911             :                 .name = "netr_ChangeLogEntry",
   18912             :                 .struct_size = sizeof(struct netr_ChangeLogEntry ),
   18913             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_ChangeLogEntry,
   18914             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_ChangeLogEntry,
   18915             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_ChangeLogEntry,
   18916             :         },
   18917             :         {
   18918             :                 .name = "netr_DsRGetDCNameInfo",
   18919             :                 .struct_size = sizeof(struct netr_DsRGetDCNameInfo ),
   18920             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameInfo,
   18921             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameInfo,
   18922             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_DsRGetDCNameInfo,
   18923             :         },
   18924             :         {
   18925             :                 .name = "netr_SendToSamBase",
   18926             :                 .struct_size = sizeof(struct netr_SendToSamBase ),
   18927             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_netr_SendToSamBase,
   18928             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netr_SendToSamBase,
   18929             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_netr_SendToSamBase,
   18930             :         },
   18931             :         {
   18932             :                 .name = "NL_DNS_NAME_INFO_ARRAY",
   18933             :                 .struct_size = sizeof(struct NL_DNS_NAME_INFO_ARRAY ),
   18934             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_NL_DNS_NAME_INFO_ARRAY,
   18935             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_NL_DNS_NAME_INFO_ARRAY,
   18936             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_NL_DNS_NAME_INFO_ARRAY,
   18937             :         },
   18938             :         { .name = NULL }
   18939             : };
   18940             : 
   18941             : static const struct ndr_interface_call netlogon_calls[] = {
   18942             :         {
   18943             :                 "netr_LogonUasLogon",
   18944             :                 sizeof(struct netr_LogonUasLogon),
   18945             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
   18946             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
   18947             :                 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
   18948             :                 { 0, NULL },
   18949             :                 { 0, NULL },
   18950             :         },
   18951             :         {
   18952             :                 "netr_LogonUasLogoff",
   18953             :                 sizeof(struct netr_LogonUasLogoff),
   18954             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
   18955             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
   18956             :                 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
   18957             :                 { 0, NULL },
   18958             :                 { 0, NULL },
   18959             :         },
   18960             :         {
   18961             :                 "netr_LogonSamLogon",
   18962             :                 sizeof(struct netr_LogonSamLogon),
   18963             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
   18964             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
   18965             :                 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
   18966             :                 { 0, NULL },
   18967             :                 { 0, NULL },
   18968             :         },
   18969             :         {
   18970             :                 "netr_LogonSamLogoff",
   18971             :                 sizeof(struct netr_LogonSamLogoff),
   18972             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
   18973             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
   18974             :                 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
   18975             :                 { 0, NULL },
   18976             :                 { 0, NULL },
   18977             :         },
   18978             :         {
   18979             :                 "netr_ServerReqChallenge",
   18980             :                 sizeof(struct netr_ServerReqChallenge),
   18981             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
   18982             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
   18983             :                 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
   18984             :                 { 0, NULL },
   18985             :                 { 0, NULL },
   18986             :         },
   18987             :         {
   18988             :                 "netr_ServerAuthenticate",
   18989             :                 sizeof(struct netr_ServerAuthenticate),
   18990             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
   18991             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
   18992             :                 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
   18993             :                 { 0, NULL },
   18994             :                 { 0, NULL },
   18995             :         },
   18996             :         {
   18997             :                 "netr_ServerPasswordSet",
   18998             :                 sizeof(struct netr_ServerPasswordSet),
   18999             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
   19000             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
   19001             :                 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
   19002             :                 { 0, NULL },
   19003             :                 { 0, NULL },
   19004             :         },
   19005             :         {
   19006             :                 "netr_DatabaseDeltas",
   19007             :                 sizeof(struct netr_DatabaseDeltas),
   19008             :                 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
   19009             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
   19010             :                 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
   19011             :                 { 0, NULL },
   19012             :                 { 0, NULL },
   19013             :         },
   19014             :         {
   19015             :                 "netr_DatabaseSync",
   19016             :                 sizeof(struct netr_DatabaseSync),
   19017             :                 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
   19018             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
   19019             :                 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
   19020             :                 { 0, NULL },
   19021             :                 { 0, NULL },
   19022             :         },
   19023             :         {
   19024             :                 "netr_AccountDeltas",
   19025             :                 sizeof(struct netr_AccountDeltas),
   19026             :                 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
   19027             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
   19028             :                 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
   19029             :                 { 0, NULL },
   19030             :                 { 0, NULL },
   19031             :         },
   19032             :         {
   19033             :                 "netr_AccountSync",
   19034             :                 sizeof(struct netr_AccountSync),
   19035             :                 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
   19036             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
   19037             :                 (ndr_print_function_t) ndr_print_netr_AccountSync,
   19038             :                 { 0, NULL },
   19039             :                 { 0, NULL },
   19040             :         },
   19041             :         {
   19042             :                 "netr_GetDcName",
   19043             :                 sizeof(struct netr_GetDcName),
   19044             :                 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
   19045             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
   19046             :                 (ndr_print_function_t) ndr_print_netr_GetDcName,
   19047             :                 { 0, NULL },
   19048             :                 { 0, NULL },
   19049             :         },
   19050             :         {
   19051             :                 "netr_LogonControl",
   19052             :                 sizeof(struct netr_LogonControl),
   19053             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
   19054             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
   19055             :                 (ndr_print_function_t) ndr_print_netr_LogonControl,
   19056             :                 { 0, NULL },
   19057             :                 { 0, NULL },
   19058             :         },
   19059             :         {
   19060             :                 "netr_GetAnyDCName",
   19061             :                 sizeof(struct netr_GetAnyDCName),
   19062             :                 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
   19063             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
   19064             :                 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
   19065             :                 { 0, NULL },
   19066             :                 { 0, NULL },
   19067             :         },
   19068             :         {
   19069             :                 "netr_LogonControl2",
   19070             :                 sizeof(struct netr_LogonControl2),
   19071             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
   19072             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
   19073             :                 (ndr_print_function_t) ndr_print_netr_LogonControl2,
   19074             :                 { 0, NULL },
   19075             :                 { 0, NULL },
   19076             :         },
   19077             :         {
   19078             :                 "netr_ServerAuthenticate2",
   19079             :                 sizeof(struct netr_ServerAuthenticate2),
   19080             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
   19081             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
   19082             :                 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
   19083             :                 { 0, NULL },
   19084             :                 { 0, NULL },
   19085             :         },
   19086             :         {
   19087             :                 "netr_DatabaseSync2",
   19088             :                 sizeof(struct netr_DatabaseSync2),
   19089             :                 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
   19090             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
   19091             :                 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
   19092             :                 { 0, NULL },
   19093             :                 { 0, NULL },
   19094             :         },
   19095             :         {
   19096             :                 "netr_DatabaseRedo",
   19097             :                 sizeof(struct netr_DatabaseRedo),
   19098             :                 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
   19099             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
   19100             :                 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
   19101             :                 { 0, NULL },
   19102             :                 { 0, NULL },
   19103             :         },
   19104             :         {
   19105             :                 "netr_LogonControl2Ex",
   19106             :                 sizeof(struct netr_LogonControl2Ex),
   19107             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
   19108             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
   19109             :                 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
   19110             :                 { 0, NULL },
   19111             :                 { 0, NULL },
   19112             :         },
   19113             :         {
   19114             :                 "netr_NetrEnumerateTrustedDomains",
   19115             :                 sizeof(struct netr_NetrEnumerateTrustedDomains),
   19116             :                 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
   19117             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
   19118             :                 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
   19119             :                 { 0, NULL },
   19120             :                 { 0, NULL },
   19121             :         },
   19122             :         {
   19123             :                 "netr_DsRGetDCName",
   19124             :                 sizeof(struct netr_DsRGetDCName),
   19125             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
   19126             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
   19127             :                 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
   19128             :                 { 0, NULL },
   19129             :                 { 0, NULL },
   19130             :         },
   19131             :         {
   19132             :                 "netr_LogonGetCapabilities",
   19133             :                 sizeof(struct netr_LogonGetCapabilities),
   19134             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
   19135             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
   19136             :                 (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
   19137             :                 { 0, NULL },
   19138             :                 { 0, NULL },
   19139             :         },
   19140             :         {
   19141             :                 "netr_NETRLOGONSETSERVICEBITS",
   19142             :                 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
   19143             :                 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
   19144             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
   19145             :                 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
   19146             :                 { 0, NULL },
   19147             :                 { 0, NULL },
   19148             :         },
   19149             :         {
   19150             :                 "netr_LogonGetTrustRid",
   19151             :                 sizeof(struct netr_LogonGetTrustRid),
   19152             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
   19153             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
   19154             :                 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
   19155             :                 { 0, NULL },
   19156             :                 { 0, NULL },
   19157             :         },
   19158             :         {
   19159             :                 "netr_NETRLOGONCOMPUTESERVERDIGEST",
   19160             :                 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
   19161             :                 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
   19162             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
   19163             :                 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
   19164             :                 { 0, NULL },
   19165             :                 { 0, NULL },
   19166             :         },
   19167             :         {
   19168             :                 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
   19169             :                 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
   19170             :                 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
   19171             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
   19172             :                 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
   19173             :                 { 0, NULL },
   19174             :                 { 0, NULL },
   19175             :         },
   19176             :         {
   19177             :                 "netr_ServerAuthenticate3",
   19178             :                 sizeof(struct netr_ServerAuthenticate3),
   19179             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
   19180             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
   19181             :                 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
   19182             :                 { 0, NULL },
   19183             :                 { 0, NULL },
   19184             :         },
   19185             :         {
   19186             :                 "netr_DsRGetDCNameEx",
   19187             :                 sizeof(struct netr_DsRGetDCNameEx),
   19188             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
   19189             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
   19190             :                 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
   19191             :                 { 0, NULL },
   19192             :                 { 0, NULL },
   19193             :         },
   19194             :         {
   19195             :                 "netr_DsRGetSiteName",
   19196             :                 sizeof(struct netr_DsRGetSiteName),
   19197             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
   19198             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
   19199             :                 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
   19200             :                 { 0, NULL },
   19201             :                 { 0, NULL },
   19202             :         },
   19203             :         {
   19204             :                 "netr_LogonGetDomainInfo",
   19205             :                 sizeof(struct netr_LogonGetDomainInfo),
   19206             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
   19207             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
   19208             :                 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
   19209             :                 { 0, NULL },
   19210             :                 { 0, NULL },
   19211             :         },
   19212             :         {
   19213             :                 "netr_ServerPasswordSet2",
   19214             :                 sizeof(struct netr_ServerPasswordSet2),
   19215             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
   19216             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
   19217             :                 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
   19218             :                 { 0, NULL },
   19219             :                 { 0, NULL },
   19220             :         },
   19221             :         {
   19222             :                 "netr_ServerPasswordGet",
   19223             :                 sizeof(struct netr_ServerPasswordGet),
   19224             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
   19225             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
   19226             :                 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
   19227             :                 { 0, NULL },
   19228             :                 { 0, NULL },
   19229             :         },
   19230             :         {
   19231             :                 "netr_NetrLogonSendToSam",
   19232             :                 sizeof(struct netr_NetrLogonSendToSam),
   19233             :                 (ndr_push_flags_fn_t) ndr_push_netr_NetrLogonSendToSam,
   19234             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrLogonSendToSam,
   19235             :                 (ndr_print_function_t) ndr_print_netr_NetrLogonSendToSam,
   19236             :                 { 0, NULL },
   19237             :                 { 0, NULL },
   19238             :         },
   19239             :         {
   19240             :                 "netr_DsRAddressToSitenamesW",
   19241             :                 sizeof(struct netr_DsRAddressToSitenamesW),
   19242             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
   19243             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
   19244             :                 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
   19245             :                 { 0, NULL },
   19246             :                 { 0, NULL },
   19247             :         },
   19248             :         {
   19249             :                 "netr_DsRGetDCNameEx2",
   19250             :                 sizeof(struct netr_DsRGetDCNameEx2),
   19251             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
   19252             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
   19253             :                 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
   19254             :                 { 0, NULL },
   19255             :                 { 0, NULL },
   19256             :         },
   19257             :         {
   19258             :                 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
   19259             :                 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
   19260             :                 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
   19261             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
   19262             :                 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
   19263             :                 { 0, NULL },
   19264             :                 { 0, NULL },
   19265             :         },
   19266             :         {
   19267             :                 "netr_NetrEnumerateTrustedDomainsEx",
   19268             :                 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
   19269             :                 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
   19270             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
   19271             :                 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
   19272             :                 { 0, NULL },
   19273             :                 { 0, NULL },
   19274             :         },
   19275             :         {
   19276             :                 "netr_DsRAddressToSitenamesExW",
   19277             :                 sizeof(struct netr_DsRAddressToSitenamesExW),
   19278             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
   19279             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
   19280             :                 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
   19281             :                 { 0, NULL },
   19282             :                 { 0, NULL },
   19283             :         },
   19284             :         {
   19285             :                 "netr_DsrGetDcSiteCoverageW",
   19286             :                 sizeof(struct netr_DsrGetDcSiteCoverageW),
   19287             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
   19288             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
   19289             :                 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
   19290             :                 { 0, NULL },
   19291             :                 { 0, NULL },
   19292             :         },
   19293             :         {
   19294             :                 "netr_LogonSamLogonEx",
   19295             :                 sizeof(struct netr_LogonSamLogonEx),
   19296             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
   19297             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
   19298             :                 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
   19299             :                 { 0, NULL },
   19300             :                 { 0, NULL },
   19301             :         },
   19302             :         {
   19303             :                 "netr_DsrEnumerateDomainTrusts",
   19304             :                 sizeof(struct netr_DsrEnumerateDomainTrusts),
   19305             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
   19306             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
   19307             :                 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
   19308             :                 { 0, NULL },
   19309             :                 { 0, NULL },
   19310             :         },
   19311             :         {
   19312             :                 "netr_DsrDeregisterDNSHostRecords",
   19313             :                 sizeof(struct netr_DsrDeregisterDNSHostRecords),
   19314             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
   19315             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
   19316             :                 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
   19317             :                 { 0, NULL },
   19318             :                 { 0, NULL },
   19319             :         },
   19320             :         {
   19321             :                 "netr_ServerTrustPasswordsGet",
   19322             :                 sizeof(struct netr_ServerTrustPasswordsGet),
   19323             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
   19324             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
   19325             :                 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
   19326             :                 { 0, NULL },
   19327             :                 { 0, NULL },
   19328             :         },
   19329             :         {
   19330             :                 "netr_DsRGetForestTrustInformation",
   19331             :                 sizeof(struct netr_DsRGetForestTrustInformation),
   19332             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
   19333             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
   19334             :                 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
   19335             :                 { 0, NULL },
   19336             :                 { 0, NULL },
   19337             :         },
   19338             :         {
   19339             :                 "netr_GetForestTrustInformation",
   19340             :                 sizeof(struct netr_GetForestTrustInformation),
   19341             :                 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
   19342             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
   19343             :                 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
   19344             :                 { 0, NULL },
   19345             :                 { 0, NULL },
   19346             :         },
   19347             :         {
   19348             :                 "netr_LogonSamLogonWithFlags",
   19349             :                 sizeof(struct netr_LogonSamLogonWithFlags),
   19350             :                 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
   19351             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
   19352             :                 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
   19353             :                 { 0, NULL },
   19354             :                 { 0, NULL },
   19355             :         },
   19356             :         {
   19357             :                 "netr_ServerGetTrustInfo",
   19358             :                 sizeof(struct netr_ServerGetTrustInfo),
   19359             :                 (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
   19360             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
   19361             :                 (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
   19362             :                 { 0, NULL },
   19363             :                 { 0, NULL },
   19364             :         },
   19365             :         {
   19366             :                 "netr_Unused47",
   19367             :                 sizeof(struct netr_Unused47),
   19368             :                 (ndr_push_flags_fn_t) ndr_push_netr_Unused47,
   19369             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_Unused47,
   19370             :                 (ndr_print_function_t) ndr_print_netr_Unused47,
   19371             :                 { 0, NULL },
   19372             :                 { 0, NULL },
   19373             :         },
   19374             :         {
   19375             :                 "netr_DsrUpdateReadOnlyServerDnsRecords",
   19376             :                 sizeof(struct netr_DsrUpdateReadOnlyServerDnsRecords),
   19377             :                 (ndr_push_flags_fn_t) ndr_push_netr_DsrUpdateReadOnlyServerDnsRecords,
   19378             :                 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrUpdateReadOnlyServerDnsRecords,
   19379             :                 (ndr_print_function_t) ndr_print_netr_DsrUpdateReadOnlyServerDnsRecords,
   19380             :                 { 0, NULL },
   19381             :                 { 0, NULL },
   19382             :         },
   19383             :         { .name = NULL }
   19384             : };
   19385             : 
   19386             : static const char * const netlogon_endpoint_strings[] = {
   19387             :         "ncacn_np:[\\pipe\\netlogon]", 
   19388             :         "ncacn_ip_tcp:", 
   19389             :         "ncalrpc:", 
   19390             : };
   19391             : 
   19392             : static const struct ndr_interface_string_array netlogon_endpoints = {
   19393             :         .count  = 3,
   19394             :         .names  = netlogon_endpoint_strings
   19395             : };
   19396             : 
   19397             : static const char * const netlogon_authservice_strings[] = {
   19398             :         "host", 
   19399             : };
   19400             : 
   19401             : static const struct ndr_interface_string_array netlogon_authservices = {
   19402             :         .count  = 1,
   19403             :         .names  = netlogon_authservice_strings
   19404             : };
   19405             : 
   19406             : 
   19407             : const struct ndr_interface_table ndr_table_netlogon = {
   19408             :         .name           = "netlogon",
   19409             :         .syntax_id      = {
   19410             :                 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
   19411             :                 NDR_NETLOGON_VERSION
   19412             :         },
   19413             :         .helpstring     = NDR_NETLOGON_HELPSTRING,
   19414             :         .num_calls      = 49,
   19415             :         .calls          = netlogon_calls,
   19416             :         .num_public_structs     = 12,
   19417             :         .public_structs         = netlogon_public_structs,
   19418             :         .endpoints      = &netlogon_endpoints,
   19419             :         .authservices   = &netlogon_authservices
   19420             : };
   19421             : 
   19422             : #endif /* SKIP_NDR_TABLE_netlogon */

Generated by: LCOV version 1.13