LCOV - code coverage report
Current view: top level - bin/default/source3/librpc/gen_ndr - ndr_smbXsrv.c (source / functions) Hit Total Coverage
Test: coverage report for support-claim-type-attributes 6b5c566e Lines: 927 3180 29.2 %
Date: 2023-11-21 12:31:41 Functions: 46 182 25.3 %

          Line data    Source code
       1             : /* parser auto-generated by pidl */
       2             : 
       3             : #include "includes.h"
       4             : #include "bin/default/source3/librpc/gen_ndr/ndr_smbXsrv.h"
       5             : 
       6             : #include "librpc/gen_ndr/ndr_misc.h"
       7             : #include "librpc/gen_ndr/ndr_server_id.h"
       8             : #include "librpc/gen_ndr/ndr_security.h"
       9             : #include "librpc/gen_ndr/ndr_auth.h"
      10      851489 : static enum ndr_err_code ndr_push_smbXsrv_version_values(struct ndr_push *ndr, ndr_flags_type ndr_flags, enum smbXsrv_version_values r)
      11             : {
      12      851489 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
      13      843899 :         return NDR_ERR_SUCCESS;
      14             : }
      15             : 
      16        5195 : static enum ndr_err_code ndr_pull_smbXsrv_version_values(struct ndr_pull *ndr, ndr_flags_type ndr_flags, enum smbXsrv_version_values *r)
      17             : {
      18         369 :         uint32_t v;
      19        5195 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
      20        5195 :         *r = v;
      21        5195 :         return NDR_ERR_SUCCESS;
      22             : }
      23             : 
      24           0 : _PUBLIC_ void ndr_print_smbXsrv_version_values(struct ndr_print *ndr, const char *name, enum smbXsrv_version_values r)
      25             : {
      26           0 :         const char *val = NULL;
      27             : 
      28           0 :         switch (r) {
      29           0 :                 case SMBXSRV_VERSION_0: val = "SMBXSRV_VERSION_0"; break;
      30             :         }
      31           0 :         ndr_print_enum(ndr, name, "ENUM", val, r);
      32           0 : }
      33             : 
      34           0 : static enum ndr_err_code ndr_push_smbXsrv_version_node0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_version_node0 *r)
      35             : {
      36           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      37           0 :         if (ndr_flags & NDR_SCALARS) {
      38           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
      39           0 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
      40           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->min_version));
      41           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->max_version));
      42           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->current_version));
      43           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
      44             :         }
      45           0 :         if (ndr_flags & NDR_BUFFERS) {
      46           0 :         }
      47           0 :         return NDR_ERR_SUCCESS;
      48             : }
      49             : 
      50           0 : static enum ndr_err_code ndr_pull_smbXsrv_version_node0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_version_node0 *r)
      51             : {
      52           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
      53           0 :         if (ndr_flags & NDR_SCALARS) {
      54           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
      55           0 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
      56           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->min_version));
      57           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->max_version));
      58           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->current_version));
      59           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
      60             :         }
      61           0 :         if (ndr_flags & NDR_BUFFERS) {
      62           0 :         }
      63           0 :         return NDR_ERR_SUCCESS;
      64             : }
      65             : 
      66           0 : _PUBLIC_ void ndr_print_smbXsrv_version_node0(struct ndr_print *ndr, const char *name, const struct smbXsrv_version_node0 *r)
      67             : {
      68           0 :         ndr_print_struct(ndr, name, "smbXsrv_version_node0");
      69           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
      70           0 :         ndr->depth++;
      71           0 :         ndr_print_server_id(ndr, "server_id", &r->server_id);
      72           0 :         ndr_print_smbXsrv_version_values(ndr, "min_version", r->min_version);
      73           0 :         ndr_print_smbXsrv_version_values(ndr, "max_version", r->max_version);
      74           0 :         ndr_print_smbXsrv_version_values(ndr, "current_version", r->current_version);
      75           0 :         ndr->depth--;
      76             : }
      77             : 
      78           0 : static enum ndr_err_code ndr_push_smbXsrv_version_global0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_version_global0 *r)
      79             : {
      80           0 :         uint32_t cntr_nodes_0;
      81           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
      82           0 :         if (ndr_flags & NDR_SCALARS) {
      83           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
      84           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
      85             :                 /* [ignore] 'db_rec' */
      86           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_nodes));
      87           0 :                 for (cntr_nodes_0 = 0; cntr_nodes_0 < (r->num_nodes); cntr_nodes_0++) {
      88           0 :                         NDR_CHECK(ndr_push_smbXsrv_version_node0(ndr, NDR_SCALARS, &r->nodes[cntr_nodes_0]));
      89             :                 }
      90           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
      91             :         }
      92           0 :         if (ndr_flags & NDR_BUFFERS) {
      93             :                 /* [ignore] 'db_rec' */
      94           0 :         }
      95           0 :         return NDR_ERR_SUCCESS;
      96             : }
      97             : 
      98           0 : static enum ndr_err_code ndr_pull_smbXsrv_version_global0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_version_global0 *r)
      99             : {
     100           0 :         uint32_t _ptr_db_rec;
     101           0 :         uint32_t size_nodes_0 = 0;
     102           0 :         uint32_t cntr_nodes_0;
     103           0 :         TALLOC_CTX *_mem_save_nodes_0 = NULL;
     104           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     105           0 :         if (ndr_flags & NDR_SCALARS) {
     106           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     107           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
     108           0 :                 _ptr_db_rec = 0;
     109           0 :                 if (_ptr_db_rec) {
     110             :                 } else {
     111           0 :                         r->db_rec = NULL;
     112             :                 }
     113             :                 /* [ignore] 'db_rec' */
     114           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_nodes));
     115           0 :                 if (r->num_nodes < 1 || r->num_nodes > 1024) {
     116           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value (%"PRIu32") out of range (%"PRIu32" - %"PRIu32")", (uint32_t)(r->num_nodes), (uint32_t)(1), (uint32_t)(1024));
     117             :                 }
     118           0 :                 size_nodes_0 = r->num_nodes;
     119           0 :                 NDR_PULL_ALLOC_N(ndr, r->nodes, size_nodes_0);
     120           0 :                 _mem_save_nodes_0 = NDR_PULL_GET_MEM_CTX(ndr);
     121           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->nodes, 0);
     122           0 :                 for (cntr_nodes_0 = 0; cntr_nodes_0 < (size_nodes_0); cntr_nodes_0++) {
     123           0 :                         NDR_CHECK(ndr_pull_smbXsrv_version_node0(ndr, NDR_SCALARS, &r->nodes[cntr_nodes_0]));
     124             :                 }
     125           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nodes_0, 0);
     126           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     127             :         }
     128           0 :         if (ndr_flags & NDR_BUFFERS) {
     129             :                 /* [ignore] 'db_rec' */
     130           0 :         }
     131           0 :         return NDR_ERR_SUCCESS;
     132             : }
     133             : 
     134           0 : _PUBLIC_ void ndr_print_smbXsrv_version_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_version_global0 *r)
     135             : {
     136           0 :         uint32_t cntr_nodes_0;
     137           0 :         ndr_print_struct(ndr, name, "smbXsrv_version_global0");
     138           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     139           0 :         ndr->depth++;
     140           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
     141             :         /* [ignore] 'db_rec' */
     142           0 :         ndr_print_uint32(ndr, "num_nodes", r->num_nodes);
     143           0 :         ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "nodes", (uint32_t)(r->num_nodes));
     144           0 :         ndr->depth++;
     145           0 :         for (cntr_nodes_0 = 0; cntr_nodes_0 < (r->num_nodes); cntr_nodes_0++) {
     146           0 :                 ndr_print_smbXsrv_version_node0(ndr, "nodes", &r->nodes[cntr_nodes_0]);
     147             :         }
     148           0 :         ndr->depth--;
     149           0 :         ndr->depth--;
     150             : }
     151             : 
     152           0 : static enum ndr_err_code ndr_push_smbXsrv_version_globalU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_version_globalU *r)
     153             : {
     154           0 :         uint32_t level;
     155           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     156           0 :         if (ndr_flags & NDR_SCALARS) {
     157             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     158           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     159           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     160           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
     161           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     162           0 :                 switch (level) {
     163           0 :                         case 0: {
     164           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
     165           0 :                         break; }
     166             : 
     167           0 :                         default: {
     168           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
     169           0 :                         break; }
     170             : 
     171             :                 }
     172             :         }
     173           0 :         if (ndr_flags & NDR_BUFFERS) {
     174           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
     175             :                         /* We didn't get it above, and the token is not needed after this. */
     176           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     177             :                 }
     178           0 :                 switch (level) {
     179           0 :                         case 0:
     180           0 :                                 if (r->info0) {
     181           0 :                                         NDR_CHECK(ndr_push_smbXsrv_version_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
     182             :                                 }
     183           0 :                         break;
     184             : 
     185           0 :                         default:
     186           0 :                                 if (r->dummy) {
     187           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
     188             :                                 }
     189           0 :                         break;
     190             : 
     191             :                 }
     192             :         }
     193           0 :         return NDR_ERR_SUCCESS;
     194             : }
     195             : 
     196           0 : static enum ndr_err_code ndr_pull_smbXsrv_version_globalU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_version_globalU *r)
     197             : {
     198           0 :         uint32_t level;
     199           0 :         uint32_t _level;
     200           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
     201           0 :         uint32_t _ptr_info0;
     202           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
     203           0 :         uint32_t _ptr_dummy;
     204           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     205           0 :         if (ndr_flags & NDR_SCALARS) {
     206             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     207           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     208           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     209           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
     210           0 :                 if (_level != level) {
     211           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
     212             :                 }
     213           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     214           0 :                 switch (level) {
     215           0 :                         case 0: {
     216           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
     217           0 :                                 if (_ptr_info0) {
     218           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
     219             :                                 } else {
     220           0 :                                         r->info0 = NULL;
     221             :                                 }
     222           0 :                         break; }
     223             : 
     224           0 :                         default: {
     225           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
     226           0 :                                 if (_ptr_dummy) {
     227           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
     228             :                                 } else {
     229           0 :                                         r->dummy = NULL;
     230             :                                 }
     231           0 :                         break; }
     232             : 
     233             :                 }
     234             :         }
     235           0 :         if (ndr_flags & NDR_BUFFERS) {
     236           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
     237             :                         /* We didn't get it above, and the token is not needed after this. */
     238           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     239             :                 }
     240           0 :                 switch (level) {
     241           0 :                         case 0:
     242           0 :                                 if (r->info0) {
     243           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
     244           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
     245           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_version_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
     246           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
     247             :                                 }
     248           0 :                         break;
     249             : 
     250           0 :                         default:
     251           0 :                                 if (r->dummy) {
     252           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
     253           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
     254           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
     255           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
     256             :                                 }
     257           0 :                         break;
     258             : 
     259             :                 }
     260             :         }
     261           0 :         return NDR_ERR_SUCCESS;
     262             : }
     263             : 
     264           0 : _PUBLIC_ void ndr_print_smbXsrv_version_globalU(struct ndr_print *ndr, const char *name, const union smbXsrv_version_globalU *r)
     265             : {
     266           0 :         uint32_t level;
     267           0 :         level = ndr_print_steal_switch_value(ndr, r);
     268           0 :         ndr_print_union(ndr, name, level, "smbXsrv_version_globalU");
     269           0 :         switch (level) {
     270           0 :                 case 0:
     271           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
     272           0 :                         ndr->depth++;
     273           0 :                         if (r->info0) {
     274           0 :                                 ndr_print_smbXsrv_version_global0(ndr, "info0", r->info0);
     275             :                         }
     276           0 :                         ndr->depth--;
     277           0 :                 break;
     278             : 
     279           0 :                 default:
     280           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
     281           0 :                         ndr->depth++;
     282           0 :                         if (r->dummy) {
     283           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
     284             :                         }
     285           0 :                         ndr->depth--;
     286           0 :                 break;
     287             : 
     288             :         }
     289           0 : }
     290             : 
     291           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_version_globalB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_version_globalB *r)
     292             : {
     293           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     294           0 :         if (ndr_flags & NDR_SCALARS) {
     295           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     296           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
     297           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
     298           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
     299           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_globalU(ndr, NDR_SCALARS, &r->info));
     300           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     301             :         }
     302           0 :         if (ndr_flags & NDR_BUFFERS) {
     303           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
     304           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_globalU(ndr, NDR_BUFFERS, &r->info));
     305             :         }
     306           0 :         return NDR_ERR_SUCCESS;
     307             : }
     308             : 
     309           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_version_globalB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_version_globalB *r)
     310             : {
     311           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     312           0 :         if (ndr_flags & NDR_SCALARS) {
     313           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     314           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
     315           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
     316           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
     317           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_globalU(ndr, NDR_SCALARS, &r->info));
     318           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     319             :         }
     320           0 :         if (ndr_flags & NDR_BUFFERS) {
     321           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
     322           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_globalU(ndr, NDR_BUFFERS, &r->info));
     323             :         }
     324           0 :         return NDR_ERR_SUCCESS;
     325             : }
     326             : 
     327           0 : static void ndr_print_flags_smbXsrv_version_globalB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_version_globalB *r)
     328             : {
     329           0 :         ndr_print_smbXsrv_version_globalB(ndr, name, r);
     330           0 : }
     331             : 
     332           0 : _PUBLIC_ void ndr_print_smbXsrv_version_globalB(struct ndr_print *ndr, const char *name, const struct smbXsrv_version_globalB *r)
     333             : {
     334           0 :         ndr_print_struct(ndr, name, "smbXsrv_version_globalB");
     335           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     336           0 :         ndr->depth++;
     337           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
     338           0 :         ndr_print_uint32(ndr, "seqnum", r->seqnum);
     339           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
     340           0 :         ndr_print_smbXsrv_version_globalU(ndr, "info", &r->info);
     341           0 :         ndr->depth--;
     342             : }
     343             : 
     344       23618 : static enum ndr_err_code ndr_push_smbXsrv_client_global0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_client_global0 *r)
     345             : {
     346       23618 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     347       23618 :         if (ndr_flags & NDR_SCALARS) {
     348       23618 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     349       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     350             :                 /* [ignore] 'db_rec' */
     351       23618 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
     352       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local_address, CH_UTF8)));
     353       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     354       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local_address, CH_UTF8)));
     355       23618 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->local_address, ndr_charset_length(r->local_address, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     356       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_address, CH_UTF8)));
     357       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     358       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_address, CH_UTF8)));
     359       23618 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_address, ndr_charset_length(r->remote_address, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     360       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_name, CH_UTF8)));
     361       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     362       23618 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_name, CH_UTF8)));
     363       23618 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_name, ndr_charset_length(r->remote_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     364       23618 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->initial_connect_time));
     365       23618 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->client_guid));
     366       23618 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->stored));
     367       23618 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     368             :         }
     369       23618 :         if (ndr_flags & NDR_BUFFERS) {
     370             :                 /* [ignore] 'db_rec' */
     371         645 :         }
     372       23618 :         return NDR_ERR_SUCCESS;
     373             : }
     374             : 
     375        1213 : static enum ndr_err_code ndr_pull_smbXsrv_client_global0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_client_global0 *r)
     376             : {
     377          52 :         uint32_t _ptr_db_rec;
     378        1213 :         uint32_t size_local_address_0 = 0;
     379        1213 :         uint32_t length_local_address_0 = 0;
     380        1213 :         uint32_t size_remote_address_0 = 0;
     381        1213 :         uint32_t length_remote_address_0 = 0;
     382        1213 :         uint32_t size_remote_name_0 = 0;
     383        1213 :         uint32_t length_remote_name_0 = 0;
     384        1213 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     385        1213 :         if (ndr_flags & NDR_SCALARS) {
     386        1213 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     387        1213 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
     388        1213 :                 _ptr_db_rec = 0;
     389        1213 :                 if (_ptr_db_rec) {
     390             :                 } else {
     391        1213 :                         r->db_rec = NULL;
     392             :                 }
     393             :                 /* [ignore] 'db_rec' */
     394        1213 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
     395        1213 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->local_address));
     396        1213 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->local_address));
     397        1213 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->local_address, &size_local_address_0));
     398        1213 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->local_address, &length_local_address_0));
     399        1213 :                 if (length_local_address_0 > size_local_address_0) {
     400           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_local_address_0, length_local_address_0);
     401             :                 }
     402        1213 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_local_address_0, sizeof(uint8_t)));
     403        1213 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local_address, length_local_address_0, sizeof(uint8_t), CH_UTF8));
     404        1213 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_address));
     405        1213 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_address));
     406        1213 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_address, &size_remote_address_0));
     407        1213 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_address, &length_remote_address_0));
     408        1213 :                 if (length_remote_address_0 > size_remote_address_0) {
     409           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_remote_address_0, length_remote_address_0);
     410             :                 }
     411        1213 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_address_0, sizeof(uint8_t)));
     412        1213 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_address, length_remote_address_0, sizeof(uint8_t), CH_UTF8));
     413        1213 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_name));
     414        1213 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_name));
     415        1213 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_name, &size_remote_name_0));
     416        1213 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_name, &length_remote_name_0));
     417        1213 :                 if (length_remote_name_0 > size_remote_name_0) {
     418           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_remote_name_0, length_remote_name_0);
     419             :                 }
     420        1213 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_name_0, sizeof(uint8_t)));
     421        1213 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_name, length_remote_name_0, sizeof(uint8_t), CH_UTF8));
     422        1213 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->initial_connect_time));
     423        1213 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->client_guid));
     424        1213 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->stored));
     425        1213 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     426             :         }
     427        1213 :         if (ndr_flags & NDR_BUFFERS) {
     428             :                 /* [ignore] 'db_rec' */
     429          52 :         }
     430        1213 :         return NDR_ERR_SUCCESS;
     431             : }
     432             : 
     433           0 : _PUBLIC_ void ndr_print_smbXsrv_client_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_client_global0 *r)
     434             : {
     435           0 :         ndr_print_struct(ndr, name, "smbXsrv_client_global0");
     436           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     437           0 :         ndr->depth++;
     438           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
     439             :         /* [ignore] 'db_rec' */
     440           0 :         ndr_print_server_id(ndr, "server_id", &r->server_id);
     441           0 :         ndr_print_string(ndr, "local_address", r->local_address);
     442           0 :         ndr_print_string(ndr, "remote_address", r->remote_address);
     443           0 :         ndr_print_string(ndr, "remote_name", r->remote_name);
     444           0 :         ndr_print_NTTIME(ndr, "initial_connect_time", r->initial_connect_time);
     445           0 :         ndr_print_GUID(ndr, "client_guid", &r->client_guid);
     446           0 :         ndr_print_uint8(ndr, "stored", r->stored);
     447           0 :         ndr->depth--;
     448             : }
     449             : 
     450       47236 : static enum ndr_err_code ndr_push_smbXsrv_client_globalU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_client_globalU *r)
     451             : {
     452        1290 :         uint32_t level;
     453       47236 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     454       47236 :         if (ndr_flags & NDR_SCALARS) {
     455             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     456       23618 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     457       23618 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     458       23618 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
     459       23618 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     460       23618 :                 switch (level) {
     461       23618 :                         case 0: {
     462       23618 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
     463       22973 :                         break; }
     464             : 
     465           0 :                         default: {
     466           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
     467           0 :                         break; }
     468             : 
     469             :                 }
     470             :         }
     471       47236 :         if (ndr_flags & NDR_BUFFERS) {
     472       23618 :                 if (!(ndr_flags & NDR_SCALARS)) {
     473             :                         /* We didn't get it above, and the token is not needed after this. */
     474       23618 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     475             :                 }
     476       23618 :                 switch (level) {
     477       23618 :                         case 0:
     478       23618 :                                 if (r->info0) {
     479       23618 :                                         NDR_CHECK(ndr_push_smbXsrv_client_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
     480             :                                 }
     481       22973 :                         break;
     482             : 
     483           0 :                         default:
     484           0 :                                 if (r->dummy) {
     485           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
     486             :                                 }
     487           0 :                         break;
     488             : 
     489             :                 }
     490             :         }
     491       45946 :         return NDR_ERR_SUCCESS;
     492             : }
     493             : 
     494        2426 : static enum ndr_err_code ndr_pull_smbXsrv_client_globalU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_client_globalU *r)
     495             : {
     496         104 :         uint32_t level;
     497         104 :         uint32_t _level;
     498        2426 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
     499         104 :         uint32_t _ptr_info0;
     500        2426 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
     501         104 :         uint32_t _ptr_dummy;
     502        2426 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     503        2426 :         if (ndr_flags & NDR_SCALARS) {
     504             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     505        1213 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     506        1213 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     507        1213 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
     508        1213 :                 if (_level != level) {
     509           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
     510             :                 }
     511        1213 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     512        1213 :                 switch (level) {
     513        1213 :                         case 0: {
     514        1213 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
     515        1213 :                                 if (_ptr_info0) {
     516        1213 :                                         NDR_PULL_ALLOC(ndr, r->info0);
     517             :                                 } else {
     518           0 :                                         r->info0 = NULL;
     519             :                                 }
     520        1161 :                         break; }
     521             : 
     522           0 :                         default: {
     523           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
     524           0 :                                 if (_ptr_dummy) {
     525           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
     526             :                                 } else {
     527           0 :                                         r->dummy = NULL;
     528             :                                 }
     529           0 :                         break; }
     530             : 
     531             :                 }
     532             :         }
     533        2426 :         if (ndr_flags & NDR_BUFFERS) {
     534        1213 :                 if (!(ndr_flags & NDR_SCALARS)) {
     535             :                         /* We didn't get it above, and the token is not needed after this. */
     536        1213 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     537             :                 }
     538        1213 :                 switch (level) {
     539        1213 :                         case 0:
     540        1213 :                                 if (r->info0) {
     541        1213 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
     542        1213 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
     543        1213 :                                         NDR_CHECK(ndr_pull_smbXsrv_client_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
     544        1213 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
     545             :                                 }
     546        1161 :                         break;
     547             : 
     548           0 :                         default:
     549           0 :                                 if (r->dummy) {
     550           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
     551           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
     552           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
     553           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
     554             :                                 }
     555           0 :                         break;
     556             : 
     557             :                 }
     558             :         }
     559        2322 :         return NDR_ERR_SUCCESS;
     560             : }
     561             : 
     562           0 : _PUBLIC_ void ndr_print_smbXsrv_client_globalU(struct ndr_print *ndr, const char *name, const union smbXsrv_client_globalU *r)
     563             : {
     564           0 :         uint32_t level;
     565           0 :         level = ndr_print_steal_switch_value(ndr, r);
     566           0 :         ndr_print_union(ndr, name, level, "smbXsrv_client_globalU");
     567           0 :         switch (level) {
     568           0 :                 case 0:
     569           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
     570           0 :                         ndr->depth++;
     571           0 :                         if (r->info0) {
     572           0 :                                 ndr_print_smbXsrv_client_global0(ndr, "info0", r->info0);
     573             :                         }
     574           0 :                         ndr->depth--;
     575           0 :                 break;
     576             : 
     577           0 :                 default:
     578           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
     579           0 :                         ndr->depth++;
     580           0 :                         if (r->dummy) {
     581           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
     582             :                         }
     583           0 :                         ndr->depth--;
     584           0 :                 break;
     585             : 
     586             :         }
     587           0 : }
     588             : 
     589       23618 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_client_globalB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_client_globalB *r)
     590             : {
     591       23618 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     592       23618 :         if (ndr_flags & NDR_SCALARS) {
     593       23618 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     594       24263 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
     595       23618 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
     596       23618 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
     597       23618 :                 NDR_CHECK(ndr_push_smbXsrv_client_globalU(ndr, NDR_SCALARS, &r->info));
     598       23618 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     599             :         }
     600       23618 :         if (ndr_flags & NDR_BUFFERS) {
     601       23618 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
     602       23618 :                 NDR_CHECK(ndr_push_smbXsrv_client_globalU(ndr, NDR_BUFFERS, &r->info));
     603             :         }
     604       22973 :         return NDR_ERR_SUCCESS;
     605             : }
     606             : 
     607        1213 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_client_globalB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_client_globalB *r)
     608             : {
     609        1213 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     610        1213 :         if (ndr_flags & NDR_SCALARS) {
     611        1213 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     612        1265 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
     613        1213 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
     614        1213 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
     615        1213 :                 NDR_CHECK(ndr_pull_smbXsrv_client_globalU(ndr, NDR_SCALARS, &r->info));
     616        1213 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     617             :         }
     618        1213 :         if (ndr_flags & NDR_BUFFERS) {
     619        1213 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
     620        1213 :                 NDR_CHECK(ndr_pull_smbXsrv_client_globalU(ndr, NDR_BUFFERS, &r->info));
     621             :         }
     622        1161 :         return NDR_ERR_SUCCESS;
     623             : }
     624             : 
     625           0 : static void ndr_print_flags_smbXsrv_client_globalB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_client_globalB *r)
     626             : {
     627           0 :         ndr_print_smbXsrv_client_globalB(ndr, name, r);
     628           0 : }
     629             : 
     630           0 : _PUBLIC_ void ndr_print_smbXsrv_client_globalB(struct ndr_print *ndr, const char *name, const struct smbXsrv_client_globalB *r)
     631             : {
     632           0 :         ndr_print_struct(ndr, name, "smbXsrv_client_globalB");
     633           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     634           0 :         ndr->depth++;
     635           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
     636           0 :         ndr_print_uint32(ndr, "seqnum", r->seqnum);
     637           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
     638           0 :         ndr_print_smbXsrv_client_globalU(ndr, "info", &r->info);
     639           0 :         ndr->depth--;
     640             : }
     641             : 
     642           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_client(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_client *r)
     643             : {
     644           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     645           0 :         if (ndr_flags & NDR_SCALARS) {
     646           0 :                 if (r->global == NULL) {
     647           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     648             :                 }
     649           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     650           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     651             :                 /* [ignore] 'table' */
     652           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     653             :                 /* [ignore] 'raw_ev_ctx' */
     654           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     655             :                 /* [ignore] 'msg_ctx' */
     656           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->global */
     657           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     658             :                 /* [ignore] 'sconn' */
     659           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     660             :                 /* [ignore] 'session_table' */
     661           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     662             :                 /* [ignore] 'tcon_table' */
     663           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     664             :                 /* [ignore] 'open_table' */
     665           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     666             :                 /* [ignore] 'connections' */
     667           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->server_multi_channel_enabled));
     668           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->next_channel_id));
     669           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     670             :                 /* [ignore] 'connection_pass_subreq' */
     671           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     672             :                 /* [ignore] 'connection_drop_subreq' */
     673           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     674             :                 /* [ignore] 'pending_breaks' */
     675           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     676             :         }
     677           0 :         if (ndr_flags & NDR_BUFFERS) {
     678             :                 /* [ignore] 'table' */
     679             :                 /* [ignore] 'raw_ev_ctx' */
     680             :                 /* [ignore] 'msg_ctx' */
     681           0 :                 NDR_CHECK(ndr_push_smbXsrv_client_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
     682             :                 /* [ignore] 'sconn' */
     683             :                 /* [ignore] 'session_table' */
     684             :                 /* [ignore] 'tcon_table' */
     685             :                 /* [ignore] 'open_table' */
     686             :                 /* [ignore] 'connections' */
     687             :                 /* [ignore] 'connection_pass_subreq' */
     688             :                 /* [ignore] 'connection_drop_subreq' */
     689             :                 /* [ignore] 'pending_breaks' */
     690             :         }
     691           0 :         return NDR_ERR_SUCCESS;
     692             : }
     693             : 
     694           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_client(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_client *r)
     695             : {
     696           0 :         uint32_t _ptr_table;
     697           0 :         uint32_t _ptr_raw_ev_ctx;
     698           0 :         uint32_t _ptr_msg_ctx;
     699           0 :         uint32_t _ptr_global;
     700           0 :         TALLOC_CTX *_mem_save_global_0 = NULL;
     701           0 :         uint32_t _ptr_sconn;
     702           0 :         uint32_t _ptr_session_table;
     703           0 :         uint32_t _ptr_tcon_table;
     704           0 :         uint32_t _ptr_open_table;
     705           0 :         uint32_t _ptr_connections;
     706           0 :         uint32_t _ptr_connection_pass_subreq;
     707           0 :         uint32_t _ptr_connection_drop_subreq;
     708           0 :         uint32_t _ptr_pending_breaks;
     709           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     710           0 :         if (ndr_flags & NDR_SCALARS) {
     711           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     712           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_table));
     713           0 :                 _ptr_table = 0;
     714           0 :                 if (_ptr_table) {
     715             :                 } else {
     716           0 :                         r->table = NULL;
     717             :                 }
     718             :                 /* [ignore] 'table' */
     719           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_raw_ev_ctx));
     720           0 :                 _ptr_raw_ev_ctx = 0;
     721           0 :                 if (_ptr_raw_ev_ctx) {
     722             :                 } else {
     723           0 :                         r->raw_ev_ctx = NULL;
     724             :                 }
     725             :                 /* [ignore] 'raw_ev_ctx' */
     726           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_msg_ctx));
     727           0 :                 _ptr_msg_ctx = 0;
     728           0 :                 if (_ptr_msg_ctx) {
     729             :                 } else {
     730           0 :                         r->msg_ctx = NULL;
     731             :                 }
     732             :                 /* [ignore] 'msg_ctx' */
     733           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_global));
     734           0 :                 if (_ptr_global) {
     735           0 :                         NDR_PULL_ALLOC(ndr, r->global);
     736             :                 } else {
     737           0 :                         r->global = NULL;
     738             :                 }
     739           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_sconn));
     740           0 :                 _ptr_sconn = 0;
     741           0 :                 if (_ptr_sconn) {
     742             :                 } else {
     743           0 :                         r->sconn = NULL;
     744             :                 }
     745             :                 /* [ignore] 'sconn' */
     746           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_session_table));
     747           0 :                 _ptr_session_table = 0;
     748           0 :                 if (_ptr_session_table) {
     749             :                 } else {
     750           0 :                         r->session_table = NULL;
     751             :                 }
     752             :                 /* [ignore] 'session_table' */
     753           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_tcon_table));
     754           0 :                 _ptr_tcon_table = 0;
     755           0 :                 if (_ptr_tcon_table) {
     756             :                 } else {
     757           0 :                         r->tcon_table = NULL;
     758             :                 }
     759             :                 /* [ignore] 'tcon_table' */
     760           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_open_table));
     761           0 :                 _ptr_open_table = 0;
     762           0 :                 if (_ptr_open_table) {
     763             :                 } else {
     764           0 :                         r->open_table = NULL;
     765             :                 }
     766             :                 /* [ignore] 'open_table' */
     767           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_connections));
     768           0 :                 _ptr_connections = 0;
     769           0 :                 if (_ptr_connections) {
     770             :                 } else {
     771           0 :                         r->connections = NULL;
     772             :                 }
     773             :                 /* [ignore] 'connections' */
     774           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->server_multi_channel_enabled));
     775           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->next_channel_id));
     776           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_connection_pass_subreq));
     777           0 :                 _ptr_connection_pass_subreq = 0;
     778           0 :                 if (_ptr_connection_pass_subreq) {
     779             :                 } else {
     780           0 :                         r->connection_pass_subreq = NULL;
     781             :                 }
     782             :                 /* [ignore] 'connection_pass_subreq' */
     783           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_connection_drop_subreq));
     784           0 :                 _ptr_connection_drop_subreq = 0;
     785           0 :                 if (_ptr_connection_drop_subreq) {
     786             :                 } else {
     787           0 :                         r->connection_drop_subreq = NULL;
     788             :                 }
     789             :                 /* [ignore] 'connection_drop_subreq' */
     790           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_pending_breaks));
     791           0 :                 _ptr_pending_breaks = 0;
     792           0 :                 if (_ptr_pending_breaks) {
     793             :                 } else {
     794           0 :                         r->pending_breaks = NULL;
     795             :                 }
     796             :                 /* [ignore] 'pending_breaks' */
     797           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     798             :         }
     799           0 :         if (ndr_flags & NDR_BUFFERS) {
     800             :                 /* [ignore] 'table' */
     801             :                 /* [ignore] 'raw_ev_ctx' */
     802             :                 /* [ignore] 'msg_ctx' */
     803           0 :                 _mem_save_global_0 = NDR_PULL_GET_MEM_CTX(ndr);
     804           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->global, 0);
     805           0 :                 NDR_CHECK(ndr_pull_smbXsrv_client_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
     806           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_global_0, 0);
     807             :                 /* [ignore] 'sconn' */
     808             :                 /* [ignore] 'session_table' */
     809             :                 /* [ignore] 'tcon_table' */
     810             :                 /* [ignore] 'open_table' */
     811             :                 /* [ignore] 'connections' */
     812             :                 /* [ignore] 'connection_pass_subreq' */
     813             :                 /* [ignore] 'connection_drop_subreq' */
     814             :                 /* [ignore] 'pending_breaks' */
     815             :         }
     816           0 :         return NDR_ERR_SUCCESS;
     817             : }
     818             : 
     819           0 : static void ndr_print_flags_smbXsrv_client(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_client *r)
     820             : {
     821           0 :         ndr_print_smbXsrv_client(ndr, name, r);
     822           0 : }
     823             : 
     824           0 : _PUBLIC_ void ndr_print_smbXsrv_client(struct ndr_print *ndr, const char *name, const struct smbXsrv_client *r)
     825             : {
     826           0 :         ndr_print_struct(ndr, name, "smbXsrv_client");
     827           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
     828           0 :         ndr->depth++;
     829           0 :         ndr_print_ptr(ndr, "table", r->table);
     830             :         /* [ignore] 'table' */
     831           0 :         ndr_print_ptr(ndr, "raw_ev_ctx", r->raw_ev_ctx);
     832             :         /* [ignore] 'raw_ev_ctx' */
     833           0 :         ndr_print_ptr(ndr, "msg_ctx", r->msg_ctx);
     834             :         /* [ignore] 'msg_ctx' */
     835           0 :         ndr_print_ptr(ndr, "global", r->global);
     836           0 :         ndr->depth++;
     837           0 :         ndr_print_smbXsrv_client_global0(ndr, "global", r->global);
     838           0 :         ndr->depth--;
     839           0 :         ndr_print_ptr(ndr, "sconn", r->sconn);
     840             :         /* [ignore] 'sconn' */
     841           0 :         ndr_print_ptr(ndr, "session_table", r->session_table);
     842             :         /* [ignore] 'session_table' */
     843           0 :         ndr_print_ptr(ndr, "tcon_table", r->tcon_table);
     844             :         /* [ignore] 'tcon_table' */
     845           0 :         ndr_print_ptr(ndr, "open_table", r->open_table);
     846             :         /* [ignore] 'open_table' */
     847           0 :         ndr_print_ptr(ndr, "connections", r->connections);
     848             :         /* [ignore] 'connections' */
     849           0 :         ndr_print_uint8(ndr, "server_multi_channel_enabled", r->server_multi_channel_enabled);
     850           0 :         ndr_print_hyper(ndr, "next_channel_id", r->next_channel_id);
     851           0 :         ndr_print_ptr(ndr, "connection_pass_subreq", r->connection_pass_subreq);
     852             :         /* [ignore] 'connection_pass_subreq' */
     853           0 :         ndr_print_ptr(ndr, "connection_drop_subreq", r->connection_drop_subreq);
     854             :         /* [ignore] 'connection_drop_subreq' */
     855           0 :         ndr_print_ptr(ndr, "pending_breaks", r->pending_breaks);
     856             :         /* [ignore] 'pending_breaks' */
     857           0 :         ndr->depth--;
     858             : }
     859             : 
     860           0 : static enum ndr_err_code ndr_push_smbXsrv_clientU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_clientU *r)
     861             : {
     862           0 :         uint32_t level;
     863           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     864           0 :         if (ndr_flags & NDR_SCALARS) {
     865             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     866           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     867           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     868           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
     869           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     870           0 :                 switch (level) {
     871           0 :                         case 0: {
     872           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
     873           0 :                         break; }
     874             : 
     875           0 :                         default: {
     876           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
     877           0 :                         break; }
     878             : 
     879             :                 }
     880             :         }
     881           0 :         if (ndr_flags & NDR_BUFFERS) {
     882           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
     883             :                         /* We didn't get it above, and the token is not needed after this. */
     884           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     885             :                 }
     886           0 :                 switch (level) {
     887           0 :                         case 0:
     888           0 :                                 if (r->info0) {
     889           0 :                                         NDR_CHECK(ndr_push_smbXsrv_client(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
     890             :                                 }
     891           0 :                         break;
     892             : 
     893           0 :                         default:
     894           0 :                                 if (r->dummy) {
     895           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
     896             :                                 }
     897           0 :                         break;
     898             : 
     899             :                 }
     900             :         }
     901           0 :         return NDR_ERR_SUCCESS;
     902             : }
     903             : 
     904           0 : static enum ndr_err_code ndr_pull_smbXsrv_clientU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_clientU *r)
     905             : {
     906           0 :         uint32_t level;
     907           0 :         uint32_t _level;
     908           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
     909           0 :         uint32_t _ptr_info0;
     910           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
     911           0 :         uint32_t _ptr_dummy;
     912           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     913           0 :         if (ndr_flags & NDR_SCALARS) {
     914             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     915           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     916           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     917           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
     918           0 :                 if (_level != level) {
     919           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
     920             :                 }
     921           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     922           0 :                 switch (level) {
     923           0 :                         case 0: {
     924           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
     925           0 :                                 if (_ptr_info0) {
     926           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
     927             :                                 } else {
     928           0 :                                         r->info0 = NULL;
     929             :                                 }
     930           0 :                         break; }
     931             : 
     932           0 :                         default: {
     933           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
     934           0 :                                 if (_ptr_dummy) {
     935           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
     936             :                                 } else {
     937           0 :                                         r->dummy = NULL;
     938             :                                 }
     939           0 :                         break; }
     940             : 
     941             :                 }
     942             :         }
     943           0 :         if (ndr_flags & NDR_BUFFERS) {
     944           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
     945             :                         /* We didn't get it above, and the token is not needed after this. */
     946           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     947             :                 }
     948           0 :                 switch (level) {
     949           0 :                         case 0:
     950           0 :                                 if (r->info0) {
     951           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
     952           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
     953           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_client(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
     954           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
     955             :                                 }
     956           0 :                         break;
     957             : 
     958           0 :                         default:
     959           0 :                                 if (r->dummy) {
     960           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
     961           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
     962           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
     963           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
     964             :                                 }
     965           0 :                         break;
     966             : 
     967             :                 }
     968             :         }
     969           0 :         return NDR_ERR_SUCCESS;
     970             : }
     971             : 
     972           0 : _PUBLIC_ void ndr_print_smbXsrv_clientU(struct ndr_print *ndr, const char *name, const union smbXsrv_clientU *r)
     973             : {
     974           0 :         uint32_t level;
     975           0 :         level = ndr_print_steal_switch_value(ndr, r);
     976           0 :         ndr_print_union(ndr, name, level, "smbXsrv_clientU");
     977           0 :         switch (level) {
     978           0 :                 case 0:
     979           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
     980           0 :                         ndr->depth++;
     981           0 :                         if (r->info0) {
     982           0 :                                 ndr_print_smbXsrv_client(ndr, "info0", r->info0);
     983             :                         }
     984           0 :                         ndr->depth--;
     985           0 :                 break;
     986             : 
     987           0 :                 default:
     988           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
     989           0 :                         ndr->depth++;
     990           0 :                         if (r->dummy) {
     991           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
     992             :                         }
     993           0 :                         ndr->depth--;
     994           0 :                 break;
     995             : 
     996             :         }
     997           0 : }
     998             : 
     999           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_clientB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_clientB *r)
    1000             : {
    1001           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1002           0 :         if (ndr_flags & NDR_SCALARS) {
    1003           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1004           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    1005           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    1006           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    1007           0 :                 NDR_CHECK(ndr_push_smbXsrv_clientU(ndr, NDR_SCALARS, &r->info));
    1008           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1009             :         }
    1010           0 :         if (ndr_flags & NDR_BUFFERS) {
    1011           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    1012           0 :                 NDR_CHECK(ndr_push_smbXsrv_clientU(ndr, NDR_BUFFERS, &r->info));
    1013             :         }
    1014           0 :         return NDR_ERR_SUCCESS;
    1015             : }
    1016             : 
    1017           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_clientB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_clientB *r)
    1018             : {
    1019           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1020           0 :         if (ndr_flags & NDR_SCALARS) {
    1021           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1022           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    1023           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    1024           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    1025           0 :                 NDR_CHECK(ndr_pull_smbXsrv_clientU(ndr, NDR_SCALARS, &r->info));
    1026           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1027             :         }
    1028           0 :         if (ndr_flags & NDR_BUFFERS) {
    1029           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    1030           0 :                 NDR_CHECK(ndr_pull_smbXsrv_clientU(ndr, NDR_BUFFERS, &r->info));
    1031             :         }
    1032           0 :         return NDR_ERR_SUCCESS;
    1033             : }
    1034             : 
    1035           0 : static void ndr_print_flags_smbXsrv_clientB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_clientB *r)
    1036             : {
    1037           0 :         ndr_print_smbXsrv_clientB(ndr, name, r);
    1038           0 : }
    1039             : 
    1040           0 : _PUBLIC_ void ndr_print_smbXsrv_clientB(struct ndr_print *ndr, const char *name, const struct smbXsrv_clientB *r)
    1041             : {
    1042           0 :         ndr_print_struct(ndr, name, "smbXsrv_clientB");
    1043           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1044           0 :         ndr->depth++;
    1045           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    1046           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    1047           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    1048           0 :         ndr_print_smbXsrv_clientU(ndr, "info", &r->info);
    1049           0 :         ndr->depth--;
    1050             : }
    1051             : 
    1052        2274 : static enum ndr_err_code ndr_push_smbXsrv_connection_pass0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_connection_pass0 *r)
    1053             : {
    1054        2274 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1055        2274 :         if (ndr_flags & NDR_SCALARS) {
    1056        2274 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1057        2274 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->client_guid));
    1058        2274 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->src_server_id));
    1059        2274 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->xconn_connect_time));
    1060        2274 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->dst_server_id));
    1061        2274 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->client_connect_time));
    1062        2274 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->negotiate_request));
    1063        2274 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1064             :         }
    1065        2274 :         if (ndr_flags & NDR_BUFFERS) {
    1066         104 :         }
    1067        2274 :         return NDR_ERR_SUCCESS;
    1068             : }
    1069             : 
    1070        2274 : static enum ndr_err_code ndr_pull_smbXsrv_connection_pass0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_connection_pass0 *r)
    1071             : {
    1072        2274 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1073        2274 :         if (ndr_flags & NDR_SCALARS) {
    1074        2274 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1075        2274 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->client_guid));
    1076        2274 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->src_server_id));
    1077        2274 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->xconn_connect_time));
    1078        2274 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->dst_server_id));
    1079        2274 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->client_connect_time));
    1080        2274 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->negotiate_request));
    1081        2274 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1082             :         }
    1083        2274 :         if (ndr_flags & NDR_BUFFERS) {
    1084         104 :         }
    1085        2274 :         return NDR_ERR_SUCCESS;
    1086             : }
    1087             : 
    1088           0 : _PUBLIC_ void ndr_print_smbXsrv_connection_pass0(struct ndr_print *ndr, const char *name, const struct smbXsrv_connection_pass0 *r)
    1089             : {
    1090           0 :         ndr_print_struct(ndr, name, "smbXsrv_connection_pass0");
    1091           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1092           0 :         ndr->depth++;
    1093           0 :         ndr_print_GUID(ndr, "client_guid", &r->client_guid);
    1094           0 :         ndr_print_server_id(ndr, "src_server_id", &r->src_server_id);
    1095           0 :         ndr_print_NTTIME(ndr, "xconn_connect_time", r->xconn_connect_time);
    1096           0 :         ndr_print_server_id(ndr, "dst_server_id", &r->dst_server_id);
    1097           0 :         ndr_print_NTTIME(ndr, "client_connect_time", r->client_connect_time);
    1098           0 :         ndr_print_DATA_BLOB(ndr, "negotiate_request", r->negotiate_request);
    1099           0 :         ndr->depth--;
    1100             : }
    1101             : 
    1102        4548 : static enum ndr_err_code ndr_push_smbXsrv_connection_passU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_connection_passU *r)
    1103             : {
    1104         208 :         uint32_t level;
    1105        4548 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1106        4548 :         if (ndr_flags & NDR_SCALARS) {
    1107             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1108        2274 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1109        2274 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1110        2274 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    1111        2274 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1112        2274 :                 switch (level) {
    1113        2274 :                         case 0: {
    1114        2274 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    1115        2170 :                         break; }
    1116             : 
    1117           0 :                         default: {
    1118           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    1119           0 :                         break; }
    1120             : 
    1121             :                 }
    1122             :         }
    1123        4548 :         if (ndr_flags & NDR_BUFFERS) {
    1124        2274 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1125             :                         /* We didn't get it above, and the token is not needed after this. */
    1126        2274 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1127             :                 }
    1128        2274 :                 switch (level) {
    1129        2274 :                         case 0:
    1130        2274 :                                 if (r->info0) {
    1131        2274 :                                         NDR_CHECK(ndr_push_smbXsrv_connection_pass0(ndr, NDR_SCALARS, r->info0));
    1132             :                                 }
    1133        2170 :                         break;
    1134             : 
    1135           0 :                         default:
    1136           0 :                                 if (r->dummy) {
    1137           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    1138             :                                 }
    1139           0 :                         break;
    1140             : 
    1141             :                 }
    1142             :         }
    1143        4340 :         return NDR_ERR_SUCCESS;
    1144             : }
    1145             : 
    1146        4548 : static enum ndr_err_code ndr_pull_smbXsrv_connection_passU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_connection_passU *r)
    1147             : {
    1148         208 :         uint32_t level;
    1149         208 :         uint32_t _level;
    1150        4548 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    1151         208 :         uint32_t _ptr_info0;
    1152        4548 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    1153         208 :         uint32_t _ptr_dummy;
    1154        4548 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1155        4548 :         if (ndr_flags & NDR_SCALARS) {
    1156             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1157        2274 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1158        2274 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1159        2274 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    1160        2274 :                 if (_level != level) {
    1161           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    1162             :                 }
    1163        2274 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1164        2274 :                 switch (level) {
    1165        2274 :                         case 0: {
    1166        2274 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    1167        2274 :                                 if (_ptr_info0) {
    1168        2274 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    1169             :                                 } else {
    1170           0 :                                         r->info0 = NULL;
    1171             :                                 }
    1172        2170 :                         break; }
    1173             : 
    1174           0 :                         default: {
    1175           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    1176           0 :                                 if (_ptr_dummy) {
    1177           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    1178             :                                 } else {
    1179           0 :                                         r->dummy = NULL;
    1180             :                                 }
    1181           0 :                         break; }
    1182             : 
    1183             :                 }
    1184             :         }
    1185        4548 :         if (ndr_flags & NDR_BUFFERS) {
    1186        2274 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1187             :                         /* We didn't get it above, and the token is not needed after this. */
    1188        2274 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1189             :                 }
    1190        2274 :                 switch (level) {
    1191        2274 :                         case 0:
    1192        2274 :                                 if (r->info0) {
    1193        2274 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1194        2274 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    1195        2274 :                                         NDR_CHECK(ndr_pull_smbXsrv_connection_pass0(ndr, NDR_SCALARS, r->info0));
    1196        2274 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    1197             :                                 }
    1198        2170 :                         break;
    1199             : 
    1200           0 :                         default:
    1201           0 :                                 if (r->dummy) {
    1202           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1203           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    1204           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    1205           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    1206             :                                 }
    1207           0 :                         break;
    1208             : 
    1209             :                 }
    1210             :         }
    1211        4340 :         return NDR_ERR_SUCCESS;
    1212             : }
    1213             : 
    1214           0 : _PUBLIC_ void ndr_print_smbXsrv_connection_passU(struct ndr_print *ndr, const char *name, const union smbXsrv_connection_passU *r)
    1215             : {
    1216           0 :         uint32_t level;
    1217           0 :         level = ndr_print_steal_switch_value(ndr, r);
    1218           0 :         ndr_print_union(ndr, name, level, "smbXsrv_connection_passU");
    1219           0 :         switch (level) {
    1220           0 :                 case 0:
    1221           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    1222           0 :                         ndr->depth++;
    1223           0 :                         if (r->info0) {
    1224           0 :                                 ndr_print_smbXsrv_connection_pass0(ndr, "info0", r->info0);
    1225             :                         }
    1226           0 :                         ndr->depth--;
    1227           0 :                 break;
    1228             : 
    1229           0 :                 default:
    1230           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    1231           0 :                         ndr->depth++;
    1232           0 :                         if (r->dummy) {
    1233           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    1234             :                         }
    1235           0 :                         ndr->depth--;
    1236           0 :                 break;
    1237             : 
    1238             :         }
    1239           0 : }
    1240             : 
    1241        2274 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_connection_passB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_connection_passB *r)
    1242             : {
    1243        2274 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1244        2274 :         if (ndr_flags & NDR_SCALARS) {
    1245        2274 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1246        2378 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    1247        2274 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    1248        2274 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    1249        2274 :                 NDR_CHECK(ndr_push_smbXsrv_connection_passU(ndr, NDR_SCALARS, &r->info));
    1250        2274 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1251             :         }
    1252        2274 :         if (ndr_flags & NDR_BUFFERS) {
    1253        2274 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    1254        2274 :                 NDR_CHECK(ndr_push_smbXsrv_connection_passU(ndr, NDR_BUFFERS, &r->info));
    1255             :         }
    1256        2170 :         return NDR_ERR_SUCCESS;
    1257             : }
    1258             : 
    1259        2274 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_connection_passB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_connection_passB *r)
    1260             : {
    1261        2274 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1262        2274 :         if (ndr_flags & NDR_SCALARS) {
    1263        2274 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1264        2378 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    1265        2274 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    1266        2274 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    1267        2274 :                 NDR_CHECK(ndr_pull_smbXsrv_connection_passU(ndr, NDR_SCALARS, &r->info));
    1268        2274 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1269             :         }
    1270        2274 :         if (ndr_flags & NDR_BUFFERS) {
    1271        2274 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    1272        2274 :                 NDR_CHECK(ndr_pull_smbXsrv_connection_passU(ndr, NDR_BUFFERS, &r->info));
    1273             :         }
    1274        2170 :         return NDR_ERR_SUCCESS;
    1275             : }
    1276             : 
    1277           0 : static void ndr_print_flags_smbXsrv_connection_passB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_connection_passB *r)
    1278             : {
    1279           0 :         ndr_print_smbXsrv_connection_passB(ndr, name, r);
    1280           0 : }
    1281             : 
    1282           0 : _PUBLIC_ void ndr_print_smbXsrv_connection_passB(struct ndr_print *ndr, const char *name, const struct smbXsrv_connection_passB *r)
    1283             : {
    1284           0 :         ndr_print_struct(ndr, name, "smbXsrv_connection_passB");
    1285           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1286           0 :         ndr->depth++;
    1287           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    1288           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    1289           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    1290           0 :         ndr_print_smbXsrv_connection_passU(ndr, "info", &r->info);
    1291           0 :         ndr->depth--;
    1292             : }
    1293             : 
    1294           0 : static enum ndr_err_code ndr_push_smbXsrv_connection_drop0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_connection_drop0 *r)
    1295             : {
    1296           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1297           0 :         if (ndr_flags & NDR_SCALARS) {
    1298           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1299           0 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->client_guid));
    1300           0 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->src_server_id));
    1301           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->xconn_connect_time));
    1302           0 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->dst_server_id));
    1303           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->client_connect_time));
    1304           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1305             :         }
    1306           0 :         if (ndr_flags & NDR_BUFFERS) {
    1307           0 :         }
    1308           0 :         return NDR_ERR_SUCCESS;
    1309             : }
    1310             : 
    1311           0 : static enum ndr_err_code ndr_pull_smbXsrv_connection_drop0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_connection_drop0 *r)
    1312             : {
    1313           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1314           0 :         if (ndr_flags & NDR_SCALARS) {
    1315           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1316           0 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->client_guid));
    1317           0 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->src_server_id));
    1318           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->xconn_connect_time));
    1319           0 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->dst_server_id));
    1320           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->client_connect_time));
    1321           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1322             :         }
    1323           0 :         if (ndr_flags & NDR_BUFFERS) {
    1324           0 :         }
    1325           0 :         return NDR_ERR_SUCCESS;
    1326             : }
    1327             : 
    1328           0 : _PUBLIC_ void ndr_print_smbXsrv_connection_drop0(struct ndr_print *ndr, const char *name, const struct smbXsrv_connection_drop0 *r)
    1329             : {
    1330           0 :         ndr_print_struct(ndr, name, "smbXsrv_connection_drop0");
    1331           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1332           0 :         ndr->depth++;
    1333           0 :         ndr_print_GUID(ndr, "client_guid", &r->client_guid);
    1334           0 :         ndr_print_server_id(ndr, "src_server_id", &r->src_server_id);
    1335           0 :         ndr_print_NTTIME(ndr, "xconn_connect_time", r->xconn_connect_time);
    1336           0 :         ndr_print_server_id(ndr, "dst_server_id", &r->dst_server_id);
    1337           0 :         ndr_print_NTTIME(ndr, "client_connect_time", r->client_connect_time);
    1338           0 :         ndr->depth--;
    1339             : }
    1340             : 
    1341           0 : static enum ndr_err_code ndr_push_smbXsrv_connection_dropU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_connection_dropU *r)
    1342             : {
    1343           0 :         uint32_t level;
    1344           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1345           0 :         if (ndr_flags & NDR_SCALARS) {
    1346             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1347           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1348           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1349           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    1350           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1351           0 :                 switch (level) {
    1352           0 :                         case 0: {
    1353           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    1354           0 :                         break; }
    1355             : 
    1356           0 :                         default: {
    1357           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    1358           0 :                         break; }
    1359             : 
    1360             :                 }
    1361             :         }
    1362           0 :         if (ndr_flags & NDR_BUFFERS) {
    1363           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1364             :                         /* We didn't get it above, and the token is not needed after this. */
    1365           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1366             :                 }
    1367           0 :                 switch (level) {
    1368           0 :                         case 0:
    1369           0 :                                 if (r->info0) {
    1370           0 :                                         NDR_CHECK(ndr_push_smbXsrv_connection_drop0(ndr, NDR_SCALARS, r->info0));
    1371             :                                 }
    1372           0 :                         break;
    1373             : 
    1374           0 :                         default:
    1375           0 :                                 if (r->dummy) {
    1376           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    1377             :                                 }
    1378           0 :                         break;
    1379             : 
    1380             :                 }
    1381             :         }
    1382           0 :         return NDR_ERR_SUCCESS;
    1383             : }
    1384             : 
    1385           0 : static enum ndr_err_code ndr_pull_smbXsrv_connection_dropU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_connection_dropU *r)
    1386             : {
    1387           0 :         uint32_t level;
    1388           0 :         uint32_t _level;
    1389           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    1390           0 :         uint32_t _ptr_info0;
    1391           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    1392           0 :         uint32_t _ptr_dummy;
    1393           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1394           0 :         if (ndr_flags & NDR_SCALARS) {
    1395             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1396           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1397           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1398           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    1399           0 :                 if (_level != level) {
    1400           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    1401             :                 }
    1402           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1403           0 :                 switch (level) {
    1404           0 :                         case 0: {
    1405           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    1406           0 :                                 if (_ptr_info0) {
    1407           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    1408             :                                 } else {
    1409           0 :                                         r->info0 = NULL;
    1410             :                                 }
    1411           0 :                         break; }
    1412             : 
    1413           0 :                         default: {
    1414           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    1415           0 :                                 if (_ptr_dummy) {
    1416           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    1417             :                                 } else {
    1418           0 :                                         r->dummy = NULL;
    1419             :                                 }
    1420           0 :                         break; }
    1421             : 
    1422             :                 }
    1423             :         }
    1424           0 :         if (ndr_flags & NDR_BUFFERS) {
    1425           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1426             :                         /* We didn't get it above, and the token is not needed after this. */
    1427           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1428             :                 }
    1429           0 :                 switch (level) {
    1430           0 :                         case 0:
    1431           0 :                                 if (r->info0) {
    1432           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1433           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    1434           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_connection_drop0(ndr, NDR_SCALARS, r->info0));
    1435           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    1436             :                                 }
    1437           0 :                         break;
    1438             : 
    1439           0 :                         default:
    1440           0 :                                 if (r->dummy) {
    1441           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1442           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    1443           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    1444           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    1445             :                                 }
    1446           0 :                         break;
    1447             : 
    1448             :                 }
    1449             :         }
    1450           0 :         return NDR_ERR_SUCCESS;
    1451             : }
    1452             : 
    1453           0 : _PUBLIC_ void ndr_print_smbXsrv_connection_dropU(struct ndr_print *ndr, const char *name, const union smbXsrv_connection_dropU *r)
    1454             : {
    1455           0 :         uint32_t level;
    1456           0 :         level = ndr_print_steal_switch_value(ndr, r);
    1457           0 :         ndr_print_union(ndr, name, level, "smbXsrv_connection_dropU");
    1458           0 :         switch (level) {
    1459           0 :                 case 0:
    1460           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    1461           0 :                         ndr->depth++;
    1462           0 :                         if (r->info0) {
    1463           0 :                                 ndr_print_smbXsrv_connection_drop0(ndr, "info0", r->info0);
    1464             :                         }
    1465           0 :                         ndr->depth--;
    1466           0 :                 break;
    1467             : 
    1468           0 :                 default:
    1469           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    1470           0 :                         ndr->depth++;
    1471           0 :                         if (r->dummy) {
    1472           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    1473             :                         }
    1474           0 :                         ndr->depth--;
    1475           0 :                 break;
    1476             : 
    1477             :         }
    1478           0 : }
    1479             : 
    1480           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_connection_dropB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_connection_dropB *r)
    1481             : {
    1482           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1483           0 :         if (ndr_flags & NDR_SCALARS) {
    1484           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    1485           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    1486           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    1487           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    1488           0 :                 NDR_CHECK(ndr_push_smbXsrv_connection_dropU(ndr, NDR_SCALARS, &r->info));
    1489           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    1490             :         }
    1491           0 :         if (ndr_flags & NDR_BUFFERS) {
    1492           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    1493           0 :                 NDR_CHECK(ndr_push_smbXsrv_connection_dropU(ndr, NDR_BUFFERS, &r->info));
    1494             :         }
    1495           0 :         return NDR_ERR_SUCCESS;
    1496             : }
    1497             : 
    1498           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_connection_dropB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_connection_dropB *r)
    1499             : {
    1500           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1501           0 :         if (ndr_flags & NDR_SCALARS) {
    1502           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    1503           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    1504           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    1505           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    1506           0 :                 NDR_CHECK(ndr_pull_smbXsrv_connection_dropU(ndr, NDR_SCALARS, &r->info));
    1507           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    1508             :         }
    1509           0 :         if (ndr_flags & NDR_BUFFERS) {
    1510           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    1511           0 :                 NDR_CHECK(ndr_pull_smbXsrv_connection_dropU(ndr, NDR_BUFFERS, &r->info));
    1512             :         }
    1513           0 :         return NDR_ERR_SUCCESS;
    1514             : }
    1515             : 
    1516           0 : static void ndr_print_flags_smbXsrv_connection_dropB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_connection_dropB *r)
    1517             : {
    1518           0 :         ndr_print_smbXsrv_connection_dropB(ndr, name, r);
    1519           0 : }
    1520             : 
    1521           0 : _PUBLIC_ void ndr_print_smbXsrv_connection_dropB(struct ndr_print *ndr, const char *name, const struct smbXsrv_connection_dropB *r)
    1522             : {
    1523           0 :         ndr_print_struct(ndr, name, "smbXsrv_connection_dropB");
    1524           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1525           0 :         ndr->depth++;
    1526           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    1527           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    1528           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    1529           0 :         ndr_print_smbXsrv_connection_dropU(ndr, "info", &r->info);
    1530           0 :         ndr->depth--;
    1531             : }
    1532             : 
    1533      258574 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_encrpytion_flags(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint8_t r)
    1534             : {
    1535      258574 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
    1536      253853 :         return NDR_ERR_SUCCESS;
    1537             : }
    1538             : 
    1539        1448 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_encrpytion_flags(struct ndr_pull *ndr, ndr_flags_type ndr_flags, uint8_t *r)
    1540             : {
    1541         209 :         uint8_t v;
    1542        1448 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
    1543        1448 :         *r = v;
    1544        1448 :         return NDR_ERR_SUCCESS;
    1545             : }
    1546             : 
    1547           0 : _PUBLIC_ void ndr_print_smbXsrv_encrpytion_flags(struct ndr_print *ndr, const char *name, uint8_t r)
    1548             : {
    1549           0 :         ndr_print_uint8(ndr, name, r);
    1550           0 :         ndr->depth++;
    1551           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_ENCRYPTION_REQUIRED", SMBXSRV_ENCRYPTION_REQUIRED, r);
    1552           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_ENCRYPTION_DESIRED", SMBXSRV_ENCRYPTION_DESIRED, r);
    1553           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_PROCESSED_ENCRYPTED_PACKET", SMBXSRV_PROCESSED_ENCRYPTED_PACKET, r);
    1554           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_PROCESSED_UNENCRYPTED_PACKET", SMBXSRV_PROCESSED_UNENCRYPTED_PACKET, r);
    1555           0 :         ndr->depth--;
    1556           0 : }
    1557             : 
    1558      258574 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_signing_flags(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint8_t r)
    1559             : {
    1560      258574 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
    1561      253853 :         return NDR_ERR_SUCCESS;
    1562             : }
    1563             : 
    1564        1448 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_signing_flags(struct ndr_pull *ndr, ndr_flags_type ndr_flags, uint8_t *r)
    1565             : {
    1566         209 :         uint8_t v;
    1567        1448 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
    1568        1448 :         *r = v;
    1569        1448 :         return NDR_ERR_SUCCESS;
    1570             : }
    1571             : 
    1572           0 : _PUBLIC_ void ndr_print_smbXsrv_signing_flags(struct ndr_print *ndr, const char *name, uint8_t r)
    1573             : {
    1574           0 :         ndr_print_uint8(ndr, name, r);
    1575           0 :         ndr->depth++;
    1576           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_SIGNING_REQUIRED", SMBXSRV_SIGNING_REQUIRED, r);
    1577           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_PROCESSED_SIGNED_PACKET", SMBXSRV_PROCESSED_SIGNED_PACKET, r);
    1578           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_PROCESSED_UNSIGNED_PACKET", SMBXSRV_PROCESSED_UNSIGNED_PACKET, r);
    1579           0 :         ndr->depth--;
    1580           0 : }
    1581             : 
    1582      406195 : static enum ndr_err_code ndr_push_smbXsrv_channel_global0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_channel_global0 *r)
    1583             : {
    1584      406195 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1585      406195 :         if (ndr_flags & NDR_SCALARS) {
    1586      204798 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1587      204798 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
    1588      204798 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->channel_id));
    1589      204798 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->creation_time));
    1590      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local_address, CH_UTF8)));
    1591      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1592      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local_address, CH_UTF8)));
    1593      204798 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->local_address, ndr_charset_length(r->local_address, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    1594      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_address, CH_UTF8)));
    1595      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1596      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_address, CH_UTF8)));
    1597      204798 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_address, ndr_charset_length(r->remote_address, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    1598      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_name, CH_UTF8)));
    1599      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1600      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_name, CH_UTF8)));
    1601      204798 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_name, ndr_charset_length(r->remote_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    1602      204798 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signing_key_blob));
    1603      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1604             :                 /* [ignore] 'signing_key' */
    1605      204798 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_session_info_seqnum));
    1606      204798 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1607             :                 /* [ignore] 'connection' */
    1608      204798 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->signing_algo));
    1609      204798 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->encryption_cipher));
    1610      204798 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1611             :         }
    1612      406195 :         if (ndr_flags & NDR_BUFFERS) {
    1613             :                 /* [ignore] 'signing_key' */
    1614             :                 /* [ignore] 'connection' */
    1615        3401 :         }
    1616      406195 :         return NDR_ERR_SUCCESS;
    1617             : }
    1618             : 
    1619        2534 : static enum ndr_err_code ndr_pull_smbXsrv_channel_global0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_channel_global0 *r)
    1620             : {
    1621        2534 :         uint32_t size_local_address_0 = 0;
    1622        2534 :         uint32_t length_local_address_0 = 0;
    1623        2534 :         uint32_t size_remote_address_0 = 0;
    1624        2534 :         uint32_t length_remote_address_0 = 0;
    1625        2534 :         uint32_t size_remote_name_0 = 0;
    1626        2534 :         uint32_t length_remote_name_0 = 0;
    1627         418 :         uint32_t _ptr_signing_key;
    1628         418 :         uint32_t _ptr_connection;
    1629        2534 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1630        2534 :         if (ndr_flags & NDR_SCALARS) {
    1631        1267 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1632        1267 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
    1633        1267 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->channel_id));
    1634        1267 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->creation_time));
    1635        1267 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->local_address));
    1636        1267 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->local_address));
    1637        1267 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->local_address, &size_local_address_0));
    1638        1267 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->local_address, &length_local_address_0));
    1639        1267 :                 if (length_local_address_0 > size_local_address_0) {
    1640           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_local_address_0, length_local_address_0);
    1641             :                 }
    1642        1267 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_local_address_0, sizeof(uint8_t)));
    1643        1267 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local_address, length_local_address_0, sizeof(uint8_t), CH_UTF8));
    1644        1267 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_address));
    1645        1267 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_address));
    1646        1267 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_address, &size_remote_address_0));
    1647        1267 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_address, &length_remote_address_0));
    1648        1267 :                 if (length_remote_address_0 > size_remote_address_0) {
    1649           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_remote_address_0, length_remote_address_0);
    1650             :                 }
    1651        1267 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_address_0, sizeof(uint8_t)));
    1652        1267 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_address, length_remote_address_0, sizeof(uint8_t), CH_UTF8));
    1653        1267 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_name));
    1654        1267 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_name));
    1655        1267 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_name, &size_remote_name_0));
    1656        1267 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_name, &length_remote_name_0));
    1657        1267 :                 if (length_remote_name_0 > size_remote_name_0) {
    1658           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_remote_name_0, length_remote_name_0);
    1659             :                 }
    1660        1267 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_name_0, sizeof(uint8_t)));
    1661        1267 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_name, length_remote_name_0, sizeof(uint8_t), CH_UTF8));
    1662        1267 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signing_key_blob));
    1663        1267 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_signing_key));
    1664        1267 :                 _ptr_signing_key = 0;
    1665        1267 :                 if (_ptr_signing_key) {
    1666             :                 } else {
    1667        1267 :                         r->signing_key = NULL;
    1668             :                 }
    1669             :                 /* [ignore] 'signing_key' */
    1670        1267 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_session_info_seqnum));
    1671        1267 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_connection));
    1672        1267 :                 _ptr_connection = 0;
    1673        1267 :                 if (_ptr_connection) {
    1674             :                 } else {
    1675        1267 :                         r->connection = NULL;
    1676             :                 }
    1677             :                 /* [ignore] 'connection' */
    1678        1267 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->signing_algo));
    1679        1267 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->encryption_cipher));
    1680        1267 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1681             :         }
    1682        2534 :         if (ndr_flags & NDR_BUFFERS) {
    1683             :                 /* [ignore] 'signing_key' */
    1684             :                 /* [ignore] 'connection' */
    1685         418 :         }
    1686        2534 :         return NDR_ERR_SUCCESS;
    1687             : }
    1688             : 
    1689           0 : _PUBLIC_ void ndr_print_smbXsrv_channel_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_channel_global0 *r)
    1690             : {
    1691           0 :         ndr_print_struct(ndr, name, "smbXsrv_channel_global0");
    1692           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1693           0 :         ndr->depth++;
    1694           0 :         ndr_print_server_id(ndr, "server_id", &r->server_id);
    1695           0 :         ndr_print_hyper(ndr, "channel_id", r->channel_id);
    1696           0 :         ndr_print_NTTIME(ndr, "creation_time", r->creation_time);
    1697           0 :         ndr_print_string(ndr, "local_address", r->local_address);
    1698           0 :         ndr_print_string(ndr, "remote_address", r->remote_address);
    1699           0 :         ndr_print_string(ndr, "remote_name", r->remote_name);
    1700           0 :         ndr_print_ptr(ndr, "signing_key", r->signing_key);
    1701             :         /* [ignore] 'signing_key' */
    1702           0 :         ndr_print_uint32(ndr, "auth_session_info_seqnum", r->auth_session_info_seqnum);
    1703           0 :         ndr_print_ptr(ndr, "connection", r->connection);
    1704             :         /* [ignore] 'connection' */
    1705           0 :         ndr_print_uint16(ndr, "signing_algo", r->signing_algo);
    1706           0 :         ndr_print_uint16(ndr, "encryption_cipher", r->encryption_cipher);
    1707           0 :         ndr->depth--;
    1708             : }
    1709             : 
    1710      163382 : static enum ndr_err_code ndr_push_smbXsrv_session_global0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_session_global0 *r)
    1711             : {
    1712        3327 :         uint32_t cntr_channels_0;
    1713      163382 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1714      163382 :         if (ndr_flags & NDR_SCALARS) {
    1715      163382 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1716      163382 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1717             :                 /* [ignore] 'db_rec' */
    1718      163382 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_global_id));
    1719      163382 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->session_wire_id));
    1720      163382 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->creation_time));
    1721      163382 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->expiration_time));
    1722      163382 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auth_time));
    1723      163382 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_session_info_seqnum));
    1724      163382 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth_session_info));
    1725      163382 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->connection_dialect));
    1726      163382 :                 NDR_CHECK(ndr_push_smbXsrv_signing_flags(ndr, NDR_SCALARS, r->signing_flags));
    1727      163382 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->signing_algo));
    1728      163382 :                 NDR_CHECK(ndr_push_smbXsrv_encrpytion_flags(ndr, NDR_SCALARS, r->encryption_flags));
    1729      163382 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->encryption_cipher));
    1730      163382 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signing_key_blob));
    1731      163382 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1732             :                 /* [ignore] 'signing_key' */
    1733      163382 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->encryption_key_blob));
    1734      163382 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1735             :                 /* [ignore] 'encryption_key' */
    1736      163382 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->decryption_key_blob));
    1737      163382 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1738             :                 /* [ignore] 'decryption_key' */
    1739      163382 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->application_key_blob));
    1740      163382 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1741             :                 /* [ignore] 'application_key' */
    1742      163382 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_channels));
    1743      368180 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (r->num_channels); cntr_channels_0++) {
    1744      204798 :                         NDR_CHECK(ndr_push_smbXsrv_channel_global0(ndr, NDR_SCALARS, &r->channels[cntr_channels_0]));
    1745             :                 }
    1746      163382 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1747             :         }
    1748      163382 :         if (ndr_flags & NDR_BUFFERS) {
    1749             :                 /* [ignore] 'db_rec' */
    1750      163382 :                 if (r->auth_session_info) {
    1751       62747 :                         NDR_CHECK(ndr_push_auth_session_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->auth_session_info));
    1752             :                 }
    1753             :                 /* [ignore] 'signing_key' */
    1754             :                 /* [ignore] 'encryption_key' */
    1755             :                 /* [ignore] 'decryption_key' */
    1756             :                 /* [ignore] 'application_key' */
    1757      368180 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (r->num_channels); cntr_channels_0++) {
    1758      204798 :                         NDR_CHECK(ndr_push_smbXsrv_channel_global0(ndr, NDR_BUFFERS, &r->channels[cntr_channels_0]));
    1759             :                 }
    1760             :         }
    1761      160055 :         return NDR_ERR_SUCCESS;
    1762             : }
    1763             : 
    1764        1259 : static enum ndr_err_code ndr_pull_smbXsrv_session_global0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_global0 *r)
    1765             : {
    1766         209 :         uint32_t _ptr_db_rec;
    1767         209 :         uint32_t _ptr_auth_session_info;
    1768        1259 :         TALLOC_CTX *_mem_save_auth_session_info_0 = NULL;
    1769         209 :         uint32_t _ptr_signing_key;
    1770         209 :         uint32_t _ptr_encryption_key;
    1771         209 :         uint32_t _ptr_decryption_key;
    1772         209 :         uint32_t _ptr_application_key;
    1773        1259 :         uint32_t size_channels_0 = 0;
    1774         209 :         uint32_t cntr_channels_0;
    1775        1259 :         TALLOC_CTX *_mem_save_channels_0 = NULL;
    1776        1259 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1777        1259 :         if (ndr_flags & NDR_SCALARS) {
    1778        1259 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1779        1259 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
    1780        1259 :                 _ptr_db_rec = 0;
    1781        1259 :                 if (_ptr_db_rec) {
    1782             :                 } else {
    1783        1259 :                         r->db_rec = NULL;
    1784             :                 }
    1785             :                 /* [ignore] 'db_rec' */
    1786        1259 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_global_id));
    1787        1259 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->session_wire_id));
    1788        1259 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->creation_time));
    1789        1259 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->expiration_time));
    1790        1259 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auth_time));
    1791        1259 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_session_info_seqnum));
    1792        1259 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth_session_info));
    1793        1259 :                 if (_ptr_auth_session_info) {
    1794        1257 :                         NDR_PULL_ALLOC(ndr, r->auth_session_info);
    1795             :                 } else {
    1796           2 :                         r->auth_session_info = NULL;
    1797             :                 }
    1798        1259 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->connection_dialect));
    1799        1259 :                 NDR_CHECK(ndr_pull_smbXsrv_signing_flags(ndr, NDR_SCALARS, &r->signing_flags));
    1800        1259 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->signing_algo));
    1801        1259 :                 NDR_CHECK(ndr_pull_smbXsrv_encrpytion_flags(ndr, NDR_SCALARS, &r->encryption_flags));
    1802        1259 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->encryption_cipher));
    1803        1259 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signing_key_blob));
    1804        1259 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_signing_key));
    1805        1259 :                 _ptr_signing_key = 0;
    1806        1259 :                 if (_ptr_signing_key) {
    1807             :                 } else {
    1808        1259 :                         r->signing_key = NULL;
    1809             :                 }
    1810             :                 /* [ignore] 'signing_key' */
    1811        1259 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->encryption_key_blob));
    1812        1259 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_encryption_key));
    1813        1259 :                 _ptr_encryption_key = 0;
    1814        1259 :                 if (_ptr_encryption_key) {
    1815             :                 } else {
    1816        1259 :                         r->encryption_key = NULL;
    1817             :                 }
    1818             :                 /* [ignore] 'encryption_key' */
    1819        1259 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->decryption_key_blob));
    1820        1259 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_decryption_key));
    1821        1259 :                 _ptr_decryption_key = 0;
    1822        1259 :                 if (_ptr_decryption_key) {
    1823             :                 } else {
    1824        1259 :                         r->decryption_key = NULL;
    1825             :                 }
    1826             :                 /* [ignore] 'decryption_key' */
    1827        1259 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->application_key_blob));
    1828        1259 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_application_key));
    1829        1259 :                 _ptr_application_key = 0;
    1830        1259 :                 if (_ptr_application_key) {
    1831             :                 } else {
    1832        1259 :                         r->application_key = NULL;
    1833             :                 }
    1834             :                 /* [ignore] 'application_key' */
    1835        1259 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_channels));
    1836        1259 :                 if (r->num_channels < 1 || r->num_channels > 1024) {
    1837           0 :                         return ndr_pull_error(ndr, NDR_ERR_RANGE, "value (%"PRIu32") out of range (%"PRIu32" - %"PRIu32")", (uint32_t)(r->num_channels), (uint32_t)(1), (uint32_t)(1024));
    1838             :                 }
    1839        1259 :                 size_channels_0 = r->num_channels;
    1840        1259 :                 NDR_PULL_ALLOC_N(ndr, r->channels, size_channels_0);
    1841        1259 :                 _mem_save_channels_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1842        1259 :                 NDR_PULL_SET_MEM_CTX(ndr, r->channels, 0);
    1843        2526 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (size_channels_0); cntr_channels_0++) {
    1844        1267 :                         NDR_CHECK(ndr_pull_smbXsrv_channel_global0(ndr, NDR_SCALARS, &r->channels[cntr_channels_0]));
    1845             :                 }
    1846        1259 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_channels_0, 0);
    1847        1259 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1848             :         }
    1849        1259 :         if (ndr_flags & NDR_BUFFERS) {
    1850             :                 /* [ignore] 'db_rec' */
    1851        1259 :                 if (r->auth_session_info) {
    1852        1257 :                         _mem_save_auth_session_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1853        1257 :                         NDR_PULL_SET_MEM_CTX(ndr, r->auth_session_info, 0);
    1854        1257 :                         NDR_CHECK(ndr_pull_auth_session_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->auth_session_info));
    1855        1257 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_session_info_0, 0);
    1856             :                 }
    1857             :                 /* [ignore] 'signing_key' */
    1858             :                 /* [ignore] 'encryption_key' */
    1859             :                 /* [ignore] 'decryption_key' */
    1860             :                 /* [ignore] 'application_key' */
    1861        1259 :                 size_channels_0 = r->num_channels;
    1862        1259 :                 _mem_save_channels_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1863        1259 :                 NDR_PULL_SET_MEM_CTX(ndr, r->channels, 0);
    1864        2526 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (size_channels_0); cntr_channels_0++) {
    1865        1267 :                         NDR_CHECK(ndr_pull_smbXsrv_channel_global0(ndr, NDR_BUFFERS, &r->channels[cntr_channels_0]));
    1866             :                 }
    1867        1259 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_channels_0, 0);
    1868        2317 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (size_channels_0); cntr_channels_0++) {
    1869             :                 }
    1870             :         }
    1871        1050 :         return NDR_ERR_SUCCESS;
    1872             : }
    1873             : 
    1874           0 : _PUBLIC_ void ndr_print_smbXsrv_session_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_global0 *r)
    1875             : {
    1876           0 :         uint32_t cntr_channels_0;
    1877           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_global0");
    1878           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1879           0 :         ndr->depth++;
    1880           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
    1881             :         /* [ignore] 'db_rec' */
    1882           0 :         ndr_print_uint32(ndr, "session_global_id", r->session_global_id);
    1883           0 :         ndr_print_hyper(ndr, "session_wire_id", r->session_wire_id);
    1884           0 :         ndr_print_NTTIME(ndr, "creation_time", r->creation_time);
    1885           0 :         ndr_print_NTTIME(ndr, "expiration_time", r->expiration_time);
    1886           0 :         ndr_print_NTTIME(ndr, "auth_time", r->auth_time);
    1887           0 :         ndr_print_uint32(ndr, "auth_session_info_seqnum", r->auth_session_info_seqnum);
    1888           0 :         ndr_print_ptr(ndr, "auth_session_info", r->auth_session_info);
    1889           0 :         ndr->depth++;
    1890           0 :         if (r->auth_session_info) {
    1891           0 :                 ndr_print_auth_session_info(ndr, "auth_session_info", r->auth_session_info);
    1892             :         }
    1893           0 :         ndr->depth--;
    1894           0 :         ndr_print_uint16(ndr, "connection_dialect", r->connection_dialect);
    1895           0 :         ndr_print_smbXsrv_signing_flags(ndr, "signing_flags", r->signing_flags);
    1896           0 :         ndr_print_uint16(ndr, "signing_algo", r->signing_algo);
    1897           0 :         ndr_print_smbXsrv_encrpytion_flags(ndr, "encryption_flags", r->encryption_flags);
    1898           0 :         ndr_print_uint16(ndr, "encryption_cipher", r->encryption_cipher);
    1899           0 :         ndr_print_ptr(ndr, "signing_key", r->signing_key);
    1900             :         /* [ignore] 'signing_key' */
    1901           0 :         ndr_print_ptr(ndr, "encryption_key", r->encryption_key);
    1902             :         /* [ignore] 'encryption_key' */
    1903           0 :         ndr_print_ptr(ndr, "decryption_key", r->decryption_key);
    1904             :         /* [ignore] 'decryption_key' */
    1905           0 :         ndr_print_ptr(ndr, "application_key", r->application_key);
    1906             :         /* [ignore] 'application_key' */
    1907           0 :         ndr_print_uint32(ndr, "num_channels", r->num_channels);
    1908           0 :         ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "channels", (uint32_t)(r->num_channels));
    1909           0 :         ndr->depth++;
    1910           0 :         for (cntr_channels_0 = 0; cntr_channels_0 < (r->num_channels); cntr_channels_0++) {
    1911           0 :                 ndr_print_smbXsrv_channel_global0(ndr, "channels", &r->channels[cntr_channels_0]);
    1912             :         }
    1913           0 :         ndr->depth--;
    1914           0 :         ndr->depth--;
    1915             : }
    1916             : 
    1917      326764 : static enum ndr_err_code ndr_push_smbXsrv_session_globalU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_session_globalU *r)
    1918             : {
    1919        6654 :         uint32_t level;
    1920      326764 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1921      326764 :         if (ndr_flags & NDR_SCALARS) {
    1922             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1923      163382 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1924      163382 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1925      163382 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    1926      163382 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1927      163382 :                 switch (level) {
    1928      163382 :                         case 0: {
    1929      163382 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    1930      160055 :                         break; }
    1931             : 
    1932           0 :                         default: {
    1933           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    1934           0 :                         break; }
    1935             : 
    1936             :                 }
    1937             :         }
    1938      326764 :         if (ndr_flags & NDR_BUFFERS) {
    1939      163382 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1940             :                         /* We didn't get it above, and the token is not needed after this. */
    1941      163382 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1942             :                 }
    1943      163382 :                 switch (level) {
    1944      163382 :                         case 0:
    1945      163382 :                                 if (r->info0) {
    1946      163382 :                                         NDR_CHECK(ndr_push_smbXsrv_session_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    1947             :                                 }
    1948      160055 :                         break;
    1949             : 
    1950           0 :                         default:
    1951           0 :                                 if (r->dummy) {
    1952           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    1953             :                                 }
    1954           0 :                         break;
    1955             : 
    1956             :                 }
    1957             :         }
    1958      320110 :         return NDR_ERR_SUCCESS;
    1959             : }
    1960             : 
    1961        2518 : static enum ndr_err_code ndr_pull_smbXsrv_session_globalU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_session_globalU *r)
    1962             : {
    1963         418 :         uint32_t level;
    1964         418 :         uint32_t _level;
    1965        2518 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    1966         418 :         uint32_t _ptr_info0;
    1967        2518 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    1968         418 :         uint32_t _ptr_dummy;
    1969        2518 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1970        2518 :         if (ndr_flags & NDR_SCALARS) {
    1971             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1972        1259 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1973        1259 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1974        1259 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    1975        1259 :                 if (_level != level) {
    1976           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    1977             :                 }
    1978        1259 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1979        1259 :                 switch (level) {
    1980        1259 :                         case 0: {
    1981        1259 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    1982        1259 :                                 if (_ptr_info0) {
    1983        1259 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    1984             :                                 } else {
    1985           0 :                                         r->info0 = NULL;
    1986             :                                 }
    1987        1050 :                         break; }
    1988             : 
    1989           0 :                         default: {
    1990           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    1991           0 :                                 if (_ptr_dummy) {
    1992           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    1993             :                                 } else {
    1994           0 :                                         r->dummy = NULL;
    1995             :                                 }
    1996           0 :                         break; }
    1997             : 
    1998             :                 }
    1999             :         }
    2000        2518 :         if (ndr_flags & NDR_BUFFERS) {
    2001        1259 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2002             :                         /* We didn't get it above, and the token is not needed after this. */
    2003        1259 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2004             :                 }
    2005        1259 :                 switch (level) {
    2006        1259 :                         case 0:
    2007        1259 :                                 if (r->info0) {
    2008        1259 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2009        1259 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    2010        1259 :                                         NDR_CHECK(ndr_pull_smbXsrv_session_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    2011        1259 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    2012             :                                 }
    2013        1050 :                         break;
    2014             : 
    2015           0 :                         default:
    2016           0 :                                 if (r->dummy) {
    2017           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2018           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    2019           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    2020           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    2021             :                                 }
    2022           0 :                         break;
    2023             : 
    2024             :                 }
    2025             :         }
    2026        2100 :         return NDR_ERR_SUCCESS;
    2027             : }
    2028             : 
    2029           0 : _PUBLIC_ void ndr_print_smbXsrv_session_globalU(struct ndr_print *ndr, const char *name, const union smbXsrv_session_globalU *r)
    2030             : {
    2031           0 :         uint32_t level;
    2032           0 :         level = ndr_print_steal_switch_value(ndr, r);
    2033           0 :         ndr_print_union(ndr, name, level, "smbXsrv_session_globalU");
    2034           0 :         switch (level) {
    2035           0 :                 case 0:
    2036           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    2037           0 :                         ndr->depth++;
    2038           0 :                         if (r->info0) {
    2039           0 :                                 ndr_print_smbXsrv_session_global0(ndr, "info0", r->info0);
    2040             :                         }
    2041           0 :                         ndr->depth--;
    2042           0 :                 break;
    2043             : 
    2044           0 :                 default:
    2045           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    2046           0 :                         ndr->depth++;
    2047           0 :                         if (r->dummy) {
    2048           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    2049             :                         }
    2050           0 :                         ndr->depth--;
    2051           0 :                 break;
    2052             : 
    2053             :         }
    2054           0 : }
    2055             : 
    2056      163382 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_session_globalB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_session_globalB *r)
    2057             : {
    2058      163382 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2059      163382 :         if (ndr_flags & NDR_SCALARS) {
    2060      163382 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2061      166709 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    2062      163382 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
    2063      163382 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2064      163382 :                 NDR_CHECK(ndr_push_smbXsrv_session_globalU(ndr, NDR_SCALARS, &r->info));
    2065      163382 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2066             :         }
    2067      163382 :         if (ndr_flags & NDR_BUFFERS) {
    2068      163382 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2069      163382 :                 NDR_CHECK(ndr_push_smbXsrv_session_globalU(ndr, NDR_BUFFERS, &r->info));
    2070             :         }
    2071      160055 :         return NDR_ERR_SUCCESS;
    2072             : }
    2073             : 
    2074        1259 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_session_globalB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_globalB *r)
    2075             : {
    2076        1259 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2077        1259 :         if (ndr_flags & NDR_SCALARS) {
    2078        1259 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2079        1468 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    2080        1259 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
    2081        1259 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2082        1259 :                 NDR_CHECK(ndr_pull_smbXsrv_session_globalU(ndr, NDR_SCALARS, &r->info));
    2083        1259 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2084             :         }
    2085        1259 :         if (ndr_flags & NDR_BUFFERS) {
    2086        1259 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2087        1259 :                 NDR_CHECK(ndr_pull_smbXsrv_session_globalU(ndr, NDR_BUFFERS, &r->info));
    2088             :         }
    2089        1050 :         return NDR_ERR_SUCCESS;
    2090             : }
    2091             : 
    2092           0 : static void ndr_print_flags_smbXsrv_session_globalB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_session_globalB *r)
    2093             : {
    2094           0 :         ndr_print_smbXsrv_session_globalB(ndr, name, r);
    2095           0 : }
    2096             : 
    2097           0 : _PUBLIC_ void ndr_print_smbXsrv_session_globalB(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_globalB *r)
    2098             : {
    2099           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_globalB");
    2100           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2101           0 :         ndr->depth++;
    2102           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    2103           0 :         ndr_print_uint32(ndr, "seqnum", r->seqnum);
    2104           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    2105           0 :         ndr_print_smbXsrv_session_globalU(ndr, "info", &r->info);
    2106           0 :         ndr->depth--;
    2107             : }
    2108             : 
    2109           0 : static enum ndr_err_code ndr_push_smbXsrv_session_auth0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_session_auth0 *r)
    2110             : {
    2111           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2112           0 :         if (ndr_flags & NDR_SCALARS) {
    2113           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2114           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2115             :                 /* [ignore] 'prev' */
    2116           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
    2117           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2118             :                 /* [ignore] 'session' */
    2119           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2120             :                 /* [ignore] 'connection' */
    2121           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2122             :                 /* [ignore] 'gensec' */
    2123           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2124             :                 /* [ignore] 'preauth' */
    2125           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in_flags));
    2126           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in_security_mode));
    2127           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->creation_time));
    2128           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    2129           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->channel_id));
    2130           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2131             :         }
    2132           0 :         if (ndr_flags & NDR_BUFFERS) {
    2133             :                 /* [ignore] 'prev' */
    2134           0 :                 if (r->next) {
    2135           0 :                         NDR_CHECK(ndr_push_smbXsrv_session_auth0(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
    2136             :                 }
    2137             :                 /* [ignore] 'session' */
    2138             :                 /* [ignore] 'connection' */
    2139             :                 /* [ignore] 'gensec' */
    2140             :                 /* [ignore] 'preauth' */
    2141             :         }
    2142           0 :         return NDR_ERR_SUCCESS;
    2143             : }
    2144             : 
    2145           0 : static enum ndr_err_code ndr_pull_smbXsrv_session_auth0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_auth0 *r)
    2146             : {
    2147           0 :         uint32_t _ptr_prev;
    2148           0 :         uint32_t _ptr_next;
    2149           0 :         TALLOC_CTX *_mem_save_next_0 = NULL;
    2150           0 :         uint32_t _ptr_session;
    2151           0 :         uint32_t _ptr_connection;
    2152           0 :         uint32_t _ptr_gensec;
    2153           0 :         uint32_t _ptr_preauth;
    2154           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2155           0 :         if (ndr_flags & NDR_SCALARS) {
    2156           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2157           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_prev));
    2158           0 :                 _ptr_prev = 0;
    2159           0 :                 if (_ptr_prev) {
    2160             :                 } else {
    2161           0 :                         r->prev = NULL;
    2162             :                 }
    2163             :                 /* [ignore] 'prev' */
    2164           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
    2165           0 :                 if (_ptr_next) {
    2166           0 :                         NDR_PULL_ALLOC(ndr, r->next);
    2167             :                 } else {
    2168           0 :                         r->next = NULL;
    2169             :                 }
    2170           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_session));
    2171           0 :                 _ptr_session = 0;
    2172           0 :                 if (_ptr_session) {
    2173             :                 } else {
    2174           0 :                         r->session = NULL;
    2175             :                 }
    2176             :                 /* [ignore] 'session' */
    2177           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_connection));
    2178           0 :                 _ptr_connection = 0;
    2179           0 :                 if (_ptr_connection) {
    2180             :                 } else {
    2181           0 :                         r->connection = NULL;
    2182             :                 }
    2183             :                 /* [ignore] 'connection' */
    2184           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_gensec));
    2185           0 :                 _ptr_gensec = 0;
    2186           0 :                 if (_ptr_gensec) {
    2187             :                 } else {
    2188           0 :                         r->gensec = NULL;
    2189             :                 }
    2190             :                 /* [ignore] 'gensec' */
    2191           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_preauth));
    2192           0 :                 _ptr_preauth = 0;
    2193           0 :                 if (_ptr_preauth) {
    2194             :                 } else {
    2195           0 :                         r->preauth = NULL;
    2196             :                 }
    2197             :                 /* [ignore] 'preauth' */
    2198           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in_flags));
    2199           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in_security_mode));
    2200           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->creation_time));
    2201           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    2202           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->channel_id));
    2203           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2204             :         }
    2205           0 :         if (ndr_flags & NDR_BUFFERS) {
    2206             :                 /* [ignore] 'prev' */
    2207           0 :                 if (r->next) {
    2208           0 :                         _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2209           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
    2210           0 :                         NDR_RECURSION_CHECK(ndr, 20000);
    2211           0 :                         NDR_CHECK(ndr_pull_smbXsrv_session_auth0(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
    2212           0 :                         NDR_RECURSION_UNWIND(ndr);
    2213           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
    2214             :                 }
    2215             :                 /* [ignore] 'session' */
    2216             :                 /* [ignore] 'connection' */
    2217             :                 /* [ignore] 'gensec' */
    2218             :                 /* [ignore] 'preauth' */
    2219             :         }
    2220           0 :         return NDR_ERR_SUCCESS;
    2221             : }
    2222             : 
    2223           0 : _PUBLIC_ void ndr_print_smbXsrv_session_auth0(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_auth0 *r)
    2224             : {
    2225           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_auth0");
    2226           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2227           0 :         ndr->depth++;
    2228           0 :         ndr_print_ptr(ndr, "prev", r->prev);
    2229             :         /* [ignore] 'prev' */
    2230           0 :         ndr_print_ptr(ndr, "next", r->next);
    2231           0 :         ndr->depth++;
    2232           0 :         if (r->next) {
    2233           0 :                 ndr_print_smbXsrv_session_auth0(ndr, "next", r->next);
    2234             :         }
    2235           0 :         ndr->depth--;
    2236           0 :         ndr_print_ptr(ndr, "session", r->session);
    2237             :         /* [ignore] 'session' */
    2238           0 :         ndr_print_ptr(ndr, "connection", r->connection);
    2239             :         /* [ignore] 'connection' */
    2240           0 :         ndr_print_ptr(ndr, "gensec", r->gensec);
    2241             :         /* [ignore] 'gensec' */
    2242           0 :         ndr_print_ptr(ndr, "preauth", r->preauth);
    2243             :         /* [ignore] 'preauth' */
    2244           0 :         ndr_print_uint8(ndr, "in_flags", r->in_flags);
    2245           0 :         ndr_print_uint8(ndr, "in_security_mode", r->in_security_mode);
    2246           0 :         ndr_print_NTTIME(ndr, "creation_time", r->creation_time);
    2247           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    2248           0 :         ndr_print_hyper(ndr, "channel_id", r->channel_id);
    2249           0 :         ndr->depth--;
    2250             : }
    2251             : 
    2252           0 : static enum ndr_err_code ndr_push_smbXsrv_session(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_session *r)
    2253             : {
    2254           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2255           0 :         if (ndr_flags & NDR_SCALARS) {
    2256           0 :                 if (r->global == NULL) {
    2257           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2258             :                 }
    2259           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2260           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2261             :                 /* [ignore] 'table' */
    2262           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2263             :                 /* [ignore] 'db_rec' */
    2264           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2265             :                 /* [ignore] 'client' */
    2266           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->local_id));
    2267           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->global */
    2268           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
    2269           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    2270           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->nonce_high_random));
    2271           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->nonce_high_max));
    2272           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->nonce_high));
    2273           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->nonce_low));
    2274           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2275             :                 /* [ignore] 'tcon_table' */
    2276           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->homes_snum));
    2277           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pending_auth));
    2278           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2279             :         }
    2280           0 :         if (ndr_flags & NDR_BUFFERS) {
    2281             :                 /* [ignore] 'table' */
    2282             :                 /* [ignore] 'db_rec' */
    2283             :                 /* [ignore] 'client' */
    2284           0 :                 NDR_CHECK(ndr_push_smbXsrv_session_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
    2285             :                 /* [ignore] 'tcon_table' */
    2286           0 :                 if (r->pending_auth) {
    2287           0 :                         NDR_CHECK(ndr_push_smbXsrv_session_auth0(ndr, NDR_SCALARS|NDR_BUFFERS, r->pending_auth));
    2288             :                 }
    2289             :         }
    2290           0 :         return NDR_ERR_SUCCESS;
    2291             : }
    2292             : 
    2293           0 : static enum ndr_err_code ndr_pull_smbXsrv_session(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session *r)
    2294             : {
    2295           0 :         uint32_t _ptr_table;
    2296           0 :         uint32_t _ptr_db_rec;
    2297           0 :         uint32_t _ptr_client;
    2298           0 :         uint32_t _ptr_global;
    2299           0 :         TALLOC_CTX *_mem_save_global_0 = NULL;
    2300           0 :         uint32_t _ptr_tcon_table;
    2301           0 :         uint32_t _ptr_pending_auth;
    2302           0 :         TALLOC_CTX *_mem_save_pending_auth_0 = NULL;
    2303           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2304           0 :         if (ndr_flags & NDR_SCALARS) {
    2305           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2306           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_table));
    2307           0 :                 _ptr_table = 0;
    2308           0 :                 if (_ptr_table) {
    2309             :                 } else {
    2310           0 :                         r->table = NULL;
    2311             :                 }
    2312             :                 /* [ignore] 'table' */
    2313           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
    2314           0 :                 _ptr_db_rec = 0;
    2315           0 :                 if (_ptr_db_rec) {
    2316             :                 } else {
    2317           0 :                         r->db_rec = NULL;
    2318             :                 }
    2319             :                 /* [ignore] 'db_rec' */
    2320           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_client));
    2321           0 :                 _ptr_client = 0;
    2322           0 :                 if (_ptr_client) {
    2323             :                 } else {
    2324           0 :                         r->client = NULL;
    2325             :                 }
    2326             :                 /* [ignore] 'client' */
    2327           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->local_id));
    2328           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_global));
    2329           0 :                 if (_ptr_global) {
    2330           0 :                         NDR_PULL_ALLOC(ndr, r->global);
    2331             :                 } else {
    2332           0 :                         r->global = NULL;
    2333             :                 }
    2334           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
    2335           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    2336           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->nonce_high_random));
    2337           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->nonce_high_max));
    2338           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->nonce_high));
    2339           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->nonce_low));
    2340           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_tcon_table));
    2341           0 :                 _ptr_tcon_table = 0;
    2342           0 :                 if (_ptr_tcon_table) {
    2343             :                 } else {
    2344           0 :                         r->tcon_table = NULL;
    2345             :                 }
    2346             :                 /* [ignore] 'tcon_table' */
    2347           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->homes_snum));
    2348           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pending_auth));
    2349           0 :                 if (_ptr_pending_auth) {
    2350           0 :                         NDR_PULL_ALLOC(ndr, r->pending_auth);
    2351             :                 } else {
    2352           0 :                         r->pending_auth = NULL;
    2353             :                 }
    2354           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2355             :         }
    2356           0 :         if (ndr_flags & NDR_BUFFERS) {
    2357             :                 /* [ignore] 'table' */
    2358             :                 /* [ignore] 'db_rec' */
    2359             :                 /* [ignore] 'client' */
    2360           0 :                 _mem_save_global_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2361           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->global, 0);
    2362           0 :                 NDR_CHECK(ndr_pull_smbXsrv_session_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
    2363           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_global_0, 0);
    2364             :                 /* [ignore] 'tcon_table' */
    2365           0 :                 if (r->pending_auth) {
    2366           0 :                         _mem_save_pending_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2367           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->pending_auth, 0);
    2368           0 :                         NDR_CHECK(ndr_pull_smbXsrv_session_auth0(ndr, NDR_SCALARS|NDR_BUFFERS, r->pending_auth));
    2369           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pending_auth_0, 0);
    2370             :                 }
    2371             :         }
    2372           0 :         return NDR_ERR_SUCCESS;
    2373             : }
    2374             : 
    2375           0 : _PUBLIC_ void ndr_print_smbXsrv_session(struct ndr_print *ndr, const char *name, const struct smbXsrv_session *r)
    2376             : {
    2377           0 :         ndr_print_struct(ndr, name, "smbXsrv_session");
    2378           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2379           0 :         ndr->depth++;
    2380           0 :         ndr_print_ptr(ndr, "table", r->table);
    2381             :         /* [ignore] 'table' */
    2382           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
    2383             :         /* [ignore] 'db_rec' */
    2384           0 :         ndr_print_ptr(ndr, "client", r->client);
    2385             :         /* [ignore] 'client' */
    2386           0 :         ndr_print_uint32(ndr, "local_id", r->local_id);
    2387           0 :         ndr_print_ptr(ndr, "global", r->global);
    2388           0 :         ndr->depth++;
    2389           0 :         ndr_print_smbXsrv_session_global0(ndr, "global", r->global);
    2390           0 :         ndr->depth--;
    2391           0 :         ndr_print_NTSTATUS(ndr, "status", r->status);
    2392           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    2393           0 :         ndr_print_hyper(ndr, "nonce_high_random", r->nonce_high_random);
    2394           0 :         ndr_print_hyper(ndr, "nonce_high_max", r->nonce_high_max);
    2395           0 :         ndr_print_hyper(ndr, "nonce_high", r->nonce_high);
    2396           0 :         ndr_print_hyper(ndr, "nonce_low", r->nonce_low);
    2397           0 :         ndr_print_ptr(ndr, "tcon_table", r->tcon_table);
    2398             :         /* [ignore] 'tcon_table' */
    2399           0 :         ndr_print_uint32(ndr, "homes_snum", r->homes_snum);
    2400           0 :         ndr_print_ptr(ndr, "pending_auth", r->pending_auth);
    2401           0 :         ndr->depth++;
    2402           0 :         if (r->pending_auth) {
    2403           0 :                 ndr_print_smbXsrv_session_auth0(ndr, "pending_auth", r->pending_auth);
    2404             :         }
    2405           0 :         ndr->depth--;
    2406           0 :         ndr->depth--;
    2407             : }
    2408             : 
    2409           0 : static enum ndr_err_code ndr_push_smbXsrv_sessionU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_sessionU *r)
    2410             : {
    2411           0 :         uint32_t level;
    2412           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2413           0 :         if (ndr_flags & NDR_SCALARS) {
    2414             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2415           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2416           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2417           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    2418           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2419           0 :                 switch (level) {
    2420           0 :                         case 0: {
    2421           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    2422           0 :                         break; }
    2423             : 
    2424           0 :                         default: {
    2425           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    2426           0 :                         break; }
    2427             : 
    2428             :                 }
    2429             :         }
    2430           0 :         if (ndr_flags & NDR_BUFFERS) {
    2431           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2432             :                         /* We didn't get it above, and the token is not needed after this. */
    2433           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2434             :                 }
    2435           0 :                 switch (level) {
    2436           0 :                         case 0:
    2437           0 :                                 if (r->info0) {
    2438           0 :                                         NDR_CHECK(ndr_push_smbXsrv_session(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    2439             :                                 }
    2440           0 :                         break;
    2441             : 
    2442           0 :                         default:
    2443           0 :                                 if (r->dummy) {
    2444           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    2445             :                                 }
    2446           0 :                         break;
    2447             : 
    2448             :                 }
    2449             :         }
    2450           0 :         return NDR_ERR_SUCCESS;
    2451             : }
    2452             : 
    2453           0 : static enum ndr_err_code ndr_pull_smbXsrv_sessionU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_sessionU *r)
    2454             : {
    2455           0 :         uint32_t level;
    2456           0 :         uint32_t _level;
    2457           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    2458           0 :         uint32_t _ptr_info0;
    2459           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    2460           0 :         uint32_t _ptr_dummy;
    2461           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2462           0 :         if (ndr_flags & NDR_SCALARS) {
    2463             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2464           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2465           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2466           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    2467           0 :                 if (_level != level) {
    2468           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    2469             :                 }
    2470           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2471           0 :                 switch (level) {
    2472           0 :                         case 0: {
    2473           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    2474           0 :                                 if (_ptr_info0) {
    2475           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    2476             :                                 } else {
    2477           0 :                                         r->info0 = NULL;
    2478             :                                 }
    2479           0 :                         break; }
    2480             : 
    2481           0 :                         default: {
    2482           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    2483           0 :                                 if (_ptr_dummy) {
    2484           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    2485             :                                 } else {
    2486           0 :                                         r->dummy = NULL;
    2487             :                                 }
    2488           0 :                         break; }
    2489             : 
    2490             :                 }
    2491             :         }
    2492           0 :         if (ndr_flags & NDR_BUFFERS) {
    2493           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2494             :                         /* We didn't get it above, and the token is not needed after this. */
    2495           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2496             :                 }
    2497           0 :                 switch (level) {
    2498           0 :                         case 0:
    2499           0 :                                 if (r->info0) {
    2500           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2501           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    2502           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_session(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    2503           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    2504             :                                 }
    2505           0 :                         break;
    2506             : 
    2507           0 :                         default:
    2508           0 :                                 if (r->dummy) {
    2509           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2510           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    2511           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    2512           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    2513             :                                 }
    2514           0 :                         break;
    2515             : 
    2516             :                 }
    2517             :         }
    2518           0 :         return NDR_ERR_SUCCESS;
    2519             : }
    2520             : 
    2521           0 : _PUBLIC_ void ndr_print_smbXsrv_sessionU(struct ndr_print *ndr, const char *name, const union smbXsrv_sessionU *r)
    2522             : {
    2523           0 :         uint32_t level;
    2524           0 :         level = ndr_print_steal_switch_value(ndr, r);
    2525           0 :         ndr_print_union(ndr, name, level, "smbXsrv_sessionU");
    2526           0 :         switch (level) {
    2527           0 :                 case 0:
    2528           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    2529           0 :                         ndr->depth++;
    2530           0 :                         if (r->info0) {
    2531           0 :                                 ndr_print_smbXsrv_session(ndr, "info0", r->info0);
    2532             :                         }
    2533           0 :                         ndr->depth--;
    2534           0 :                 break;
    2535             : 
    2536           0 :                 default:
    2537           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    2538           0 :                         ndr->depth++;
    2539           0 :                         if (r->dummy) {
    2540           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    2541             :                         }
    2542           0 :                         ndr->depth--;
    2543           0 :                 break;
    2544             : 
    2545             :         }
    2546           0 : }
    2547             : 
    2548           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_sessionB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_sessionB *r)
    2549             : {
    2550           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2551           0 :         if (ndr_flags & NDR_SCALARS) {
    2552           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2553           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    2554           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    2555           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2556           0 :                 NDR_CHECK(ndr_push_smbXsrv_sessionU(ndr, NDR_SCALARS, &r->info));
    2557           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2558             :         }
    2559           0 :         if (ndr_flags & NDR_BUFFERS) {
    2560           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2561           0 :                 NDR_CHECK(ndr_push_smbXsrv_sessionU(ndr, NDR_BUFFERS, &r->info));
    2562             :         }
    2563           0 :         return NDR_ERR_SUCCESS;
    2564             : }
    2565             : 
    2566           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_sessionB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_sessionB *r)
    2567             : {
    2568           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2569           0 :         if (ndr_flags & NDR_SCALARS) {
    2570           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2571           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    2572           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    2573           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2574           0 :                 NDR_CHECK(ndr_pull_smbXsrv_sessionU(ndr, NDR_SCALARS, &r->info));
    2575           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2576             :         }
    2577           0 :         if (ndr_flags & NDR_BUFFERS) {
    2578           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2579           0 :                 NDR_CHECK(ndr_pull_smbXsrv_sessionU(ndr, NDR_BUFFERS, &r->info));
    2580             :         }
    2581           0 :         return NDR_ERR_SUCCESS;
    2582             : }
    2583             : 
    2584           0 : static void ndr_print_flags_smbXsrv_sessionB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_sessionB *r)
    2585             : {
    2586           0 :         ndr_print_smbXsrv_sessionB(ndr, name, r);
    2587           0 : }
    2588             : 
    2589           0 : _PUBLIC_ void ndr_print_smbXsrv_sessionB(struct ndr_print *ndr, const char *name, const struct smbXsrv_sessionB *r)
    2590             : {
    2591           0 :         ndr_print_struct(ndr, name, "smbXsrv_sessionB");
    2592           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2593           0 :         ndr->depth++;
    2594           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    2595           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    2596           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    2597           0 :         ndr_print_smbXsrv_sessionU(ndr, "info", &r->info);
    2598           0 :         ndr->depth--;
    2599             : }
    2600             : 
    2601          56 : static enum ndr_err_code ndr_push_smbXsrv_session_close0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_session_close0 *r)
    2602             : {
    2603          56 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2604          56 :         if (ndr_flags & NDR_SCALARS) {
    2605          56 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2606          56 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->old_session_global_id));
    2607          56 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->old_session_wire_id));
    2608          56 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_creation_time));
    2609          56 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->new_session_wire_id));
    2610          56 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2611             :         }
    2612          56 :         if (ndr_flags & NDR_BUFFERS) {
    2613           4 :         }
    2614          56 :         return NDR_ERR_SUCCESS;
    2615             : }
    2616             : 
    2617          54 : static enum ndr_err_code ndr_pull_smbXsrv_session_close0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_close0 *r)
    2618             : {
    2619          54 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2620          54 :         if (ndr_flags & NDR_SCALARS) {
    2621          54 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2622          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->old_session_global_id));
    2623          54 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->old_session_wire_id));
    2624          54 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_creation_time));
    2625          54 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->new_session_wire_id));
    2626          54 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2627             :         }
    2628          54 :         if (ndr_flags & NDR_BUFFERS) {
    2629           4 :         }
    2630          54 :         return NDR_ERR_SUCCESS;
    2631             : }
    2632             : 
    2633           0 : _PUBLIC_ void ndr_print_smbXsrv_session_close0(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_close0 *r)
    2634             : {
    2635           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_close0");
    2636           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2637           0 :         ndr->depth++;
    2638           0 :         ndr_print_uint32(ndr, "old_session_global_id", r->old_session_global_id);
    2639           0 :         ndr_print_hyper(ndr, "old_session_wire_id", r->old_session_wire_id);
    2640           0 :         ndr_print_NTTIME(ndr, "old_creation_time", r->old_creation_time);
    2641           0 :         ndr_print_hyper(ndr, "new_session_wire_id", r->new_session_wire_id);
    2642           0 :         ndr->depth--;
    2643             : }
    2644             : 
    2645         112 : static enum ndr_err_code ndr_push_smbXsrv_session_closeU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_session_closeU *r)
    2646             : {
    2647           8 :         uint32_t level;
    2648         112 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2649         112 :         if (ndr_flags & NDR_SCALARS) {
    2650             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2651          56 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2652          56 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2653          56 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    2654          56 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2655          56 :                 switch (level) {
    2656          56 :                         case 0: {
    2657          56 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    2658          52 :                         break; }
    2659             : 
    2660           0 :                         default: {
    2661           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    2662           0 :                         break; }
    2663             : 
    2664             :                 }
    2665             :         }
    2666         112 :         if (ndr_flags & NDR_BUFFERS) {
    2667          56 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2668             :                         /* We didn't get it above, and the token is not needed after this. */
    2669          56 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2670             :                 }
    2671          56 :                 switch (level) {
    2672          56 :                         case 0:
    2673          56 :                                 if (r->info0) {
    2674          56 :                                         NDR_CHECK(ndr_push_smbXsrv_session_close0(ndr, NDR_SCALARS, r->info0));
    2675             :                                 }
    2676          52 :                         break;
    2677             : 
    2678           0 :                         default:
    2679           0 :                                 if (r->dummy) {
    2680           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    2681             :                                 }
    2682           0 :                         break;
    2683             : 
    2684             :                 }
    2685             :         }
    2686         104 :         return NDR_ERR_SUCCESS;
    2687             : }
    2688             : 
    2689         108 : static enum ndr_err_code ndr_pull_smbXsrv_session_closeU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_session_closeU *r)
    2690             : {
    2691           8 :         uint32_t level;
    2692           8 :         uint32_t _level;
    2693         108 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    2694           8 :         uint32_t _ptr_info0;
    2695         108 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    2696           8 :         uint32_t _ptr_dummy;
    2697         108 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2698         108 :         if (ndr_flags & NDR_SCALARS) {
    2699             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2700          54 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2701          54 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2702          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    2703          54 :                 if (_level != level) {
    2704           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    2705             :                 }
    2706          54 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2707          54 :                 switch (level) {
    2708          54 :                         case 0: {
    2709          54 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    2710          54 :                                 if (_ptr_info0) {
    2711          54 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    2712             :                                 } else {
    2713           0 :                                         r->info0 = NULL;
    2714             :                                 }
    2715          50 :                         break; }
    2716             : 
    2717           0 :                         default: {
    2718           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    2719           0 :                                 if (_ptr_dummy) {
    2720           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    2721             :                                 } else {
    2722           0 :                                         r->dummy = NULL;
    2723             :                                 }
    2724           0 :                         break; }
    2725             : 
    2726             :                 }
    2727             :         }
    2728         108 :         if (ndr_flags & NDR_BUFFERS) {
    2729          54 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2730             :                         /* We didn't get it above, and the token is not needed after this. */
    2731          54 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2732             :                 }
    2733          54 :                 switch (level) {
    2734          54 :                         case 0:
    2735          54 :                                 if (r->info0) {
    2736          54 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2737          54 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    2738          54 :                                         NDR_CHECK(ndr_pull_smbXsrv_session_close0(ndr, NDR_SCALARS, r->info0));
    2739          54 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    2740             :                                 }
    2741          50 :                         break;
    2742             : 
    2743           0 :                         default:
    2744           0 :                                 if (r->dummy) {
    2745           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2746           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    2747           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    2748           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    2749             :                                 }
    2750           0 :                         break;
    2751             : 
    2752             :                 }
    2753             :         }
    2754         100 :         return NDR_ERR_SUCCESS;
    2755             : }
    2756             : 
    2757           0 : _PUBLIC_ void ndr_print_smbXsrv_session_closeU(struct ndr_print *ndr, const char *name, const union smbXsrv_session_closeU *r)
    2758             : {
    2759           0 :         uint32_t level;
    2760           0 :         level = ndr_print_steal_switch_value(ndr, r);
    2761           0 :         ndr_print_union(ndr, name, level, "smbXsrv_session_closeU");
    2762           0 :         switch (level) {
    2763           0 :                 case 0:
    2764           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    2765           0 :                         ndr->depth++;
    2766           0 :                         if (r->info0) {
    2767           0 :                                 ndr_print_smbXsrv_session_close0(ndr, "info0", r->info0);
    2768             :                         }
    2769           0 :                         ndr->depth--;
    2770           0 :                 break;
    2771             : 
    2772           0 :                 default:
    2773           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    2774           0 :                         ndr->depth++;
    2775           0 :                         if (r->dummy) {
    2776           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    2777             :                         }
    2778           0 :                         ndr->depth--;
    2779           0 :                 break;
    2780             : 
    2781             :         }
    2782           0 : }
    2783             : 
    2784          56 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_session_closeB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_session_closeB *r)
    2785             : {
    2786          56 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2787          56 :         if (ndr_flags & NDR_SCALARS) {
    2788          56 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2789          60 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    2790          56 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    2791          56 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2792          56 :                 NDR_CHECK(ndr_push_smbXsrv_session_closeU(ndr, NDR_SCALARS, &r->info));
    2793          56 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2794             :         }
    2795          56 :         if (ndr_flags & NDR_BUFFERS) {
    2796          56 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2797          56 :                 NDR_CHECK(ndr_push_smbXsrv_session_closeU(ndr, NDR_BUFFERS, &r->info));
    2798             :         }
    2799          52 :         return NDR_ERR_SUCCESS;
    2800             : }
    2801             : 
    2802          54 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_session_closeB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_closeB *r)
    2803             : {
    2804          54 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2805          54 :         if (ndr_flags & NDR_SCALARS) {
    2806          54 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2807          58 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    2808          54 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    2809          54 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2810          54 :                 NDR_CHECK(ndr_pull_smbXsrv_session_closeU(ndr, NDR_SCALARS, &r->info));
    2811          54 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2812             :         }
    2813          54 :         if (ndr_flags & NDR_BUFFERS) {
    2814          54 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2815          54 :                 NDR_CHECK(ndr_pull_smbXsrv_session_closeU(ndr, NDR_BUFFERS, &r->info));
    2816             :         }
    2817          50 :         return NDR_ERR_SUCCESS;
    2818             : }
    2819             : 
    2820           0 : static void ndr_print_flags_smbXsrv_session_closeB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_session_closeB *r)
    2821             : {
    2822           0 :         ndr_print_smbXsrv_session_closeB(ndr, name, r);
    2823           0 : }
    2824             : 
    2825           0 : _PUBLIC_ void ndr_print_smbXsrv_session_closeB(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_closeB *r)
    2826             : {
    2827           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_closeB");
    2828           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2829           0 :         ndr->depth++;
    2830           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    2831           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    2832           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    2833           0 :         ndr_print_smbXsrv_session_closeU(ndr, "info", &r->info);
    2834           0 :         ndr->depth--;
    2835             : }
    2836             : 
    2837       95192 : static enum ndr_err_code ndr_push_smbXsrv_tcon_global0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_tcon_global0 *r)
    2838             : {
    2839       95192 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2840       95192 :         if (ndr_flags & NDR_SCALARS) {
    2841       95192 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2842       95192 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2843             :                 /* [ignore] 'db_rec' */
    2844       95192 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tcon_global_id));
    2845       95192 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tcon_wire_id));
    2846       95192 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
    2847       95192 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->creation_time));
    2848       95192 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->share_name, CH_UTF8)));
    2849       95192 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2850       95192 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->share_name, CH_UTF8)));
    2851       95192 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->share_name, ndr_charset_length(r->share_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    2852       95192 :                 NDR_CHECK(ndr_push_smbXsrv_encrpytion_flags(ndr, NDR_SCALARS, r->encryption_flags));
    2853       95192 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_global_id));
    2854       95192 :                 NDR_CHECK(ndr_push_smbXsrv_signing_flags(ndr, NDR_SCALARS, r->signing_flags));
    2855       95192 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2856             :         }
    2857       95192 :         if (ndr_flags & NDR_BUFFERS) {
    2858             :                 /* [ignore] 'db_rec' */
    2859        1394 :         }
    2860       95192 :         return NDR_ERR_SUCCESS;
    2861             : }
    2862             : 
    2863         189 : static enum ndr_err_code ndr_pull_smbXsrv_tcon_global0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_tcon_global0 *r)
    2864             : {
    2865           0 :         uint32_t _ptr_db_rec;
    2866         189 :         uint32_t size_share_name_0 = 0;
    2867         189 :         uint32_t length_share_name_0 = 0;
    2868         189 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2869         189 :         if (ndr_flags & NDR_SCALARS) {
    2870         189 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2871         189 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
    2872         189 :                 _ptr_db_rec = 0;
    2873         189 :                 if (_ptr_db_rec) {
    2874             :                 } else {
    2875         189 :                         r->db_rec = NULL;
    2876             :                 }
    2877             :                 /* [ignore] 'db_rec' */
    2878         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tcon_global_id));
    2879         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tcon_wire_id));
    2880         189 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
    2881         189 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->creation_time));
    2882         189 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->share_name));
    2883         189 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->share_name));
    2884         189 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->share_name, &size_share_name_0));
    2885         189 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->share_name, &length_share_name_0));
    2886         189 :                 if (length_share_name_0 > size_share_name_0) {
    2887           0 :                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_share_name_0, length_share_name_0);
    2888             :                 }
    2889         189 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_share_name_0, sizeof(uint8_t)));
    2890         189 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share_name, length_share_name_0, sizeof(uint8_t), CH_UTF8));
    2891         189 :                 NDR_CHECK(ndr_pull_smbXsrv_encrpytion_flags(ndr, NDR_SCALARS, &r->encryption_flags));
    2892         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_global_id));
    2893         189 :                 NDR_CHECK(ndr_pull_smbXsrv_signing_flags(ndr, NDR_SCALARS, &r->signing_flags));
    2894         189 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2895             :         }
    2896         189 :         if (ndr_flags & NDR_BUFFERS) {
    2897             :                 /* [ignore] 'db_rec' */
    2898           0 :         }
    2899         189 :         return NDR_ERR_SUCCESS;
    2900             : }
    2901             : 
    2902           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_tcon_global0 *r)
    2903             : {
    2904           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon_global0");
    2905           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2906           0 :         ndr->depth++;
    2907           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
    2908             :         /* [ignore] 'db_rec' */
    2909           0 :         ndr_print_uint32(ndr, "tcon_global_id", r->tcon_global_id);
    2910           0 :         ndr_print_uint32(ndr, "tcon_wire_id", r->tcon_wire_id);
    2911           0 :         ndr_print_server_id(ndr, "server_id", &r->server_id);
    2912           0 :         ndr_print_NTTIME(ndr, "creation_time", r->creation_time);
    2913           0 :         ndr_print_string(ndr, "share_name", r->share_name);
    2914           0 :         ndr_print_smbXsrv_encrpytion_flags(ndr, "encryption_flags", r->encryption_flags);
    2915           0 :         ndr_print_uint32(ndr, "session_global_id", r->session_global_id);
    2916           0 :         ndr_print_smbXsrv_signing_flags(ndr, "signing_flags", r->signing_flags);
    2917           0 :         ndr->depth--;
    2918             : }
    2919             : 
    2920      190384 : static enum ndr_err_code ndr_push_smbXsrv_tcon_globalU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_tcon_globalU *r)
    2921             : {
    2922        2788 :         uint32_t level;
    2923      190384 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2924      190384 :         if (ndr_flags & NDR_SCALARS) {
    2925             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2926       95192 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2927       95192 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2928       95192 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    2929       95192 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2930       95192 :                 switch (level) {
    2931       95192 :                         case 0: {
    2932       95192 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    2933       93798 :                         break; }
    2934             : 
    2935           0 :                         default: {
    2936           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    2937           0 :                         break; }
    2938             : 
    2939             :                 }
    2940             :         }
    2941      190384 :         if (ndr_flags & NDR_BUFFERS) {
    2942       95192 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2943             :                         /* We didn't get it above, and the token is not needed after this. */
    2944       95192 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2945             :                 }
    2946       95192 :                 switch (level) {
    2947       95192 :                         case 0:
    2948       95192 :                                 if (r->info0) {
    2949       95192 :                                         NDR_CHECK(ndr_push_smbXsrv_tcon_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    2950             :                                 }
    2951       93798 :                         break;
    2952             : 
    2953           0 :                         default:
    2954           0 :                                 if (r->dummy) {
    2955           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    2956             :                                 }
    2957           0 :                         break;
    2958             : 
    2959             :                 }
    2960             :         }
    2961      187596 :         return NDR_ERR_SUCCESS;
    2962             : }
    2963             : 
    2964         378 : static enum ndr_err_code ndr_pull_smbXsrv_tcon_globalU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_tcon_globalU *r)
    2965             : {
    2966           0 :         uint32_t level;
    2967           0 :         uint32_t _level;
    2968         378 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    2969           0 :         uint32_t _ptr_info0;
    2970         378 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    2971           0 :         uint32_t _ptr_dummy;
    2972         378 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2973         378 :         if (ndr_flags & NDR_SCALARS) {
    2974             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2975         189 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2976         189 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2977         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    2978         189 :                 if (_level != level) {
    2979           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    2980             :                 }
    2981         189 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2982         189 :                 switch (level) {
    2983         189 :                         case 0: {
    2984         189 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    2985         189 :                                 if (_ptr_info0) {
    2986         189 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    2987             :                                 } else {
    2988           0 :                                         r->info0 = NULL;
    2989             :                                 }
    2990         189 :                         break; }
    2991             : 
    2992           0 :                         default: {
    2993           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    2994           0 :                                 if (_ptr_dummy) {
    2995           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    2996             :                                 } else {
    2997           0 :                                         r->dummy = NULL;
    2998             :                                 }
    2999           0 :                         break; }
    3000             : 
    3001             :                 }
    3002             :         }
    3003         378 :         if (ndr_flags & NDR_BUFFERS) {
    3004         189 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3005             :                         /* We didn't get it above, and the token is not needed after this. */
    3006         189 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3007             :                 }
    3008         189 :                 switch (level) {
    3009         189 :                         case 0:
    3010         189 :                                 if (r->info0) {
    3011         189 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3012         189 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    3013         189 :                                         NDR_CHECK(ndr_pull_smbXsrv_tcon_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3014         189 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    3015             :                                 }
    3016         189 :                         break;
    3017             : 
    3018           0 :                         default:
    3019           0 :                                 if (r->dummy) {
    3020           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3021           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    3022           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    3023           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    3024             :                                 }
    3025           0 :                         break;
    3026             : 
    3027             :                 }
    3028             :         }
    3029         378 :         return NDR_ERR_SUCCESS;
    3030             : }
    3031             : 
    3032           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon_globalU(struct ndr_print *ndr, const char *name, const union smbXsrv_tcon_globalU *r)
    3033             : {
    3034           0 :         uint32_t level;
    3035           0 :         level = ndr_print_steal_switch_value(ndr, r);
    3036           0 :         ndr_print_union(ndr, name, level, "smbXsrv_tcon_globalU");
    3037           0 :         switch (level) {
    3038           0 :                 case 0:
    3039           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    3040           0 :                         ndr->depth++;
    3041           0 :                         if (r->info0) {
    3042           0 :                                 ndr_print_smbXsrv_tcon_global0(ndr, "info0", r->info0);
    3043             :                         }
    3044           0 :                         ndr->depth--;
    3045           0 :                 break;
    3046             : 
    3047           0 :                 default:
    3048           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    3049           0 :                         ndr->depth++;
    3050           0 :                         if (r->dummy) {
    3051           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    3052             :                         }
    3053           0 :                         ndr->depth--;
    3054           0 :                 break;
    3055             : 
    3056             :         }
    3057           0 : }
    3058             : 
    3059       95192 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_tcon_globalB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_tcon_globalB *r)
    3060             : {
    3061       95192 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3062       95192 :         if (ndr_flags & NDR_SCALARS) {
    3063       95192 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3064       96586 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    3065       95192 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
    3066       95192 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3067       95192 :                 NDR_CHECK(ndr_push_smbXsrv_tcon_globalU(ndr, NDR_SCALARS, &r->info));
    3068       95192 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3069             :         }
    3070       95192 :         if (ndr_flags & NDR_BUFFERS) {
    3071       95192 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3072       95192 :                 NDR_CHECK(ndr_push_smbXsrv_tcon_globalU(ndr, NDR_BUFFERS, &r->info));
    3073             :         }
    3074       93798 :         return NDR_ERR_SUCCESS;
    3075             : }
    3076             : 
    3077         189 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_tcon_globalB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_tcon_globalB *r)
    3078             : {
    3079         189 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3080         189 :         if (ndr_flags & NDR_SCALARS) {
    3081         189 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3082         189 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    3083         189 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
    3084         189 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3085         189 :                 NDR_CHECK(ndr_pull_smbXsrv_tcon_globalU(ndr, NDR_SCALARS, &r->info));
    3086         189 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3087             :         }
    3088         189 :         if (ndr_flags & NDR_BUFFERS) {
    3089         189 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3090         189 :                 NDR_CHECK(ndr_pull_smbXsrv_tcon_globalU(ndr, NDR_BUFFERS, &r->info));
    3091             :         }
    3092         189 :         return NDR_ERR_SUCCESS;
    3093             : }
    3094             : 
    3095           0 : static void ndr_print_flags_smbXsrv_tcon_globalB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_tcon_globalB *r)
    3096             : {
    3097           0 :         ndr_print_smbXsrv_tcon_globalB(ndr, name, r);
    3098           0 : }
    3099             : 
    3100           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon_globalB(struct ndr_print *ndr, const char *name, const struct smbXsrv_tcon_globalB *r)
    3101             : {
    3102           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon_globalB");
    3103           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3104           0 :         ndr->depth++;
    3105           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    3106           0 :         ndr_print_uint32(ndr, "seqnum", r->seqnum);
    3107           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    3108           0 :         ndr_print_smbXsrv_tcon_globalU(ndr, "info", &r->info);
    3109           0 :         ndr->depth--;
    3110             : }
    3111             : 
    3112           0 : static enum ndr_err_code ndr_push_smbXsrv_tcon(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_tcon *r)
    3113             : {
    3114           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3115           0 :         if (ndr_flags & NDR_SCALARS) {
    3116           0 :                 if (r->global == NULL) {
    3117           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    3118             :                 }
    3119           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3120           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3121             :                 /* [ignore] 'table' */
    3122           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3123             :                 /* [ignore] 'db_rec' */
    3124           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->local_id));
    3125           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->global */
    3126           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
    3127           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    3128           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3129             :                 /* [ignore] 'compat' */
    3130           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3131             :         }
    3132           0 :         if (ndr_flags & NDR_BUFFERS) {
    3133             :                 /* [ignore] 'table' */
    3134             :                 /* [ignore] 'db_rec' */
    3135           0 :                 NDR_CHECK(ndr_push_smbXsrv_tcon_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
    3136             :                 /* [ignore] 'compat' */
    3137             :         }
    3138           0 :         return NDR_ERR_SUCCESS;
    3139             : }
    3140             : 
    3141           0 : static enum ndr_err_code ndr_pull_smbXsrv_tcon(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_tcon *r)
    3142             : {
    3143           0 :         uint32_t _ptr_table;
    3144           0 :         uint32_t _ptr_db_rec;
    3145           0 :         uint32_t _ptr_global;
    3146           0 :         TALLOC_CTX *_mem_save_global_0 = NULL;
    3147           0 :         uint32_t _ptr_compat;
    3148           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3149           0 :         if (ndr_flags & NDR_SCALARS) {
    3150           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3151           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_table));
    3152           0 :                 _ptr_table = 0;
    3153           0 :                 if (_ptr_table) {
    3154             :                 } else {
    3155           0 :                         r->table = NULL;
    3156             :                 }
    3157             :                 /* [ignore] 'table' */
    3158           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
    3159           0 :                 _ptr_db_rec = 0;
    3160           0 :                 if (_ptr_db_rec) {
    3161             :                 } else {
    3162           0 :                         r->db_rec = NULL;
    3163             :                 }
    3164             :                 /* [ignore] 'db_rec' */
    3165           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->local_id));
    3166           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_global));
    3167           0 :                 if (_ptr_global) {
    3168           0 :                         NDR_PULL_ALLOC(ndr, r->global);
    3169             :                 } else {
    3170           0 :                         r->global = NULL;
    3171             :                 }
    3172           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
    3173           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    3174           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_compat));
    3175           0 :                 _ptr_compat = 0;
    3176           0 :                 if (_ptr_compat) {
    3177             :                 } else {
    3178           0 :                         r->compat = NULL;
    3179             :                 }
    3180             :                 /* [ignore] 'compat' */
    3181           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3182             :         }
    3183           0 :         if (ndr_flags & NDR_BUFFERS) {
    3184             :                 /* [ignore] 'table' */
    3185             :                 /* [ignore] 'db_rec' */
    3186           0 :                 _mem_save_global_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3187           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->global, 0);
    3188           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tcon_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
    3189           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_global_0, 0);
    3190             :                 /* [ignore] 'compat' */
    3191             :         }
    3192           0 :         return NDR_ERR_SUCCESS;
    3193             : }
    3194             : 
    3195           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon(struct ndr_print *ndr, const char *name, const struct smbXsrv_tcon *r)
    3196             : {
    3197           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon");
    3198           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3199           0 :         ndr->depth++;
    3200           0 :         ndr_print_ptr(ndr, "table", r->table);
    3201             :         /* [ignore] 'table' */
    3202           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
    3203             :         /* [ignore] 'db_rec' */
    3204           0 :         ndr_print_uint32(ndr, "local_id", r->local_id);
    3205           0 :         ndr_print_ptr(ndr, "global", r->global);
    3206           0 :         ndr->depth++;
    3207           0 :         ndr_print_smbXsrv_tcon_global0(ndr, "global", r->global);
    3208           0 :         ndr->depth--;
    3209           0 :         ndr_print_NTSTATUS(ndr, "status", r->status);
    3210           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    3211           0 :         ndr_print_ptr(ndr, "compat", r->compat);
    3212             :         /* [ignore] 'compat' */
    3213           0 :         ndr->depth--;
    3214             : }
    3215             : 
    3216           0 : static enum ndr_err_code ndr_push_smbXsrv_tconU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_tconU *r)
    3217             : {
    3218           0 :         uint32_t level;
    3219           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3220           0 :         if (ndr_flags & NDR_SCALARS) {
    3221             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3222           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3223           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3224           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    3225           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3226           0 :                 switch (level) {
    3227           0 :                         case 0: {
    3228           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    3229           0 :                         break; }
    3230             : 
    3231           0 :                         default: {
    3232           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    3233           0 :                         break; }
    3234             : 
    3235             :                 }
    3236             :         }
    3237           0 :         if (ndr_flags & NDR_BUFFERS) {
    3238           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3239             :                         /* We didn't get it above, and the token is not needed after this. */
    3240           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3241             :                 }
    3242           0 :                 switch (level) {
    3243           0 :                         case 0:
    3244           0 :                                 if (r->info0) {
    3245           0 :                                         NDR_CHECK(ndr_push_smbXsrv_tcon(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3246             :                                 }
    3247           0 :                         break;
    3248             : 
    3249           0 :                         default:
    3250           0 :                                 if (r->dummy) {
    3251           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    3252             :                                 }
    3253           0 :                         break;
    3254             : 
    3255             :                 }
    3256             :         }
    3257           0 :         return NDR_ERR_SUCCESS;
    3258             : }
    3259             : 
    3260           0 : static enum ndr_err_code ndr_pull_smbXsrv_tconU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_tconU *r)
    3261             : {
    3262           0 :         uint32_t level;
    3263           0 :         uint32_t _level;
    3264           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    3265           0 :         uint32_t _ptr_info0;
    3266           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    3267           0 :         uint32_t _ptr_dummy;
    3268           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3269           0 :         if (ndr_flags & NDR_SCALARS) {
    3270             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3271           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3272           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3273           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    3274           0 :                 if (_level != level) {
    3275           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    3276             :                 }
    3277           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3278           0 :                 switch (level) {
    3279           0 :                         case 0: {
    3280           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    3281           0 :                                 if (_ptr_info0) {
    3282           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    3283             :                                 } else {
    3284           0 :                                         r->info0 = NULL;
    3285             :                                 }
    3286           0 :                         break; }
    3287             : 
    3288           0 :                         default: {
    3289           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    3290           0 :                                 if (_ptr_dummy) {
    3291           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    3292             :                                 } else {
    3293           0 :                                         r->dummy = NULL;
    3294             :                                 }
    3295           0 :                         break; }
    3296             : 
    3297             :                 }
    3298             :         }
    3299           0 :         if (ndr_flags & NDR_BUFFERS) {
    3300           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3301             :                         /* We didn't get it above, and the token is not needed after this. */
    3302           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3303             :                 }
    3304           0 :                 switch (level) {
    3305           0 :                         case 0:
    3306           0 :                                 if (r->info0) {
    3307           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3308           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    3309           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_tcon(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3310           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    3311             :                                 }
    3312           0 :                         break;
    3313             : 
    3314           0 :                         default:
    3315           0 :                                 if (r->dummy) {
    3316           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3317           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    3318           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    3319           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    3320             :                                 }
    3321           0 :                         break;
    3322             : 
    3323             :                 }
    3324             :         }
    3325           0 :         return NDR_ERR_SUCCESS;
    3326             : }
    3327             : 
    3328           0 : _PUBLIC_ void ndr_print_smbXsrv_tconU(struct ndr_print *ndr, const char *name, const union smbXsrv_tconU *r)
    3329             : {
    3330           0 :         uint32_t level;
    3331           0 :         level = ndr_print_steal_switch_value(ndr, r);
    3332           0 :         ndr_print_union(ndr, name, level, "smbXsrv_tconU");
    3333           0 :         switch (level) {
    3334           0 :                 case 0:
    3335           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    3336           0 :                         ndr->depth++;
    3337           0 :                         if (r->info0) {
    3338           0 :                                 ndr_print_smbXsrv_tcon(ndr, "info0", r->info0);
    3339             :                         }
    3340           0 :                         ndr->depth--;
    3341           0 :                 break;
    3342             : 
    3343           0 :                 default:
    3344           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    3345           0 :                         ndr->depth++;
    3346           0 :                         if (r->dummy) {
    3347           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    3348             :                         }
    3349           0 :                         ndr->depth--;
    3350           0 :                 break;
    3351             : 
    3352             :         }
    3353           0 : }
    3354             : 
    3355           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_tconB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_tconB *r)
    3356             : {
    3357           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3358           0 :         if (ndr_flags & NDR_SCALARS) {
    3359           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3360           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    3361           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    3362           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3363           0 :                 NDR_CHECK(ndr_push_smbXsrv_tconU(ndr, NDR_SCALARS, &r->info));
    3364           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3365             :         }
    3366           0 :         if (ndr_flags & NDR_BUFFERS) {
    3367           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3368           0 :                 NDR_CHECK(ndr_push_smbXsrv_tconU(ndr, NDR_BUFFERS, &r->info));
    3369             :         }
    3370           0 :         return NDR_ERR_SUCCESS;
    3371             : }
    3372             : 
    3373           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_tconB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_tconB *r)
    3374             : {
    3375           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3376           0 :         if (ndr_flags & NDR_SCALARS) {
    3377           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3378           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    3379           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    3380           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3381           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tconU(ndr, NDR_SCALARS, &r->info));
    3382           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3383             :         }
    3384           0 :         if (ndr_flags & NDR_BUFFERS) {
    3385           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3386           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tconU(ndr, NDR_BUFFERS, &r->info));
    3387             :         }
    3388           0 :         return NDR_ERR_SUCCESS;
    3389             : }
    3390             : 
    3391           0 : static void ndr_print_flags_smbXsrv_tconB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_tconB *r)
    3392             : {
    3393           0 :         ndr_print_smbXsrv_tconB(ndr, name, r);
    3394           0 : }
    3395             : 
    3396           0 : _PUBLIC_ void ndr_print_smbXsrv_tconB(struct ndr_print *ndr, const char *name, const struct smbXsrv_tconB *r)
    3397             : {
    3398           0 :         ndr_print_struct(ndr, name, "smbXsrv_tconB");
    3399           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3400           0 :         ndr->depth++;
    3401           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    3402           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    3403           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    3404           0 :         ndr_print_smbXsrv_tconU(ndr, "info", &r->info);
    3405           0 :         ndr->depth--;
    3406             : }
    3407             : 
    3408           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_open_flags(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint8_t r)
    3409             : {
    3410           0 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
    3411           0 :         return NDR_ERR_SUCCESS;
    3412             : }
    3413             : 
    3414           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_open_flags(struct ndr_pull *ndr, ndr_flags_type ndr_flags, uint8_t *r)
    3415             : {
    3416           0 :         uint8_t v;
    3417           0 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
    3418           0 :         *r = v;
    3419           0 :         return NDR_ERR_SUCCESS;
    3420             : }
    3421             : 
    3422           0 : _PUBLIC_ void ndr_print_smbXsrv_open_flags(struct ndr_print *ndr, const char *name, uint8_t r)
    3423             : {
    3424           0 :         ndr_print_uint8(ndr, name, r);
    3425           0 :         ndr->depth++;
    3426           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_OPEN_NEED_REPLAY_CACHE", SMBXSRV_OPEN_NEED_REPLAY_CACHE, r);
    3427           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_OPEN_HAVE_REPLAY_CACHE", SMBXSRV_OPEN_HAVE_REPLAY_CACHE, r);
    3428           0 :         ndr->depth--;
    3429           0 : }
    3430             : 
    3431      566967 : static enum ndr_err_code ndr_push_smbXsrv_open_global0(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_open_global0 *r)
    3432             : {
    3433      566967 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3434      566967 :         if (ndr_flags & NDR_SCALARS) {
    3435      566967 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    3436      566967 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
    3437      566967 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->open_global_id));
    3438      566967 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->open_persistent_id));
    3439      566967 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->open_volatile_id));
    3440      566967 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->open_owner));
    3441      566967 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->open_time));
    3442      566967 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->create_guid));
    3443      566967 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->client_guid));
    3444      566967 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->app_instance_id));
    3445      566967 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->disconnect_time));
    3446      566967 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->durable_timeout_msec));
    3447      566967 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->durable));
    3448      566967 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->backend_cookie));
    3449      566967 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->channel_sequence));
    3450      566967 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->channel_generation));
    3451             :                 {
    3452      566967 :                         libndr_flags _flags_save_uint8 = ndr->flags;
    3453      566967 :                         ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3454      566967 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lock_sequence_array, 64));
    3455      566967 :                         ndr->flags = _flags_save_uint8;
    3456             :                 }
    3457      566967 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    3458             :         }
    3459      566967 :         if (ndr_flags & NDR_BUFFERS) {
    3460        2116 :         }
    3461      566967 :         return NDR_ERR_SUCCESS;
    3462             : }
    3463             : 
    3464         206 : static enum ndr_err_code ndr_pull_smbXsrv_open_global0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_open_global0 *r)
    3465             : {
    3466         206 :         uint32_t size_lock_sequence_array_0 = 0;
    3467         206 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3468         206 :         if (ndr_flags & NDR_SCALARS) {
    3469         206 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    3470         206 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
    3471         206 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->open_global_id));
    3472         206 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->open_persistent_id));
    3473         206 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->open_volatile_id));
    3474         206 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->open_owner));
    3475         206 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->open_time));
    3476         206 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->create_guid));
    3477         206 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->client_guid));
    3478         206 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->app_instance_id));
    3479         206 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->disconnect_time));
    3480         206 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->durable_timeout_msec));
    3481         206 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->durable));
    3482         206 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->backend_cookie));
    3483         206 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->channel_sequence));
    3484         206 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->channel_generation));
    3485             :                 {
    3486         206 :                         libndr_flags _flags_save_uint8 = ndr->flags;
    3487         206 :                         ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3488         206 :                         size_lock_sequence_array_0 = 64;
    3489         206 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lock_sequence_array, size_lock_sequence_array_0));
    3490         206 :                         ndr->flags = _flags_save_uint8;
    3491             :                 }
    3492         206 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    3493             :         }
    3494         206 :         if (ndr_flags & NDR_BUFFERS) {
    3495           0 :         }
    3496         206 :         return NDR_ERR_SUCCESS;
    3497             : }
    3498             : 
    3499           0 : _PUBLIC_ void ndr_print_smbXsrv_open_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_open_global0 *r)
    3500             : {
    3501           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_global0");
    3502           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3503           0 :         ndr->depth++;
    3504           0 :         ndr_print_server_id(ndr, "server_id", &r->server_id);
    3505           0 :         ndr_print_uint32(ndr, "open_global_id", r->open_global_id);
    3506           0 :         ndr_print_hyper(ndr, "open_persistent_id", r->open_persistent_id);
    3507           0 :         ndr_print_hyper(ndr, "open_volatile_id", r->open_volatile_id);
    3508           0 :         ndr_print_dom_sid(ndr, "open_owner", &r->open_owner);
    3509           0 :         ndr_print_NTTIME(ndr, "open_time", r->open_time);
    3510           0 :         ndr_print_GUID(ndr, "create_guid", &r->create_guid);
    3511           0 :         ndr_print_GUID(ndr, "client_guid", &r->client_guid);
    3512           0 :         ndr_print_GUID(ndr, "app_instance_id", &r->app_instance_id);
    3513           0 :         ndr_print_NTTIME(ndr, "disconnect_time", r->disconnect_time);
    3514           0 :         ndr_print_uint32(ndr, "durable_timeout_msec", r->durable_timeout_msec);
    3515           0 :         ndr_print_uint8(ndr, "durable", r->durable);
    3516           0 :         ndr_print_DATA_BLOB(ndr, "backend_cookie", r->backend_cookie);
    3517           0 :         ndr_print_uint16(ndr, "channel_sequence", r->channel_sequence);
    3518           0 :         ndr_print_hyper(ndr, "channel_generation", r->channel_generation);
    3519             :         {
    3520           0 :                 libndr_flags _flags_save_uint8 = ndr->flags;
    3521           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3522           0 :                 ndr_print_array_uint8(ndr, "lock_sequence_array", r->lock_sequence_array, 64);
    3523           0 :                 ndr->flags = _flags_save_uint8;
    3524             :         }
    3525           0 :         ndr->depth--;
    3526             : }
    3527             : 
    3528     1133934 : static enum ndr_err_code ndr_push_smbXsrv_open_globalU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_open_globalU *r)
    3529             : {
    3530        4232 :         uint32_t level;
    3531     1133934 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3532     1133934 :         if (ndr_flags & NDR_SCALARS) {
    3533             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3534      566967 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3535      566967 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3536      566967 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    3537      566967 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3538      566967 :                 switch (level) {
    3539      566967 :                         case 0: {
    3540      566967 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    3541      564851 :                         break; }
    3542             : 
    3543           0 :                         default: {
    3544           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    3545           0 :                         break; }
    3546             : 
    3547             :                 }
    3548             :         }
    3549     1133934 :         if (ndr_flags & NDR_BUFFERS) {
    3550      566967 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3551             :                         /* We didn't get it above, and the token is not needed after this. */
    3552      566967 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3553             :                 }
    3554      566967 :                 switch (level) {
    3555      566967 :                         case 0:
    3556      566967 :                                 if (r->info0) {
    3557      566967 :                                         NDR_CHECK(ndr_push_smbXsrv_open_global0(ndr, NDR_SCALARS, r->info0));
    3558             :                                 }
    3559      564851 :                         break;
    3560             : 
    3561           0 :                         default:
    3562           0 :                                 if (r->dummy) {
    3563           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    3564             :                                 }
    3565           0 :                         break;
    3566             : 
    3567             :                 }
    3568             :         }
    3569     1129702 :         return NDR_ERR_SUCCESS;
    3570             : }
    3571             : 
    3572         412 : static enum ndr_err_code ndr_pull_smbXsrv_open_globalU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_open_globalU *r)
    3573             : {
    3574           0 :         uint32_t level;
    3575           0 :         uint32_t _level;
    3576         412 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    3577           0 :         uint32_t _ptr_info0;
    3578         412 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    3579           0 :         uint32_t _ptr_dummy;
    3580         412 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3581         412 :         if (ndr_flags & NDR_SCALARS) {
    3582             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3583         206 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3584         206 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3585         206 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    3586         206 :                 if (_level != level) {
    3587           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    3588             :                 }
    3589         206 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3590         206 :                 switch (level) {
    3591         206 :                         case 0: {
    3592         206 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    3593         206 :                                 if (_ptr_info0) {
    3594         206 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    3595             :                                 } else {
    3596           0 :                                         r->info0 = NULL;
    3597             :                                 }
    3598         206 :                         break; }
    3599             : 
    3600           0 :                         default: {
    3601           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    3602           0 :                                 if (_ptr_dummy) {
    3603           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    3604             :                                 } else {
    3605           0 :                                         r->dummy = NULL;
    3606             :                                 }
    3607           0 :                         break; }
    3608             : 
    3609             :                 }
    3610             :         }
    3611         412 :         if (ndr_flags & NDR_BUFFERS) {
    3612         206 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3613             :                         /* We didn't get it above, and the token is not needed after this. */
    3614         206 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3615             :                 }
    3616         206 :                 switch (level) {
    3617         206 :                         case 0:
    3618         206 :                                 if (r->info0) {
    3619         206 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3620         206 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    3621         206 :                                         NDR_CHECK(ndr_pull_smbXsrv_open_global0(ndr, NDR_SCALARS, r->info0));
    3622         206 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    3623             :                                 }
    3624         206 :                         break;
    3625             : 
    3626           0 :                         default:
    3627           0 :                                 if (r->dummy) {
    3628           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3629           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    3630           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    3631           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    3632             :                                 }
    3633           0 :                         break;
    3634             : 
    3635             :                 }
    3636             :         }
    3637         412 :         return NDR_ERR_SUCCESS;
    3638             : }
    3639             : 
    3640           0 : _PUBLIC_ void ndr_print_smbXsrv_open_globalU(struct ndr_print *ndr, const char *name, const union smbXsrv_open_globalU *r)
    3641             : {
    3642           0 :         uint32_t level;
    3643           0 :         level = ndr_print_steal_switch_value(ndr, r);
    3644           0 :         ndr_print_union(ndr, name, level, "smbXsrv_open_globalU");
    3645           0 :         switch (level) {
    3646           0 :                 case 0:
    3647           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    3648           0 :                         ndr->depth++;
    3649           0 :                         if (r->info0) {
    3650           0 :                                 ndr_print_smbXsrv_open_global0(ndr, "info0", r->info0);
    3651             :                         }
    3652           0 :                         ndr->depth--;
    3653           0 :                 break;
    3654             : 
    3655           0 :                 default:
    3656           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    3657           0 :                         ndr->depth++;
    3658           0 :                         if (r->dummy) {
    3659           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    3660             :                         }
    3661           0 :                         ndr->depth--;
    3662           0 :                 break;
    3663             : 
    3664             :         }
    3665           0 : }
    3666             : 
    3667      566967 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_open_globalB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_open_globalB *r)
    3668             : {
    3669      566967 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3670      566967 :         if (ndr_flags & NDR_SCALARS) {
    3671      566967 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3672      569083 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    3673      566967 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
    3674      566967 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3675      566967 :                 NDR_CHECK(ndr_push_smbXsrv_open_globalU(ndr, NDR_SCALARS, &r->info));
    3676      566967 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3677             :         }
    3678      566967 :         if (ndr_flags & NDR_BUFFERS) {
    3679      566967 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3680      566967 :                 NDR_CHECK(ndr_push_smbXsrv_open_globalU(ndr, NDR_BUFFERS, &r->info));
    3681             :         }
    3682      564851 :         return NDR_ERR_SUCCESS;
    3683             : }
    3684             : 
    3685         206 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_open_globalB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_open_globalB *r)
    3686             : {
    3687         206 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3688         206 :         if (ndr_flags & NDR_SCALARS) {
    3689         206 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3690         206 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    3691         206 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
    3692         206 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3693         206 :                 NDR_CHECK(ndr_pull_smbXsrv_open_globalU(ndr, NDR_SCALARS, &r->info));
    3694         206 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3695             :         }
    3696         206 :         if (ndr_flags & NDR_BUFFERS) {
    3697         206 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3698         206 :                 NDR_CHECK(ndr_pull_smbXsrv_open_globalU(ndr, NDR_BUFFERS, &r->info));
    3699             :         }
    3700         206 :         return NDR_ERR_SUCCESS;
    3701             : }
    3702             : 
    3703           0 : static void ndr_print_flags_smbXsrv_open_globalB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_open_globalB *r)
    3704             : {
    3705           0 :         ndr_print_smbXsrv_open_globalB(ndr, name, r);
    3706           0 : }
    3707             : 
    3708           0 : _PUBLIC_ void ndr_print_smbXsrv_open_globalB(struct ndr_print *ndr, const char *name, const struct smbXsrv_open_globalB *r)
    3709             : {
    3710           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_globalB");
    3711           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3712           0 :         ndr->depth++;
    3713           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    3714           0 :         ndr_print_uint32(ndr, "seqnum", r->seqnum);
    3715           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    3716           0 :         ndr_print_smbXsrv_open_globalU(ndr, "info", &r->info);
    3717           0 :         ndr->depth--;
    3718             : }
    3719             : 
    3720           0 : static enum ndr_err_code ndr_push_smbXsrv_open(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_open *r)
    3721             : {
    3722           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3723           0 :         if (ndr_flags & NDR_SCALARS) {
    3724           0 :                 if (r->global == NULL) {
    3725           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    3726             :                 }
    3727           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    3728           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3729             :                 /* [ignore] 'table' */
    3730           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->local_id));
    3731           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->global */
    3732           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
    3733           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    3734           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3735             :                 /* [ignore] 'compat' */
    3736           0 :                 NDR_CHECK(ndr_push_smbXsrv_open_flags(ndr, NDR_SCALARS, r->flags));
    3737           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->create_action));
    3738           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->request_count));
    3739           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pre_request_count));
    3740           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    3741             :         }
    3742           0 :         if (ndr_flags & NDR_BUFFERS) {
    3743             :                 /* [ignore] 'table' */
    3744           0 :                 NDR_CHECK(ndr_push_smbXsrv_open_global0(ndr, NDR_SCALARS, r->global));
    3745             :                 /* [ignore] 'compat' */
    3746             :         }
    3747           0 :         return NDR_ERR_SUCCESS;
    3748             : }
    3749             : 
    3750           0 : static enum ndr_err_code ndr_pull_smbXsrv_open(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_open *r)
    3751             : {
    3752           0 :         uint32_t _ptr_table;
    3753           0 :         uint32_t _ptr_global;
    3754           0 :         TALLOC_CTX *_mem_save_global_0 = NULL;
    3755           0 :         uint32_t _ptr_compat;
    3756           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3757           0 :         if (ndr_flags & NDR_SCALARS) {
    3758           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    3759           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_table));
    3760           0 :                 _ptr_table = 0;
    3761           0 :                 if (_ptr_table) {
    3762             :                 } else {
    3763           0 :                         r->table = NULL;
    3764             :                 }
    3765             :                 /* [ignore] 'table' */
    3766           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->local_id));
    3767           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_global));
    3768           0 :                 if (_ptr_global) {
    3769           0 :                         NDR_PULL_ALLOC(ndr, r->global);
    3770             :                 } else {
    3771           0 :                         r->global = NULL;
    3772             :                 }
    3773           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
    3774           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    3775           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_compat));
    3776           0 :                 _ptr_compat = 0;
    3777           0 :                 if (_ptr_compat) {
    3778             :                 } else {
    3779           0 :                         r->compat = NULL;
    3780             :                 }
    3781             :                 /* [ignore] 'compat' */
    3782           0 :                 NDR_CHECK(ndr_pull_smbXsrv_open_flags(ndr, NDR_SCALARS, &r->flags));
    3783           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->create_action));
    3784           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->request_count));
    3785           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pre_request_count));
    3786           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    3787             :         }
    3788           0 :         if (ndr_flags & NDR_BUFFERS) {
    3789             :                 /* [ignore] 'table' */
    3790           0 :                 _mem_save_global_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3791           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->global, 0);
    3792           0 :                 NDR_CHECK(ndr_pull_smbXsrv_open_global0(ndr, NDR_SCALARS, r->global));
    3793           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_global_0, 0);
    3794             :                 /* [ignore] 'compat' */
    3795             :         }
    3796           0 :         return NDR_ERR_SUCCESS;
    3797             : }
    3798             : 
    3799           0 : _PUBLIC_ void ndr_print_smbXsrv_open(struct ndr_print *ndr, const char *name, const struct smbXsrv_open *r)
    3800             : {
    3801           0 :         ndr_print_struct(ndr, name, "smbXsrv_open");
    3802           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3803           0 :         ndr->depth++;
    3804           0 :         ndr_print_ptr(ndr, "table", r->table);
    3805             :         /* [ignore] 'table' */
    3806           0 :         ndr_print_uint32(ndr, "local_id", r->local_id);
    3807           0 :         ndr_print_ptr(ndr, "global", r->global);
    3808           0 :         ndr->depth++;
    3809           0 :         ndr_print_smbXsrv_open_global0(ndr, "global", r->global);
    3810           0 :         ndr->depth--;
    3811           0 :         ndr_print_NTSTATUS(ndr, "status", r->status);
    3812           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    3813           0 :         ndr_print_ptr(ndr, "compat", r->compat);
    3814             :         /* [ignore] 'compat' */
    3815           0 :         ndr_print_smbXsrv_open_flags(ndr, "flags", r->flags);
    3816           0 :         ndr_print_uint32(ndr, "create_action", r->create_action);
    3817           0 :         ndr_print_hyper(ndr, "request_count", r->request_count);
    3818           0 :         ndr_print_hyper(ndr, "pre_request_count", r->pre_request_count);
    3819           0 :         ndr->depth--;
    3820             : }
    3821             : 
    3822           0 : static enum ndr_err_code ndr_push_smbXsrv_openU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_openU *r)
    3823             : {
    3824           0 :         uint32_t level;
    3825           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3826           0 :         if (ndr_flags & NDR_SCALARS) {
    3827             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3828           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3829           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3830           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    3831           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3832           0 :                 switch (level) {
    3833           0 :                         case 0: {
    3834           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    3835           0 :                         break; }
    3836             : 
    3837           0 :                         default: {
    3838           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    3839           0 :                         break; }
    3840             : 
    3841             :                 }
    3842             :         }
    3843           0 :         if (ndr_flags & NDR_BUFFERS) {
    3844           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3845             :                         /* We didn't get it above, and the token is not needed after this. */
    3846           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3847             :                 }
    3848           0 :                 switch (level) {
    3849           0 :                         case 0:
    3850           0 :                                 if (r->info0) {
    3851           0 :                                         NDR_CHECK(ndr_push_smbXsrv_open(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3852             :                                 }
    3853           0 :                         break;
    3854             : 
    3855           0 :                         default:
    3856           0 :                                 if (r->dummy) {
    3857           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    3858             :                                 }
    3859           0 :                         break;
    3860             : 
    3861             :                 }
    3862             :         }
    3863           0 :         return NDR_ERR_SUCCESS;
    3864             : }
    3865             : 
    3866           0 : static enum ndr_err_code ndr_pull_smbXsrv_openU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_openU *r)
    3867             : {
    3868           0 :         uint32_t level;
    3869           0 :         uint32_t _level;
    3870           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    3871           0 :         uint32_t _ptr_info0;
    3872           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    3873           0 :         uint32_t _ptr_dummy;
    3874           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3875           0 :         if (ndr_flags & NDR_SCALARS) {
    3876             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3877           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3878           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3879           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    3880           0 :                 if (_level != level) {
    3881           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    3882             :                 }
    3883           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3884           0 :                 switch (level) {
    3885           0 :                         case 0: {
    3886           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    3887           0 :                                 if (_ptr_info0) {
    3888           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    3889             :                                 } else {
    3890           0 :                                         r->info0 = NULL;
    3891             :                                 }
    3892           0 :                         break; }
    3893             : 
    3894           0 :                         default: {
    3895           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    3896           0 :                                 if (_ptr_dummy) {
    3897           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    3898             :                                 } else {
    3899           0 :                                         r->dummy = NULL;
    3900             :                                 }
    3901           0 :                         break; }
    3902             : 
    3903             :                 }
    3904             :         }
    3905           0 :         if (ndr_flags & NDR_BUFFERS) {
    3906           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3907             :                         /* We didn't get it above, and the token is not needed after this. */
    3908           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3909             :                 }
    3910           0 :                 switch (level) {
    3911           0 :                         case 0:
    3912           0 :                                 if (r->info0) {
    3913           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3914           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    3915           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_open(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3916           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    3917             :                                 }
    3918           0 :                         break;
    3919             : 
    3920           0 :                         default:
    3921           0 :                                 if (r->dummy) {
    3922           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3923           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    3924           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    3925           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    3926             :                                 }
    3927           0 :                         break;
    3928             : 
    3929             :                 }
    3930             :         }
    3931           0 :         return NDR_ERR_SUCCESS;
    3932             : }
    3933             : 
    3934           0 : _PUBLIC_ void ndr_print_smbXsrv_openU(struct ndr_print *ndr, const char *name, const union smbXsrv_openU *r)
    3935             : {
    3936           0 :         uint32_t level;
    3937           0 :         level = ndr_print_steal_switch_value(ndr, r);
    3938           0 :         ndr_print_union(ndr, name, level, "smbXsrv_openU");
    3939           0 :         switch (level) {
    3940           0 :                 case 0:
    3941           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    3942           0 :                         ndr->depth++;
    3943           0 :                         if (r->info0) {
    3944           0 :                                 ndr_print_smbXsrv_open(ndr, "info0", r->info0);
    3945             :                         }
    3946           0 :                         ndr->depth--;
    3947           0 :                 break;
    3948             : 
    3949           0 :                 default:
    3950           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    3951           0 :                         ndr->depth++;
    3952           0 :                         if (r->dummy) {
    3953           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    3954             :                         }
    3955           0 :                         ndr->depth--;
    3956           0 :                 break;
    3957             : 
    3958             :         }
    3959           0 : }
    3960             : 
    3961           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_openB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_openB *r)
    3962             : {
    3963           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3964           0 :         if (ndr_flags & NDR_SCALARS) {
    3965           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3966           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    3967           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    3968           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3969           0 :                 NDR_CHECK(ndr_push_smbXsrv_openU(ndr, NDR_SCALARS, &r->info));
    3970           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3971             :         }
    3972           0 :         if (ndr_flags & NDR_BUFFERS) {
    3973           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3974           0 :                 NDR_CHECK(ndr_push_smbXsrv_openU(ndr, NDR_BUFFERS, &r->info));
    3975             :         }
    3976           0 :         return NDR_ERR_SUCCESS;
    3977             : }
    3978             : 
    3979           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_openB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_openB *r)
    3980             : {
    3981           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3982           0 :         if (ndr_flags & NDR_SCALARS) {
    3983           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3984           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    3985           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    3986           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3987           0 :                 NDR_CHECK(ndr_pull_smbXsrv_openU(ndr, NDR_SCALARS, &r->info));
    3988           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3989             :         }
    3990           0 :         if (ndr_flags & NDR_BUFFERS) {
    3991           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3992           0 :                 NDR_CHECK(ndr_pull_smbXsrv_openU(ndr, NDR_BUFFERS, &r->info));
    3993             :         }
    3994           0 :         return NDR_ERR_SUCCESS;
    3995             : }
    3996             : 
    3997           0 : static void ndr_print_flags_smbXsrv_openB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_openB *r)
    3998             : {
    3999           0 :         ndr_print_smbXsrv_openB(ndr, name, r);
    4000           0 : }
    4001             : 
    4002           0 : _PUBLIC_ void ndr_print_smbXsrv_openB(struct ndr_print *ndr, const char *name, const struct smbXsrv_openB *r)
    4003             : {
    4004           0 :         ndr_print_struct(ndr, name, "smbXsrv_openB");
    4005           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4006           0 :         ndr->depth++;
    4007           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    4008           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    4009           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    4010           0 :         ndr_print_smbXsrv_openU(ndr, "info", &r->info);
    4011           0 :         ndr->depth--;
    4012             : }
    4013             : 
    4014        1554 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_open_replay_cache(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_open_replay_cache *r)
    4015             : {
    4016        1554 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4017        1554 :         if (ndr_flags & NDR_SCALARS) {
    4018        1554 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    4019        1554 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->holder_req_guid));
    4020        1554 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    4021        1554 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->local_id));
    4022        1554 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    4023             :         }
    4024        1554 :         if (ndr_flags & NDR_BUFFERS) {
    4025           0 :         }
    4026        1554 :         return NDR_ERR_SUCCESS;
    4027             : }
    4028             : 
    4029         300 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_open_replay_cache(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_open_replay_cache *r)
    4030             : {
    4031         300 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4032         300 :         if (ndr_flags & NDR_SCALARS) {
    4033         300 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    4034         300 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->holder_req_guid));
    4035         300 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    4036         300 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->local_id));
    4037         300 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    4038             :         }
    4039         300 :         if (ndr_flags & NDR_BUFFERS) {
    4040           0 :         }
    4041         300 :         return NDR_ERR_SUCCESS;
    4042             : }
    4043             : 
    4044           0 : static void ndr_print_flags_smbXsrv_open_replay_cache(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_open_replay_cache *r)
    4045             : {
    4046           0 :         ndr_print_smbXsrv_open_replay_cache(ndr, name, r);
    4047           0 : }
    4048             : 
    4049           0 : _PUBLIC_ void ndr_print_smbXsrv_open_replay_cache(struct ndr_print *ndr, const char *name, const struct smbXsrv_open_replay_cache *r)
    4050             : {
    4051           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_replay_cache");
    4052           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4053           0 :         ndr->depth++;
    4054           0 :         ndr_print_GUID(ndr, "holder_req_guid", &r->holder_req_guid);
    4055           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    4056           0 :         ndr_print_uint32(ndr, "local_id", r->local_id);
    4057           0 :         ndr->depth--;
    4058             : }
    4059             : 
    4060           0 : static enum ndr_err_code ndr_push_smbXsrv_version_global_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_version_global_decode *r)
    4061             : {
    4062           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4063           0 :         if (flags & NDR_IN) {
    4064           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4065             :         }
    4066           0 :         if (flags & NDR_OUT) {
    4067           0 :         }
    4068           0 :         return NDR_ERR_SUCCESS;
    4069             : }
    4070             : 
    4071           0 : static enum ndr_err_code ndr_pull_smbXsrv_version_global_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_version_global_decode *r)
    4072             : {
    4073           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4074           0 :         if (flags & NDR_IN) {
    4075           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4076             :         }
    4077           0 :         if (flags & NDR_OUT) {
    4078             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4079             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4080           0 :         }
    4081           0 :         return NDR_ERR_SUCCESS;
    4082             : }
    4083             : 
    4084           0 : _PUBLIC_ void ndr_print_smbXsrv_version_global_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_version_global_decode *r)
    4085             : {
    4086           0 :         ndr_print_struct(ndr, name, "smbXsrv_version_global_decode");
    4087           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4088           0 :         ndr->depth++;
    4089           0 :         if (flags & NDR_SET_VALUES) {
    4090           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4091             :         }
    4092           0 :         if (flags & NDR_IN) {
    4093           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_version_global_decode");
    4094           0 :                 ndr->depth++;
    4095           0 :                 ndr_print_smbXsrv_version_globalB(ndr, "blob", &r->in.blob);
    4096           0 :                 ndr->depth--;
    4097             :         }
    4098           0 :         if (flags & NDR_OUT) {
    4099           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_version_global_decode");
    4100           0 :                 ndr->depth++;
    4101           0 :                 ndr->depth--;
    4102             :         }
    4103           0 :         ndr->depth--;
    4104             : }
    4105             : 
    4106           0 : static enum ndr_err_code ndr_push_smbXsrv_client_global_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_client_global_decode *r)
    4107             : {
    4108           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4109           0 :         if (flags & NDR_IN) {
    4110           0 :                 NDR_CHECK(ndr_push_smbXsrv_client_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4111             :         }
    4112           0 :         if (flags & NDR_OUT) {
    4113           0 :         }
    4114           0 :         return NDR_ERR_SUCCESS;
    4115             : }
    4116             : 
    4117           0 : static enum ndr_err_code ndr_pull_smbXsrv_client_global_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_client_global_decode *r)
    4118             : {
    4119           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4120           0 :         if (flags & NDR_IN) {
    4121           0 :                 NDR_CHECK(ndr_pull_smbXsrv_client_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4122             :         }
    4123           0 :         if (flags & NDR_OUT) {
    4124             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4125             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4126           0 :         }
    4127           0 :         return NDR_ERR_SUCCESS;
    4128             : }
    4129             : 
    4130           0 : _PUBLIC_ void ndr_print_smbXsrv_client_global_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_client_global_decode *r)
    4131             : {
    4132           0 :         ndr_print_struct(ndr, name, "smbXsrv_client_global_decode");
    4133           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4134           0 :         ndr->depth++;
    4135           0 :         if (flags & NDR_SET_VALUES) {
    4136           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4137             :         }
    4138           0 :         if (flags & NDR_IN) {
    4139           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_client_global_decode");
    4140           0 :                 ndr->depth++;
    4141           0 :                 ndr_print_smbXsrv_client_globalB(ndr, "blob", &r->in.blob);
    4142           0 :                 ndr->depth--;
    4143             :         }
    4144           0 :         if (flags & NDR_OUT) {
    4145           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_client_global_decode");
    4146           0 :                 ndr->depth++;
    4147           0 :                 ndr->depth--;
    4148             :         }
    4149           0 :         ndr->depth--;
    4150             : }
    4151             : 
    4152           0 : static enum ndr_err_code ndr_push_smbXsrv_client_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_client_decode *r)
    4153             : {
    4154           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4155           0 :         if (flags & NDR_IN) {
    4156           0 :                 NDR_CHECK(ndr_push_smbXsrv_clientB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4157             :         }
    4158           0 :         if (flags & NDR_OUT) {
    4159           0 :         }
    4160           0 :         return NDR_ERR_SUCCESS;
    4161             : }
    4162             : 
    4163           0 : static enum ndr_err_code ndr_pull_smbXsrv_client_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_client_decode *r)
    4164             : {
    4165           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4166           0 :         if (flags & NDR_IN) {
    4167           0 :                 NDR_CHECK(ndr_pull_smbXsrv_clientB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4168             :         }
    4169           0 :         if (flags & NDR_OUT) {
    4170             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4171             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4172           0 :         }
    4173           0 :         return NDR_ERR_SUCCESS;
    4174             : }
    4175             : 
    4176           0 : _PUBLIC_ void ndr_print_smbXsrv_client_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_client_decode *r)
    4177             : {
    4178           0 :         ndr_print_struct(ndr, name, "smbXsrv_client_decode");
    4179           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4180           0 :         ndr->depth++;
    4181           0 :         if (flags & NDR_SET_VALUES) {
    4182           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4183             :         }
    4184           0 :         if (flags & NDR_IN) {
    4185           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_client_decode");
    4186           0 :                 ndr->depth++;
    4187           0 :                 ndr_print_smbXsrv_clientB(ndr, "blob", &r->in.blob);
    4188           0 :                 ndr->depth--;
    4189             :         }
    4190           0 :         if (flags & NDR_OUT) {
    4191           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_client_decode");
    4192           0 :                 ndr->depth++;
    4193           0 :                 ndr->depth--;
    4194             :         }
    4195           0 :         ndr->depth--;
    4196             : }
    4197             : 
    4198           0 : static enum ndr_err_code ndr_push_smbXsrv_connection_pass_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_connection_pass_decode *r)
    4199             : {
    4200           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4201           0 :         if (flags & NDR_IN) {
    4202           0 :                 NDR_CHECK(ndr_push_smbXsrv_connection_passB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4203             :         }
    4204           0 :         if (flags & NDR_OUT) {
    4205           0 :         }
    4206           0 :         return NDR_ERR_SUCCESS;
    4207             : }
    4208             : 
    4209           0 : static enum ndr_err_code ndr_pull_smbXsrv_connection_pass_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_connection_pass_decode *r)
    4210             : {
    4211           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4212           0 :         if (flags & NDR_IN) {
    4213           0 :                 NDR_CHECK(ndr_pull_smbXsrv_connection_passB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4214             :         }
    4215           0 :         if (flags & NDR_OUT) {
    4216             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4217             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4218           0 :         }
    4219           0 :         return NDR_ERR_SUCCESS;
    4220             : }
    4221             : 
    4222           0 : _PUBLIC_ void ndr_print_smbXsrv_connection_pass_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_connection_pass_decode *r)
    4223             : {
    4224           0 :         ndr_print_struct(ndr, name, "smbXsrv_connection_pass_decode");
    4225           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4226           0 :         ndr->depth++;
    4227           0 :         if (flags & NDR_SET_VALUES) {
    4228           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4229             :         }
    4230           0 :         if (flags & NDR_IN) {
    4231           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_connection_pass_decode");
    4232           0 :                 ndr->depth++;
    4233           0 :                 ndr_print_smbXsrv_connection_passB(ndr, "blob", &r->in.blob);
    4234           0 :                 ndr->depth--;
    4235             :         }
    4236           0 :         if (flags & NDR_OUT) {
    4237           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_connection_pass_decode");
    4238           0 :                 ndr->depth++;
    4239           0 :                 ndr->depth--;
    4240             :         }
    4241           0 :         ndr->depth--;
    4242             : }
    4243             : 
    4244           0 : static enum ndr_err_code ndr_push_smbXsrv_connection_drop_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_connection_drop_decode *r)
    4245             : {
    4246           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4247           0 :         if (flags & NDR_IN) {
    4248           0 :                 NDR_CHECK(ndr_push_smbXsrv_connection_dropB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4249             :         }
    4250           0 :         if (flags & NDR_OUT) {
    4251           0 :         }
    4252           0 :         return NDR_ERR_SUCCESS;
    4253             : }
    4254             : 
    4255           0 : static enum ndr_err_code ndr_pull_smbXsrv_connection_drop_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_connection_drop_decode *r)
    4256             : {
    4257           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4258           0 :         if (flags & NDR_IN) {
    4259           0 :                 NDR_CHECK(ndr_pull_smbXsrv_connection_dropB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4260             :         }
    4261           0 :         if (flags & NDR_OUT) {
    4262             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4263             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4264           0 :         }
    4265           0 :         return NDR_ERR_SUCCESS;
    4266             : }
    4267             : 
    4268           0 : _PUBLIC_ void ndr_print_smbXsrv_connection_drop_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_connection_drop_decode *r)
    4269             : {
    4270           0 :         ndr_print_struct(ndr, name, "smbXsrv_connection_drop_decode");
    4271           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4272           0 :         ndr->depth++;
    4273           0 :         if (flags & NDR_SET_VALUES) {
    4274           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4275             :         }
    4276           0 :         if (flags & NDR_IN) {
    4277           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_connection_drop_decode");
    4278           0 :                 ndr->depth++;
    4279           0 :                 ndr_print_smbXsrv_connection_dropB(ndr, "blob", &r->in.blob);
    4280           0 :                 ndr->depth--;
    4281             :         }
    4282           0 :         if (flags & NDR_OUT) {
    4283           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_connection_drop_decode");
    4284           0 :                 ndr->depth++;
    4285           0 :                 ndr->depth--;
    4286             :         }
    4287           0 :         ndr->depth--;
    4288             : }
    4289             : 
    4290           0 : static enum ndr_err_code ndr_push_smbXsrv_session_global_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_session_global_decode *r)
    4291             : {
    4292           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4293           0 :         if (flags & NDR_IN) {
    4294           0 :                 NDR_CHECK(ndr_push_smbXsrv_session_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4295             :         }
    4296           0 :         if (flags & NDR_OUT) {
    4297           0 :         }
    4298           0 :         return NDR_ERR_SUCCESS;
    4299             : }
    4300             : 
    4301           0 : static enum ndr_err_code ndr_pull_smbXsrv_session_global_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_session_global_decode *r)
    4302             : {
    4303           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4304           0 :         if (flags & NDR_IN) {
    4305           0 :                 NDR_CHECK(ndr_pull_smbXsrv_session_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4306             :         }
    4307           0 :         if (flags & NDR_OUT) {
    4308             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4309             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4310           0 :         }
    4311           0 :         return NDR_ERR_SUCCESS;
    4312             : }
    4313             : 
    4314           0 : _PUBLIC_ void ndr_print_smbXsrv_session_global_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_session_global_decode *r)
    4315             : {
    4316           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_global_decode");
    4317           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4318           0 :         ndr->depth++;
    4319           0 :         if (flags & NDR_SET_VALUES) {
    4320           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4321             :         }
    4322           0 :         if (flags & NDR_IN) {
    4323           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_session_global_decode");
    4324           0 :                 ndr->depth++;
    4325           0 :                 ndr_print_smbXsrv_session_globalB(ndr, "blob", &r->in.blob);
    4326           0 :                 ndr->depth--;
    4327             :         }
    4328           0 :         if (flags & NDR_OUT) {
    4329           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_session_global_decode");
    4330           0 :                 ndr->depth++;
    4331           0 :                 ndr->depth--;
    4332             :         }
    4333           0 :         ndr->depth--;
    4334             : }
    4335             : 
    4336           0 : static enum ndr_err_code ndr_push_smbXsrv_session_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_session_decode *r)
    4337             : {
    4338           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4339           0 :         if (flags & NDR_IN) {
    4340           0 :                 NDR_CHECK(ndr_push_smbXsrv_sessionB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4341             :         }
    4342           0 :         if (flags & NDR_OUT) {
    4343           0 :         }
    4344           0 :         return NDR_ERR_SUCCESS;
    4345             : }
    4346             : 
    4347           0 : static enum ndr_err_code ndr_pull_smbXsrv_session_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_session_decode *r)
    4348             : {
    4349           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4350           0 :         if (flags & NDR_IN) {
    4351           0 :                 NDR_CHECK(ndr_pull_smbXsrv_sessionB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4352             :         }
    4353           0 :         if (flags & NDR_OUT) {
    4354             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4355             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4356           0 :         }
    4357           0 :         return NDR_ERR_SUCCESS;
    4358             : }
    4359             : 
    4360           0 : _PUBLIC_ void ndr_print_smbXsrv_session_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_session_decode *r)
    4361             : {
    4362           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_decode");
    4363           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4364           0 :         ndr->depth++;
    4365           0 :         if (flags & NDR_SET_VALUES) {
    4366           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4367             :         }
    4368           0 :         if (flags & NDR_IN) {
    4369           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_session_decode");
    4370           0 :                 ndr->depth++;
    4371           0 :                 ndr_print_smbXsrv_sessionB(ndr, "blob", &r->in.blob);
    4372           0 :                 ndr->depth--;
    4373             :         }
    4374           0 :         if (flags & NDR_OUT) {
    4375           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_session_decode");
    4376           0 :                 ndr->depth++;
    4377           0 :                 ndr->depth--;
    4378             :         }
    4379           0 :         ndr->depth--;
    4380             : }
    4381             : 
    4382           0 : static enum ndr_err_code ndr_push_smbXsrv_session_close_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_session_close_decode *r)
    4383             : {
    4384           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4385           0 :         if (flags & NDR_IN) {
    4386           0 :                 NDR_CHECK(ndr_push_smbXsrv_session_closeB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4387             :         }
    4388           0 :         if (flags & NDR_OUT) {
    4389           0 :         }
    4390           0 :         return NDR_ERR_SUCCESS;
    4391             : }
    4392             : 
    4393           0 : static enum ndr_err_code ndr_pull_smbXsrv_session_close_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_session_close_decode *r)
    4394             : {
    4395           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4396           0 :         if (flags & NDR_IN) {
    4397           0 :                 NDR_CHECK(ndr_pull_smbXsrv_session_closeB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4398             :         }
    4399           0 :         if (flags & NDR_OUT) {
    4400             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4401             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4402           0 :         }
    4403           0 :         return NDR_ERR_SUCCESS;
    4404             : }
    4405             : 
    4406           0 : _PUBLIC_ void ndr_print_smbXsrv_session_close_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_session_close_decode *r)
    4407             : {
    4408           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_close_decode");
    4409           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4410           0 :         ndr->depth++;
    4411           0 :         if (flags & NDR_SET_VALUES) {
    4412           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4413             :         }
    4414           0 :         if (flags & NDR_IN) {
    4415           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_session_close_decode");
    4416           0 :                 ndr->depth++;
    4417           0 :                 ndr_print_smbXsrv_session_closeB(ndr, "blob", &r->in.blob);
    4418           0 :                 ndr->depth--;
    4419             :         }
    4420           0 :         if (flags & NDR_OUT) {
    4421           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_session_close_decode");
    4422           0 :                 ndr->depth++;
    4423           0 :                 ndr->depth--;
    4424             :         }
    4425           0 :         ndr->depth--;
    4426             : }
    4427             : 
    4428           0 : static enum ndr_err_code ndr_push_smbXsrv_tcon_global_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_tcon_global_decode *r)
    4429             : {
    4430           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4431           0 :         if (flags & NDR_IN) {
    4432           0 :                 NDR_CHECK(ndr_push_smbXsrv_tcon_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4433             :         }
    4434           0 :         if (flags & NDR_OUT) {
    4435           0 :         }
    4436           0 :         return NDR_ERR_SUCCESS;
    4437             : }
    4438             : 
    4439           0 : static enum ndr_err_code ndr_pull_smbXsrv_tcon_global_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_tcon_global_decode *r)
    4440             : {
    4441           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4442           0 :         if (flags & NDR_IN) {
    4443           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tcon_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4444             :         }
    4445           0 :         if (flags & NDR_OUT) {
    4446             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4447             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4448           0 :         }
    4449           0 :         return NDR_ERR_SUCCESS;
    4450             : }
    4451             : 
    4452           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon_global_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_tcon_global_decode *r)
    4453             : {
    4454           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon_global_decode");
    4455           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4456           0 :         ndr->depth++;
    4457           0 :         if (flags & NDR_SET_VALUES) {
    4458           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4459             :         }
    4460           0 :         if (flags & NDR_IN) {
    4461           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_tcon_global_decode");
    4462           0 :                 ndr->depth++;
    4463           0 :                 ndr_print_smbXsrv_tcon_globalB(ndr, "blob", &r->in.blob);
    4464           0 :                 ndr->depth--;
    4465             :         }
    4466           0 :         if (flags & NDR_OUT) {
    4467           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_tcon_global_decode");
    4468           0 :                 ndr->depth++;
    4469           0 :                 ndr->depth--;
    4470             :         }
    4471           0 :         ndr->depth--;
    4472             : }
    4473             : 
    4474           0 : static enum ndr_err_code ndr_push_smbXsrv_tcon_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_tcon_decode *r)
    4475             : {
    4476           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4477           0 :         if (flags & NDR_IN) {
    4478           0 :                 NDR_CHECK(ndr_push_smbXsrv_tconB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4479             :         }
    4480           0 :         if (flags & NDR_OUT) {
    4481           0 :         }
    4482           0 :         return NDR_ERR_SUCCESS;
    4483             : }
    4484             : 
    4485           0 : static enum ndr_err_code ndr_pull_smbXsrv_tcon_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_tcon_decode *r)
    4486             : {
    4487           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4488           0 :         if (flags & NDR_IN) {
    4489           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tconB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4490             :         }
    4491           0 :         if (flags & NDR_OUT) {
    4492             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4493             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4494           0 :         }
    4495           0 :         return NDR_ERR_SUCCESS;
    4496             : }
    4497             : 
    4498           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_tcon_decode *r)
    4499             : {
    4500           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon_decode");
    4501           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4502           0 :         ndr->depth++;
    4503           0 :         if (flags & NDR_SET_VALUES) {
    4504           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4505             :         }
    4506           0 :         if (flags & NDR_IN) {
    4507           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_tcon_decode");
    4508           0 :                 ndr->depth++;
    4509           0 :                 ndr_print_smbXsrv_tconB(ndr, "blob", &r->in.blob);
    4510           0 :                 ndr->depth--;
    4511             :         }
    4512           0 :         if (flags & NDR_OUT) {
    4513           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_tcon_decode");
    4514           0 :                 ndr->depth++;
    4515           0 :                 ndr->depth--;
    4516             :         }
    4517           0 :         ndr->depth--;
    4518             : }
    4519             : 
    4520           0 : static enum ndr_err_code ndr_push_smbXsrv_open_global_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_open_global_decode *r)
    4521             : {
    4522           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4523           0 :         if (flags & NDR_IN) {
    4524           0 :                 NDR_CHECK(ndr_push_smbXsrv_open_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4525             :         }
    4526           0 :         if (flags & NDR_OUT) {
    4527           0 :         }
    4528           0 :         return NDR_ERR_SUCCESS;
    4529             : }
    4530             : 
    4531           0 : static enum ndr_err_code ndr_pull_smbXsrv_open_global_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_open_global_decode *r)
    4532             : {
    4533           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4534           0 :         if (flags & NDR_IN) {
    4535           0 :                 NDR_CHECK(ndr_pull_smbXsrv_open_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4536             :         }
    4537           0 :         if (flags & NDR_OUT) {
    4538             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4539             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4540           0 :         }
    4541           0 :         return NDR_ERR_SUCCESS;
    4542             : }
    4543             : 
    4544           0 : _PUBLIC_ void ndr_print_smbXsrv_open_global_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_open_global_decode *r)
    4545             : {
    4546           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_global_decode");
    4547           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4548           0 :         ndr->depth++;
    4549           0 :         if (flags & NDR_SET_VALUES) {
    4550           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4551             :         }
    4552           0 :         if (flags & NDR_IN) {
    4553           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_open_global_decode");
    4554           0 :                 ndr->depth++;
    4555           0 :                 ndr_print_smbXsrv_open_globalB(ndr, "blob", &r->in.blob);
    4556           0 :                 ndr->depth--;
    4557             :         }
    4558           0 :         if (flags & NDR_OUT) {
    4559           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_open_global_decode");
    4560           0 :                 ndr->depth++;
    4561           0 :                 ndr->depth--;
    4562             :         }
    4563           0 :         ndr->depth--;
    4564             : }
    4565             : 
    4566           0 : static enum ndr_err_code ndr_push_smbXsrv_open_decode(struct ndr_push *ndr, ndr_flags_type flags, const struct smbXsrv_open_decode *r)
    4567             : {
    4568           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4569           0 :         if (flags & NDR_IN) {
    4570           0 :                 NDR_CHECK(ndr_push_smbXsrv_openB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4571             :         }
    4572           0 :         if (flags & NDR_OUT) {
    4573           0 :         }
    4574           0 :         return NDR_ERR_SUCCESS;
    4575             : }
    4576             : 
    4577           0 : static enum ndr_err_code ndr_pull_smbXsrv_open_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_open_decode *r)
    4578             : {
    4579           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4580           0 :         if (flags & NDR_IN) {
    4581           0 :                 NDR_CHECK(ndr_pull_smbXsrv_openB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4582             :         }
    4583           0 :         if (flags & NDR_OUT) {
    4584             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4585             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4586           0 :         }
    4587           0 :         return NDR_ERR_SUCCESS;
    4588             : }
    4589             : 
    4590           0 : _PUBLIC_ void ndr_print_smbXsrv_open_decode(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct smbXsrv_open_decode *r)
    4591             : {
    4592           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_decode");
    4593           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4594           0 :         ndr->depth++;
    4595           0 :         if (flags & NDR_SET_VALUES) {
    4596           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4597             :         }
    4598           0 :         if (flags & NDR_IN) {
    4599           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_open_decode");
    4600           0 :                 ndr->depth++;
    4601           0 :                 ndr_print_smbXsrv_openB(ndr, "blob", &r->in.blob);
    4602           0 :                 ndr->depth--;
    4603             :         }
    4604           0 :         if (flags & NDR_OUT) {
    4605           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_open_decode");
    4606           0 :                 ndr->depth++;
    4607           0 :                 ndr->depth--;
    4608             :         }
    4609           0 :         ndr->depth--;
    4610             : }
    4611             : 
    4612             : #ifndef SKIP_NDR_TABLE_smbXsrv
    4613             : static const struct ndr_interface_public_struct smbXsrv_public_structs[] = {
    4614             :         {
    4615             :                 .name = "smbXsrv_version_globalB",
    4616             :                 .struct_size = sizeof(struct smbXsrv_version_globalB ),
    4617             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_version_globalB,
    4618             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_version_globalB,
    4619             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_version_globalB,
    4620             :         },
    4621             :         {
    4622             :                 .name = "smbXsrv_client_globalB",
    4623             :                 .struct_size = sizeof(struct smbXsrv_client_globalB ),
    4624             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_client_globalB,
    4625             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_client_globalB,
    4626             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_client_globalB,
    4627             :         },
    4628             :         {
    4629             :                 .name = "smbXsrv_client",
    4630             :                 .struct_size = sizeof(struct smbXsrv_client ),
    4631             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_client,
    4632             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_client,
    4633             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_client,
    4634             :         },
    4635             :         {
    4636             :                 .name = "smbXsrv_clientB",
    4637             :                 .struct_size = sizeof(struct smbXsrv_clientB ),
    4638             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_clientB,
    4639             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_clientB,
    4640             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_clientB,
    4641             :         },
    4642             :         {
    4643             :                 .name = "smbXsrv_connection_passB",
    4644             :                 .struct_size = sizeof(struct smbXsrv_connection_passB ),
    4645             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_connection_passB,
    4646             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_connection_passB,
    4647             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_connection_passB,
    4648             :         },
    4649             :         {
    4650             :                 .name = "smbXsrv_connection_dropB",
    4651             :                 .struct_size = sizeof(struct smbXsrv_connection_dropB ),
    4652             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_connection_dropB,
    4653             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_connection_dropB,
    4654             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_connection_dropB,
    4655             :         },
    4656             :         {
    4657             :                 .name = "smbXsrv_session_globalB",
    4658             :                 .struct_size = sizeof(struct smbXsrv_session_globalB ),
    4659             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_globalB,
    4660             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_globalB,
    4661             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_session_globalB,
    4662             :         },
    4663             :         {
    4664             :                 .name = "smbXsrv_sessionB",
    4665             :                 .struct_size = sizeof(struct smbXsrv_sessionB ),
    4666             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_sessionB,
    4667             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_sessionB,
    4668             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_sessionB,
    4669             :         },
    4670             :         {
    4671             :                 .name = "smbXsrv_session_closeB",
    4672             :                 .struct_size = sizeof(struct smbXsrv_session_closeB ),
    4673             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_closeB,
    4674             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_closeB,
    4675             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_session_closeB,
    4676             :         },
    4677             :         {
    4678             :                 .name = "smbXsrv_tcon_globalB",
    4679             :                 .struct_size = sizeof(struct smbXsrv_tcon_globalB ),
    4680             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_tcon_globalB,
    4681             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_tcon_globalB,
    4682             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_tcon_globalB,
    4683             :         },
    4684             :         {
    4685             :                 .name = "smbXsrv_tconB",
    4686             :                 .struct_size = sizeof(struct smbXsrv_tconB ),
    4687             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_tconB,
    4688             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_tconB,
    4689             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_tconB,
    4690             :         },
    4691             :         {
    4692             :                 .name = "smbXsrv_open_globalB",
    4693             :                 .struct_size = sizeof(struct smbXsrv_open_globalB ),
    4694             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_open_globalB,
    4695             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_open_globalB,
    4696             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_open_globalB,
    4697             :         },
    4698             :         {
    4699             :                 .name = "smbXsrv_openB",
    4700             :                 .struct_size = sizeof(struct smbXsrv_openB ),
    4701             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_openB,
    4702             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_openB,
    4703             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_openB,
    4704             :         },
    4705             :         {
    4706             :                 .name = "smbXsrv_open_replay_cache",
    4707             :                 .struct_size = sizeof(struct smbXsrv_open_replay_cache ),
    4708             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_open_replay_cache,
    4709             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_open_replay_cache,
    4710             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_open_replay_cache,
    4711             :         },
    4712             :         { .name = NULL }
    4713             : };
    4714             : 
    4715             : static const struct ndr_interface_call smbXsrv_calls[] = {
    4716             :         {
    4717             :                 "smbXsrv_version_global_decode",
    4718             :                 sizeof(struct smbXsrv_version_global_decode),
    4719             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_version_global_decode,
    4720             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_version_global_decode,
    4721             :                 (ndr_print_function_t) ndr_print_smbXsrv_version_global_decode,
    4722             :                 { 0, NULL },
    4723             :                 { 0, NULL },
    4724             :         },
    4725             :         {
    4726             :                 "smbXsrv_client_global_decode",
    4727             :                 sizeof(struct smbXsrv_client_global_decode),
    4728             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_client_global_decode,
    4729             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_client_global_decode,
    4730             :                 (ndr_print_function_t) ndr_print_smbXsrv_client_global_decode,
    4731             :                 { 0, NULL },
    4732             :                 { 0, NULL },
    4733             :         },
    4734             :         {
    4735             :                 "smbXsrv_client_decode",
    4736             :                 sizeof(struct smbXsrv_client_decode),
    4737             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_client_decode,
    4738             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_client_decode,
    4739             :                 (ndr_print_function_t) ndr_print_smbXsrv_client_decode,
    4740             :                 { 0, NULL },
    4741             :                 { 0, NULL },
    4742             :         },
    4743             :         {
    4744             :                 "smbXsrv_connection_pass_decode",
    4745             :                 sizeof(struct smbXsrv_connection_pass_decode),
    4746             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_connection_pass_decode,
    4747             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_connection_pass_decode,
    4748             :                 (ndr_print_function_t) ndr_print_smbXsrv_connection_pass_decode,
    4749             :                 { 0, NULL },
    4750             :                 { 0, NULL },
    4751             :         },
    4752             :         {
    4753             :                 "smbXsrv_connection_drop_decode",
    4754             :                 sizeof(struct smbXsrv_connection_drop_decode),
    4755             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_connection_drop_decode,
    4756             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_connection_drop_decode,
    4757             :                 (ndr_print_function_t) ndr_print_smbXsrv_connection_drop_decode,
    4758             :                 { 0, NULL },
    4759             :                 { 0, NULL },
    4760             :         },
    4761             :         {
    4762             :                 "smbXsrv_session_global_decode",
    4763             :                 sizeof(struct smbXsrv_session_global_decode),
    4764             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_global_decode,
    4765             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_global_decode,
    4766             :                 (ndr_print_function_t) ndr_print_smbXsrv_session_global_decode,
    4767             :                 { 0, NULL },
    4768             :                 { 0, NULL },
    4769             :         },
    4770             :         {
    4771             :                 "smbXsrv_session_decode",
    4772             :                 sizeof(struct smbXsrv_session_decode),
    4773             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_decode,
    4774             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_decode,
    4775             :                 (ndr_print_function_t) ndr_print_smbXsrv_session_decode,
    4776             :                 { 0, NULL },
    4777             :                 { 0, NULL },
    4778             :         },
    4779             :         {
    4780             :                 "smbXsrv_session_close_decode",
    4781             :                 sizeof(struct smbXsrv_session_close_decode),
    4782             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_close_decode,
    4783             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_close_decode,
    4784             :                 (ndr_print_function_t) ndr_print_smbXsrv_session_close_decode,
    4785             :                 { 0, NULL },
    4786             :                 { 0, NULL },
    4787             :         },
    4788             :         {
    4789             :                 "smbXsrv_tcon_global_decode",
    4790             :                 sizeof(struct smbXsrv_tcon_global_decode),
    4791             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_tcon_global_decode,
    4792             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_tcon_global_decode,
    4793             :                 (ndr_print_function_t) ndr_print_smbXsrv_tcon_global_decode,
    4794             :                 { 0, NULL },
    4795             :                 { 0, NULL },
    4796             :         },
    4797             :         {
    4798             :                 "smbXsrv_tcon_decode",
    4799             :                 sizeof(struct smbXsrv_tcon_decode),
    4800             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_tcon_decode,
    4801             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_tcon_decode,
    4802             :                 (ndr_print_function_t) ndr_print_smbXsrv_tcon_decode,
    4803             :                 { 0, NULL },
    4804             :                 { 0, NULL },
    4805             :         },
    4806             :         {
    4807             :                 "smbXsrv_open_global_decode",
    4808             :                 sizeof(struct smbXsrv_open_global_decode),
    4809             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_open_global_decode,
    4810             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_open_global_decode,
    4811             :                 (ndr_print_function_t) ndr_print_smbXsrv_open_global_decode,
    4812             :                 { 0, NULL },
    4813             :                 { 0, NULL },
    4814             :         },
    4815             :         {
    4816             :                 "smbXsrv_open_decode",
    4817             :                 sizeof(struct smbXsrv_open_decode),
    4818             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_open_decode,
    4819             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_open_decode,
    4820             :                 (ndr_print_function_t) ndr_print_smbXsrv_open_decode,
    4821             :                 { 0, NULL },
    4822             :                 { 0, NULL },
    4823             :         },
    4824             :         { .name = NULL }
    4825             : };
    4826             : 
    4827             : static const char * const smbXsrv_endpoint_strings[] = {
    4828             :         "ncacn_np:[\\pipe\\smbXsrv]", 
    4829             : };
    4830             : 
    4831             : static const struct ndr_interface_string_array smbXsrv_endpoints = {
    4832             :         .count  = 1,
    4833             :         .names  = smbXsrv_endpoint_strings
    4834             : };
    4835             : 
    4836             : static const char * const smbXsrv_authservice_strings[] = {
    4837             :         "host", 
    4838             : };
    4839             : 
    4840             : static const struct ndr_interface_string_array smbXsrv_authservices = {
    4841             :         .count  = 1,
    4842             :         .names  = smbXsrv_authservice_strings
    4843             : };
    4844             : 
    4845             : 
    4846             : const struct ndr_interface_table ndr_table_smbXsrv = {
    4847             :         .name           = "smbXsrv",
    4848             :         .syntax_id      = {
    4849             :                 {0x07408340,0xae31,0x11e1,{0x97,0xdc},{0x53,0x9f,0x7f,0xdd,0xc0,0x6f}},
    4850             :                 NDR_SMBXSRV_VERSION
    4851             :         },
    4852             :         .helpstring     = NDR_SMBXSRV_HELPSTRING,
    4853             :         .num_calls      = 12,
    4854             :         .calls          = smbXsrv_calls,
    4855             :         .num_public_structs     = 14,
    4856             :         .public_structs         = smbXsrv_public_structs,
    4857             :         .endpoints      = &smbXsrv_endpoints,
    4858             :         .authservices   = &smbXsrv_authservices
    4859             : };
    4860             : 
    4861             : #endif /* SKIP_NDR_TABLE_smbXsrv */

Generated by: LCOV version 1.14