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 master 2b515b7d Lines: 929 3183 29.2 %
Date: 2024-02-28 12:06:22 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      942952 : 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      942952 :         NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
      13      935362 :         return NDR_ERR_SUCCESS;
      14             : }
      15             : 
      16        5209 : 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        5209 :         NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
      20        5209 :         *r = v;
      21        5209 :         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       27659 : 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       27659 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     347       27659 :         if (ndr_flags & NDR_SCALARS) {
     348       27659 :                 NDR_CHECK(ndr_push_align(ndr, 8));
     349       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     350             :                 /* [ignore] 'db_rec' */
     351       27659 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
     352       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local_address, CH_UTF8)));
     353       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     354       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local_address, CH_UTF8)));
     355       27659 :                 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       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_address, CH_UTF8)));
     357       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     358       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_address, CH_UTF8)));
     359       27659 :                 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       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_name, CH_UTF8)));
     361       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     362       27659 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_name, CH_UTF8)));
     363       27659 :                 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       27659 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->initial_connect_time));
     365       27659 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->client_guid));
     366       27659 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->stored));
     367       27659 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
     368             :         }
     369       27659 :         if (ndr_flags & NDR_BUFFERS) {
     370             :                 /* [ignore] 'db_rec' */
     371         645 :         }
     372       27659 :         return NDR_ERR_SUCCESS;
     373             : }
     374             : 
     375        1202 : 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        1202 :         uint32_t size_local_address_0 = 0;
     379        1202 :         uint32_t length_local_address_0 = 0;
     380        1202 :         uint32_t size_remote_address_0 = 0;
     381        1202 :         uint32_t length_remote_address_0 = 0;
     382        1202 :         uint32_t size_remote_name_0 = 0;
     383        1202 :         uint32_t length_remote_name_0 = 0;
     384        1202 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     385        1202 :         if (ndr_flags & NDR_SCALARS) {
     386        1202 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
     387        1202 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
     388        1202 :                 _ptr_db_rec = 0;
     389        1202 :                 if (_ptr_db_rec) {
     390             :                 } else {
     391        1202 :                         r->db_rec = NULL;
     392             :                 }
     393             :                 /* [ignore] 'db_rec' */
     394        1202 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
     395        1202 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->local_address));
     396        1202 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->local_address));
     397        1202 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->local_address, &size_local_address_0));
     398        1202 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->local_address, &length_local_address_0));
     399        1202 :                 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        1202 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_local_address_0, sizeof(uint8_t)));
     403        1202 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local_address, length_local_address_0, sizeof(uint8_t), CH_UTF8));
     404        1202 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_address));
     405        1202 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_address));
     406        1202 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_address, &size_remote_address_0));
     407        1202 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_address, &length_remote_address_0));
     408        1202 :                 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        1202 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_address_0, sizeof(uint8_t)));
     412        1202 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_address, length_remote_address_0, sizeof(uint8_t), CH_UTF8));
     413        1202 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_name));
     414        1202 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_name));
     415        1202 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_name, &size_remote_name_0));
     416        1202 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_name, &length_remote_name_0));
     417        1202 :                 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        1202 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_name_0, sizeof(uint8_t)));
     421        1202 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_name, length_remote_name_0, sizeof(uint8_t), CH_UTF8));
     422        1202 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->initial_connect_time));
     423        1202 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->client_guid));
     424        1202 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->stored));
     425        1202 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
     426             :         }
     427        1202 :         if (ndr_flags & NDR_BUFFERS) {
     428             :                 /* [ignore] 'db_rec' */
     429          52 :         }
     430        1202 :         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       55318 : 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       55318 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     454       55318 :         if (ndr_flags & NDR_SCALARS) {
     455             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     456       27659 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     457       27659 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     458       27659 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
     459       27659 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
     460       27659 :                 switch (level) {
     461       27659 :                         case 0: {
     462       27659 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
     463       27014 :                         break; }
     464             : 
     465           0 :                         default: {
     466           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
     467           0 :                         break; }
     468             : 
     469             :                 }
     470             :         }
     471       55318 :         if (ndr_flags & NDR_BUFFERS) {
     472       27659 :                 if (!(ndr_flags & NDR_SCALARS)) {
     473             :                         /* We didn't get it above, and the token is not needed after this. */
     474       27659 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
     475             :                 }
     476       27659 :                 switch (level) {
     477       27659 :                         case 0:
     478       27659 :                                 if (r->info0) {
     479       27659 :                                         NDR_CHECK(ndr_push_smbXsrv_client_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
     480             :                                 }
     481       27014 :                         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       54028 :         return NDR_ERR_SUCCESS;
     492             : }
     493             : 
     494        2404 : 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        2404 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
     499         104 :         uint32_t _ptr_info0;
     500        2404 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
     501         104 :         uint32_t _ptr_dummy;
     502        2404 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     503        2404 :         if (ndr_flags & NDR_SCALARS) {
     504             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
     505        1202 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     506        1202 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     507        1202 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
     508        1202 :                 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        1202 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
     512        1202 :                 switch (level) {
     513        1202 :                         case 0: {
     514        1202 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
     515        1202 :                                 if (_ptr_info0) {
     516        1202 :                                         NDR_PULL_ALLOC(ndr, r->info0);
     517             :                                 } else {
     518           0 :                                         r->info0 = NULL;
     519             :                                 }
     520        1150 :                         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        2404 :         if (ndr_flags & NDR_BUFFERS) {
     534        1202 :                 if (!(ndr_flags & NDR_SCALARS)) {
     535             :                         /* We didn't get it above, and the token is not needed after this. */
     536        1202 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
     537             :                 }
     538        1202 :                 switch (level) {
     539        1202 :                         case 0:
     540        1202 :                                 if (r->info0) {
     541        1202 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
     542        1202 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
     543        1202 :                                         NDR_CHECK(ndr_pull_smbXsrv_client_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
     544        1202 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
     545             :                                 }
     546        1150 :                         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        2300 :         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       27659 : _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       27659 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
     592       27659 :         if (ndr_flags & NDR_SCALARS) {
     593       27659 :                 NDR_CHECK(ndr_push_align(ndr, 5));
     594       28304 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
     595       27659 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
     596       27659 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
     597       27659 :                 NDR_CHECK(ndr_push_smbXsrv_client_globalU(ndr, NDR_SCALARS, &r->info));
     598       27659 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
     599             :         }
     600       27659 :         if (ndr_flags & NDR_BUFFERS) {
     601       27659 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
     602       27659 :                 NDR_CHECK(ndr_push_smbXsrv_client_globalU(ndr, NDR_BUFFERS, &r->info));
     603             :         }
     604       27014 :         return NDR_ERR_SUCCESS;
     605             : }
     606             : 
     607        1202 : _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        1202 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
     610        1202 :         if (ndr_flags & NDR_SCALARS) {
     611        1202 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
     612        1254 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
     613        1202 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
     614        1202 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
     615        1202 :                 NDR_CHECK(ndr_pull_smbXsrv_client_globalU(ndr, NDR_SCALARS, &r->info));
     616        1202 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
     617             :         }
     618        1202 :         if (ndr_flags & NDR_BUFFERS) {
     619        1202 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
     620        1202 :                 NDR_CHECK(ndr_pull_smbXsrv_client_globalU(ndr, NDR_BUFFERS, &r->info));
     621             :         }
     622        1150 :         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      305258 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_encrpytion_flags(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint8_t r)
    1534             : {
    1535      305258 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
    1536      300537 :         return NDR_ERR_SUCCESS;
    1537             : }
    1538             : 
    1539        1472 : _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        1472 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
    1543        1472 :         *r = v;
    1544        1472 :         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      305258 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_signing_flags(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint8_t r)
    1559             : {
    1560      305258 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
    1561      300537 :         return NDR_ERR_SUCCESS;
    1562             : }
    1563             : 
    1564        1472 : _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        1472 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
    1568        1472 :         *r = v;
    1569        1472 :         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      456663 : 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      456663 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1585      456663 :         if (ndr_flags & NDR_SCALARS) {
    1586      230032 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1587      230032 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
    1588      230032 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->channel_id));
    1589      230032 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->creation_time));
    1590      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local_address, CH_UTF8)));
    1591      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1592      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local_address, CH_UTF8)));
    1593      230032 :                 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      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_address, CH_UTF8)));
    1595      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1596      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_address, CH_UTF8)));
    1597      230032 :                 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      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_name, CH_UTF8)));
    1599      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1600      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_name, CH_UTF8)));
    1601      230032 :                 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      230032 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signing_key_blob));
    1603      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1604             :                 /* [ignore] 'signing_key' */
    1605      230032 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_session_info_seqnum));
    1606      230032 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1607             :                 /* [ignore] 'connection' */
    1608      230032 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->signing_algo));
    1609      230032 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->encryption_cipher));
    1610      230032 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1611             :         }
    1612      456663 :         if (ndr_flags & NDR_BUFFERS) {
    1613             :                 /* [ignore] 'signing_key' */
    1614             :                 /* [ignore] 'connection' */
    1615        3401 :         }
    1616      456663 :         return NDR_ERR_SUCCESS;
    1617             : }
    1618             : 
    1619        2558 : 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        2558 :         uint32_t size_local_address_0 = 0;
    1622        2558 :         uint32_t length_local_address_0 = 0;
    1623        2558 :         uint32_t size_remote_address_0 = 0;
    1624        2558 :         uint32_t length_remote_address_0 = 0;
    1625        2558 :         uint32_t size_remote_name_0 = 0;
    1626        2558 :         uint32_t length_remote_name_0 = 0;
    1627         418 :         uint32_t _ptr_signing_key;
    1628         418 :         uint32_t _ptr_connection;
    1629        2558 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1630        2558 :         if (ndr_flags & NDR_SCALARS) {
    1631        1279 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1632        1279 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
    1633        1279 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->channel_id));
    1634        1279 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->creation_time));
    1635        1279 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->local_address));
    1636        1279 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->local_address));
    1637        1279 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->local_address, &size_local_address_0));
    1638        1279 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->local_address, &length_local_address_0));
    1639        1279 :                 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        1279 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_local_address_0, sizeof(uint8_t)));
    1643        1279 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local_address, length_local_address_0, sizeof(uint8_t), CH_UTF8));
    1644        1279 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_address));
    1645        1279 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_address));
    1646        1279 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_address, &size_remote_address_0));
    1647        1279 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_address, &length_remote_address_0));
    1648        1279 :                 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        1279 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_address_0, sizeof(uint8_t)));
    1652        1279 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_address, length_remote_address_0, sizeof(uint8_t), CH_UTF8));
    1653        1279 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_name));
    1654        1279 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_name));
    1655        1279 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->remote_name, &size_remote_name_0));
    1656        1279 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->remote_name, &length_remote_name_0));
    1657        1279 :                 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        1279 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_name_0, sizeof(uint8_t)));
    1661        1279 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_name, length_remote_name_0, sizeof(uint8_t), CH_UTF8));
    1662        1279 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signing_key_blob));
    1663        1279 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_signing_key));
    1664        1279 :                 _ptr_signing_key = 0;
    1665        1279 :                 if (_ptr_signing_key) {
    1666             :                 } else {
    1667        1279 :                         r->signing_key = NULL;
    1668             :                 }
    1669             :                 /* [ignore] 'signing_key' */
    1670        1279 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_session_info_seqnum));
    1671        1279 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_connection));
    1672        1279 :                 _ptr_connection = 0;
    1673        1279 :                 if (_ptr_connection) {
    1674             :                 } else {
    1675        1279 :                         r->connection = NULL;
    1676             :                 }
    1677             :                 /* [ignore] 'connection' */
    1678        1279 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->signing_algo));
    1679        1279 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->encryption_cipher));
    1680        1279 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1681             :         }
    1682        2558 :         if (ndr_flags & NDR_BUFFERS) {
    1683             :                 /* [ignore] 'signing_key' */
    1684             :                 /* [ignore] 'connection' */
    1685         418 :         }
    1686        2558 :         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      188616 : 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      188616 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1714      188616 :         if (ndr_flags & NDR_SCALARS) {
    1715      188616 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    1716      188616 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1717             :                 /* [ignore] 'db_rec' */
    1718      188616 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_global_id));
    1719      188616 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->session_wire_id));
    1720      188616 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->creation_time));
    1721      188616 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->expiration_time));
    1722      188616 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auth_time));
    1723      188616 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_session_info_seqnum));
    1724      188616 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth_session_info));
    1725      188616 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->connection_dialect));
    1726      188616 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->client_guid));
    1727      188616 :                 NDR_CHECK(ndr_push_smbXsrv_signing_flags(ndr, NDR_SCALARS, r->signing_flags));
    1728      188616 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->signing_algo));
    1729      188616 :                 NDR_CHECK(ndr_push_smbXsrv_encrpytion_flags(ndr, NDR_SCALARS, r->encryption_flags));
    1730      188616 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->encryption_cipher));
    1731      188616 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signing_key_blob));
    1732      188616 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1733             :                 /* [ignore] 'signing_key' */
    1734      188616 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->encryption_key_blob));
    1735      188616 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1736             :                 /* [ignore] 'encryption_key' */
    1737      188616 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->decryption_key_blob));
    1738      188616 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1739             :                 /* [ignore] 'decryption_key' */
    1740      188616 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->application_key_blob));
    1741      188616 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    1742             :                 /* [ignore] 'application_key' */
    1743      188616 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_channels));
    1744      418648 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (r->num_channels); cntr_channels_0++) {
    1745      230032 :                         NDR_CHECK(ndr_push_smbXsrv_channel_global0(ndr, NDR_SCALARS, &r->channels[cntr_channels_0]));
    1746             :                 }
    1747      188616 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    1748             :         }
    1749      188616 :         if (ndr_flags & NDR_BUFFERS) {
    1750             :                 /* [ignore] 'db_rec' */
    1751      188616 :                 if (r->auth_session_info) {
    1752       71172 :                         NDR_CHECK(ndr_push_auth_session_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->auth_session_info));
    1753             :                 }
    1754             :                 /* [ignore] 'signing_key' */
    1755             :                 /* [ignore] 'encryption_key' */
    1756             :                 /* [ignore] 'decryption_key' */
    1757             :                 /* [ignore] 'application_key' */
    1758      418648 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (r->num_channels); cntr_channels_0++) {
    1759      230032 :                         NDR_CHECK(ndr_push_smbXsrv_channel_global0(ndr, NDR_BUFFERS, &r->channels[cntr_channels_0]));
    1760             :                 }
    1761             :         }
    1762      185289 :         return NDR_ERR_SUCCESS;
    1763             : }
    1764             : 
    1765        1271 : static enum ndr_err_code ndr_pull_smbXsrv_session_global0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_global0 *r)
    1766             : {
    1767         209 :         uint32_t _ptr_db_rec;
    1768         209 :         uint32_t _ptr_auth_session_info;
    1769        1271 :         TALLOC_CTX *_mem_save_auth_session_info_0 = NULL;
    1770         209 :         uint32_t _ptr_signing_key;
    1771         209 :         uint32_t _ptr_encryption_key;
    1772         209 :         uint32_t _ptr_decryption_key;
    1773         209 :         uint32_t _ptr_application_key;
    1774        1271 :         uint32_t size_channels_0 = 0;
    1775         209 :         uint32_t cntr_channels_0;
    1776        1271 :         TALLOC_CTX *_mem_save_channels_0 = NULL;
    1777        1271 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1778        1271 :         if (ndr_flags & NDR_SCALARS) {
    1779        1271 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    1780        1271 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
    1781        1271 :                 _ptr_db_rec = 0;
    1782        1271 :                 if (_ptr_db_rec) {
    1783             :                 } else {
    1784        1271 :                         r->db_rec = NULL;
    1785             :                 }
    1786             :                 /* [ignore] 'db_rec' */
    1787        1271 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_global_id));
    1788        1271 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->session_wire_id));
    1789        1271 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->creation_time));
    1790        1271 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->expiration_time));
    1791        1271 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auth_time));
    1792        1271 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_session_info_seqnum));
    1793        1271 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth_session_info));
    1794        1271 :                 if (_ptr_auth_session_info) {
    1795        1268 :                         NDR_PULL_ALLOC(ndr, r->auth_session_info);
    1796             :                 } else {
    1797           3 :                         r->auth_session_info = NULL;
    1798             :                 }
    1799        1271 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->connection_dialect));
    1800        1271 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->client_guid));
    1801        1271 :                 NDR_CHECK(ndr_pull_smbXsrv_signing_flags(ndr, NDR_SCALARS, &r->signing_flags));
    1802        1271 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->signing_algo));
    1803        1271 :                 NDR_CHECK(ndr_pull_smbXsrv_encrpytion_flags(ndr, NDR_SCALARS, &r->encryption_flags));
    1804        1271 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->encryption_cipher));
    1805        1271 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signing_key_blob));
    1806        1271 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_signing_key));
    1807        1271 :                 _ptr_signing_key = 0;
    1808        1271 :                 if (_ptr_signing_key) {
    1809             :                 } else {
    1810        1271 :                         r->signing_key = NULL;
    1811             :                 }
    1812             :                 /* [ignore] 'signing_key' */
    1813        1271 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->encryption_key_blob));
    1814        1271 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_encryption_key));
    1815        1271 :                 _ptr_encryption_key = 0;
    1816        1271 :                 if (_ptr_encryption_key) {
    1817             :                 } else {
    1818        1271 :                         r->encryption_key = NULL;
    1819             :                 }
    1820             :                 /* [ignore] 'encryption_key' */
    1821        1271 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->decryption_key_blob));
    1822        1271 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_decryption_key));
    1823        1271 :                 _ptr_decryption_key = 0;
    1824        1271 :                 if (_ptr_decryption_key) {
    1825             :                 } else {
    1826        1271 :                         r->decryption_key = NULL;
    1827             :                 }
    1828             :                 /* [ignore] 'decryption_key' */
    1829        1271 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->application_key_blob));
    1830        1271 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_application_key));
    1831        1271 :                 _ptr_application_key = 0;
    1832        1271 :                 if (_ptr_application_key) {
    1833             :                 } else {
    1834        1271 :                         r->application_key = NULL;
    1835             :                 }
    1836             :                 /* [ignore] 'application_key' */
    1837        1271 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_channels));
    1838        1271 :                 if (r->num_channels < 1 || r->num_channels > 1024) {
    1839           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));
    1840             :                 }
    1841        1271 :                 size_channels_0 = r->num_channels;
    1842        1271 :                 NDR_PULL_ALLOC_N(ndr, r->channels, size_channels_0);
    1843        1271 :                 _mem_save_channels_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1844        1271 :                 NDR_PULL_SET_MEM_CTX(ndr, r->channels, 0);
    1845        2550 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (size_channels_0); cntr_channels_0++) {
    1846        1279 :                         NDR_CHECK(ndr_pull_smbXsrv_channel_global0(ndr, NDR_SCALARS, &r->channels[cntr_channels_0]));
    1847             :                 }
    1848        1271 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_channels_0, 0);
    1849        1271 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    1850             :         }
    1851        1271 :         if (ndr_flags & NDR_BUFFERS) {
    1852             :                 /* [ignore] 'db_rec' */
    1853        1271 :                 if (r->auth_session_info) {
    1854        1268 :                         _mem_save_auth_session_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1855        1268 :                         NDR_PULL_SET_MEM_CTX(ndr, r->auth_session_info, 0);
    1856        1268 :                         NDR_CHECK(ndr_pull_auth_session_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->auth_session_info));
    1857        1268 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_session_info_0, 0);
    1858             :                 }
    1859             :                 /* [ignore] 'signing_key' */
    1860             :                 /* [ignore] 'encryption_key' */
    1861             :                 /* [ignore] 'decryption_key' */
    1862             :                 /* [ignore] 'application_key' */
    1863        1271 :                 size_channels_0 = r->num_channels;
    1864        1271 :                 _mem_save_channels_0 = NDR_PULL_GET_MEM_CTX(ndr);
    1865        1271 :                 NDR_PULL_SET_MEM_CTX(ndr, r->channels, 0);
    1866        2550 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (size_channels_0); cntr_channels_0++) {
    1867        1279 :                         NDR_CHECK(ndr_pull_smbXsrv_channel_global0(ndr, NDR_BUFFERS, &r->channels[cntr_channels_0]));
    1868             :                 }
    1869        1271 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_channels_0, 0);
    1870        2341 :                 for (cntr_channels_0 = 0; cntr_channels_0 < (size_channels_0); cntr_channels_0++) {
    1871             :                 }
    1872             :         }
    1873        1062 :         return NDR_ERR_SUCCESS;
    1874             : }
    1875             : 
    1876           0 : _PUBLIC_ void ndr_print_smbXsrv_session_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_global0 *r)
    1877             : {
    1878           0 :         uint32_t cntr_channels_0;
    1879           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_global0");
    1880           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    1881           0 :         ndr->depth++;
    1882           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
    1883             :         /* [ignore] 'db_rec' */
    1884           0 :         ndr_print_uint32(ndr, "session_global_id", r->session_global_id);
    1885           0 :         ndr_print_hyper(ndr, "session_wire_id", r->session_wire_id);
    1886           0 :         ndr_print_NTTIME(ndr, "creation_time", r->creation_time);
    1887           0 :         ndr_print_NTTIME(ndr, "expiration_time", r->expiration_time);
    1888           0 :         ndr_print_NTTIME(ndr, "auth_time", r->auth_time);
    1889           0 :         ndr_print_uint32(ndr, "auth_session_info_seqnum", r->auth_session_info_seqnum);
    1890           0 :         ndr_print_ptr(ndr, "auth_session_info", r->auth_session_info);
    1891           0 :         ndr->depth++;
    1892           0 :         if (r->auth_session_info) {
    1893           0 :                 ndr_print_auth_session_info(ndr, "auth_session_info", r->auth_session_info);
    1894             :         }
    1895           0 :         ndr->depth--;
    1896           0 :         ndr_print_uint16(ndr, "connection_dialect", r->connection_dialect);
    1897           0 :         ndr_print_GUID(ndr, "client_guid", &r->client_guid);
    1898           0 :         ndr_print_smbXsrv_signing_flags(ndr, "signing_flags", r->signing_flags);
    1899           0 :         ndr_print_uint16(ndr, "signing_algo", r->signing_algo);
    1900           0 :         ndr_print_smbXsrv_encrpytion_flags(ndr, "encryption_flags", r->encryption_flags);
    1901           0 :         ndr_print_uint16(ndr, "encryption_cipher", r->encryption_cipher);
    1902           0 :         ndr_print_ptr(ndr, "signing_key", r->signing_key);
    1903             :         /* [ignore] 'signing_key' */
    1904           0 :         ndr_print_ptr(ndr, "encryption_key", r->encryption_key);
    1905             :         /* [ignore] 'encryption_key' */
    1906           0 :         ndr_print_ptr(ndr, "decryption_key", r->decryption_key);
    1907             :         /* [ignore] 'decryption_key' */
    1908           0 :         ndr_print_ptr(ndr, "application_key", r->application_key);
    1909             :         /* [ignore] 'application_key' */
    1910           0 :         ndr_print_uint32(ndr, "num_channels", r->num_channels);
    1911           0 :         ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "channels", (uint32_t)(r->num_channels));
    1912           0 :         ndr->depth++;
    1913           0 :         for (cntr_channels_0 = 0; cntr_channels_0 < (r->num_channels); cntr_channels_0++) {
    1914           0 :                 ndr_print_smbXsrv_channel_global0(ndr, "channels", &r->channels[cntr_channels_0]);
    1915             :         }
    1916           0 :         ndr->depth--;
    1917           0 :         ndr->depth--;
    1918             : }
    1919             : 
    1920      377232 : 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)
    1921             : {
    1922        6654 :         uint32_t level;
    1923      377232 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    1924      377232 :         if (ndr_flags & NDR_SCALARS) {
    1925             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1926      188616 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1927      188616 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1928      188616 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    1929      188616 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    1930      188616 :                 switch (level) {
    1931      188616 :                         case 0: {
    1932      188616 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    1933      185289 :                         break; }
    1934             : 
    1935           0 :                         default: {
    1936           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    1937           0 :                         break; }
    1938             : 
    1939             :                 }
    1940             :         }
    1941      377232 :         if (ndr_flags & NDR_BUFFERS) {
    1942      188616 :                 if (!(ndr_flags & NDR_SCALARS)) {
    1943             :                         /* We didn't get it above, and the token is not needed after this. */
    1944      188616 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    1945             :                 }
    1946      188616 :                 switch (level) {
    1947      188616 :                         case 0:
    1948      188616 :                                 if (r->info0) {
    1949      188616 :                                         NDR_CHECK(ndr_push_smbXsrv_session_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    1950             :                                 }
    1951      185289 :                         break;
    1952             : 
    1953           0 :                         default:
    1954           0 :                                 if (r->dummy) {
    1955           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    1956             :                                 }
    1957           0 :                         break;
    1958             : 
    1959             :                 }
    1960             :         }
    1961      370578 :         return NDR_ERR_SUCCESS;
    1962             : }
    1963             : 
    1964        2542 : static enum ndr_err_code ndr_pull_smbXsrv_session_globalU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_session_globalU *r)
    1965             : {
    1966         418 :         uint32_t level;
    1967         418 :         uint32_t _level;
    1968        2542 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    1969         418 :         uint32_t _ptr_info0;
    1970        2542 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    1971         418 :         uint32_t _ptr_dummy;
    1972        2542 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    1973        2542 :         if (ndr_flags & NDR_SCALARS) {
    1974             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    1975        1271 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    1976        1271 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1977        1271 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    1978        1271 :                 if (_level != level) {
    1979           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    1980             :                 }
    1981        1271 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    1982        1271 :                 switch (level) {
    1983        1271 :                         case 0: {
    1984        1271 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    1985        1271 :                                 if (_ptr_info0) {
    1986        1271 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    1987             :                                 } else {
    1988           0 :                                         r->info0 = NULL;
    1989             :                                 }
    1990        1062 :                         break; }
    1991             : 
    1992           0 :                         default: {
    1993           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    1994           0 :                                 if (_ptr_dummy) {
    1995           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    1996             :                                 } else {
    1997           0 :                                         r->dummy = NULL;
    1998             :                                 }
    1999           0 :                         break; }
    2000             : 
    2001             :                 }
    2002             :         }
    2003        2542 :         if (ndr_flags & NDR_BUFFERS) {
    2004        1271 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2005             :                         /* We didn't get it above, and the token is not needed after this. */
    2006        1271 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2007             :                 }
    2008        1271 :                 switch (level) {
    2009        1271 :                         case 0:
    2010        1271 :                                 if (r->info0) {
    2011        1271 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2012        1271 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    2013        1271 :                                         NDR_CHECK(ndr_pull_smbXsrv_session_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    2014        1271 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    2015             :                                 }
    2016        1062 :                         break;
    2017             : 
    2018           0 :                         default:
    2019           0 :                                 if (r->dummy) {
    2020           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2021           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    2022           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    2023           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    2024             :                                 }
    2025           0 :                         break;
    2026             : 
    2027             :                 }
    2028             :         }
    2029        2124 :         return NDR_ERR_SUCCESS;
    2030             : }
    2031             : 
    2032           0 : _PUBLIC_ void ndr_print_smbXsrv_session_globalU(struct ndr_print *ndr, const char *name, const union smbXsrv_session_globalU *r)
    2033             : {
    2034           0 :         uint32_t level;
    2035           0 :         level = ndr_print_steal_switch_value(ndr, r);
    2036           0 :         ndr_print_union(ndr, name, level, "smbXsrv_session_globalU");
    2037           0 :         switch (level) {
    2038           0 :                 case 0:
    2039           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    2040           0 :                         ndr->depth++;
    2041           0 :                         if (r->info0) {
    2042           0 :                                 ndr_print_smbXsrv_session_global0(ndr, "info0", r->info0);
    2043             :                         }
    2044           0 :                         ndr->depth--;
    2045           0 :                 break;
    2046             : 
    2047           0 :                 default:
    2048           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    2049           0 :                         ndr->depth++;
    2050           0 :                         if (r->dummy) {
    2051           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    2052             :                         }
    2053           0 :                         ndr->depth--;
    2054           0 :                 break;
    2055             : 
    2056             :         }
    2057           0 : }
    2058             : 
    2059      188616 : _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)
    2060             : {
    2061      188616 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2062      188616 :         if (ndr_flags & NDR_SCALARS) {
    2063      188616 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2064      191943 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    2065      188616 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
    2066      188616 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2067      188616 :                 NDR_CHECK(ndr_push_smbXsrv_session_globalU(ndr, NDR_SCALARS, &r->info));
    2068      188616 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2069             :         }
    2070      188616 :         if (ndr_flags & NDR_BUFFERS) {
    2071      188616 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2072      188616 :                 NDR_CHECK(ndr_push_smbXsrv_session_globalU(ndr, NDR_BUFFERS, &r->info));
    2073             :         }
    2074      185289 :         return NDR_ERR_SUCCESS;
    2075             : }
    2076             : 
    2077        1271 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_session_globalB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_globalB *r)
    2078             : {
    2079        1271 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2080        1271 :         if (ndr_flags & NDR_SCALARS) {
    2081        1271 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2082        1480 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    2083        1271 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
    2084        1271 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2085        1271 :                 NDR_CHECK(ndr_pull_smbXsrv_session_globalU(ndr, NDR_SCALARS, &r->info));
    2086        1271 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2087             :         }
    2088        1271 :         if (ndr_flags & NDR_BUFFERS) {
    2089        1271 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2090        1271 :                 NDR_CHECK(ndr_pull_smbXsrv_session_globalU(ndr, NDR_BUFFERS, &r->info));
    2091             :         }
    2092        1062 :         return NDR_ERR_SUCCESS;
    2093             : }
    2094             : 
    2095           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)
    2096             : {
    2097           0 :         ndr_print_smbXsrv_session_globalB(ndr, name, r);
    2098           0 : }
    2099             : 
    2100           0 : _PUBLIC_ void ndr_print_smbXsrv_session_globalB(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_globalB *r)
    2101             : {
    2102           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_globalB");
    2103           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2104           0 :         ndr->depth++;
    2105           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    2106           0 :         ndr_print_uint32(ndr, "seqnum", r->seqnum);
    2107           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    2108           0 :         ndr_print_smbXsrv_session_globalU(ndr, "info", &r->info);
    2109           0 :         ndr->depth--;
    2110             : }
    2111             : 
    2112           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)
    2113             : {
    2114           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2115           0 :         if (ndr_flags & NDR_SCALARS) {
    2116           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2117           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2118             :                 /* [ignore] 'prev' */
    2119           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
    2120           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2121             :                 /* [ignore] 'session' */
    2122           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2123             :                 /* [ignore] 'connection' */
    2124           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2125             :                 /* [ignore] 'gensec' */
    2126           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2127             :                 /* [ignore] 'preauth' */
    2128           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in_flags));
    2129           0 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in_security_mode));
    2130           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->creation_time));
    2131           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    2132           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->channel_id));
    2133           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2134             :         }
    2135           0 :         if (ndr_flags & NDR_BUFFERS) {
    2136             :                 /* [ignore] 'prev' */
    2137           0 :                 if (r->next) {
    2138           0 :                         NDR_CHECK(ndr_push_smbXsrv_session_auth0(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
    2139             :                 }
    2140             :                 /* [ignore] 'session' */
    2141             :                 /* [ignore] 'connection' */
    2142             :                 /* [ignore] 'gensec' */
    2143             :                 /* [ignore] 'preauth' */
    2144             :         }
    2145           0 :         return NDR_ERR_SUCCESS;
    2146             : }
    2147             : 
    2148           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)
    2149             : {
    2150           0 :         uint32_t _ptr_prev;
    2151           0 :         uint32_t _ptr_next;
    2152           0 :         TALLOC_CTX *_mem_save_next_0 = NULL;
    2153           0 :         uint32_t _ptr_session;
    2154           0 :         uint32_t _ptr_connection;
    2155           0 :         uint32_t _ptr_gensec;
    2156           0 :         uint32_t _ptr_preauth;
    2157           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2158           0 :         if (ndr_flags & NDR_SCALARS) {
    2159           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2160           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_prev));
    2161           0 :                 _ptr_prev = 0;
    2162           0 :                 if (_ptr_prev) {
    2163             :                 } else {
    2164           0 :                         r->prev = NULL;
    2165             :                 }
    2166             :                 /* [ignore] 'prev' */
    2167           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
    2168           0 :                 if (_ptr_next) {
    2169           0 :                         NDR_PULL_ALLOC(ndr, r->next);
    2170             :                 } else {
    2171           0 :                         r->next = NULL;
    2172             :                 }
    2173           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_session));
    2174           0 :                 _ptr_session = 0;
    2175           0 :                 if (_ptr_session) {
    2176             :                 } else {
    2177           0 :                         r->session = NULL;
    2178             :                 }
    2179             :                 /* [ignore] 'session' */
    2180           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_connection));
    2181           0 :                 _ptr_connection = 0;
    2182           0 :                 if (_ptr_connection) {
    2183             :                 } else {
    2184           0 :                         r->connection = NULL;
    2185             :                 }
    2186             :                 /* [ignore] 'connection' */
    2187           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_gensec));
    2188           0 :                 _ptr_gensec = 0;
    2189           0 :                 if (_ptr_gensec) {
    2190             :                 } else {
    2191           0 :                         r->gensec = NULL;
    2192             :                 }
    2193             :                 /* [ignore] 'gensec' */
    2194           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_preauth));
    2195           0 :                 _ptr_preauth = 0;
    2196           0 :                 if (_ptr_preauth) {
    2197             :                 } else {
    2198           0 :                         r->preauth = NULL;
    2199             :                 }
    2200             :                 /* [ignore] 'preauth' */
    2201           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in_flags));
    2202           0 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in_security_mode));
    2203           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->creation_time));
    2204           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    2205           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->channel_id));
    2206           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2207             :         }
    2208           0 :         if (ndr_flags & NDR_BUFFERS) {
    2209             :                 /* [ignore] 'prev' */
    2210           0 :                 if (r->next) {
    2211           0 :                         _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2212           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
    2213           0 :                         NDR_RECURSION_CHECK(ndr, 20000);
    2214           0 :                         NDR_CHECK(ndr_pull_smbXsrv_session_auth0(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
    2215           0 :                         NDR_RECURSION_UNWIND(ndr);
    2216           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
    2217             :                 }
    2218             :                 /* [ignore] 'session' */
    2219             :                 /* [ignore] 'connection' */
    2220             :                 /* [ignore] 'gensec' */
    2221             :                 /* [ignore] 'preauth' */
    2222             :         }
    2223           0 :         return NDR_ERR_SUCCESS;
    2224             : }
    2225             : 
    2226           0 : _PUBLIC_ void ndr_print_smbXsrv_session_auth0(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_auth0 *r)
    2227             : {
    2228           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_auth0");
    2229           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2230           0 :         ndr->depth++;
    2231           0 :         ndr_print_ptr(ndr, "prev", r->prev);
    2232             :         /* [ignore] 'prev' */
    2233           0 :         ndr_print_ptr(ndr, "next", r->next);
    2234           0 :         ndr->depth++;
    2235           0 :         if (r->next) {
    2236           0 :                 ndr_print_smbXsrv_session_auth0(ndr, "next", r->next);
    2237             :         }
    2238           0 :         ndr->depth--;
    2239           0 :         ndr_print_ptr(ndr, "session", r->session);
    2240             :         /* [ignore] 'session' */
    2241           0 :         ndr_print_ptr(ndr, "connection", r->connection);
    2242             :         /* [ignore] 'connection' */
    2243           0 :         ndr_print_ptr(ndr, "gensec", r->gensec);
    2244             :         /* [ignore] 'gensec' */
    2245           0 :         ndr_print_ptr(ndr, "preauth", r->preauth);
    2246             :         /* [ignore] 'preauth' */
    2247           0 :         ndr_print_uint8(ndr, "in_flags", r->in_flags);
    2248           0 :         ndr_print_uint8(ndr, "in_security_mode", r->in_security_mode);
    2249           0 :         ndr_print_NTTIME(ndr, "creation_time", r->creation_time);
    2250           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    2251           0 :         ndr_print_hyper(ndr, "channel_id", r->channel_id);
    2252           0 :         ndr->depth--;
    2253             : }
    2254             : 
    2255           0 : static enum ndr_err_code ndr_push_smbXsrv_session(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_session *r)
    2256             : {
    2257           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2258           0 :         if (ndr_flags & NDR_SCALARS) {
    2259           0 :                 if (r->global == NULL) {
    2260           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    2261             :                 }
    2262           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2263           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2264             :                 /* [ignore] 'table' */
    2265           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2266             :                 /* [ignore] 'db_rec' */
    2267           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2268             :                 /* [ignore] 'client' */
    2269           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->local_id));
    2270           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->global */
    2271           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
    2272           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    2273           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->nonce_high_random));
    2274           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->nonce_high_max));
    2275           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->nonce_high));
    2276           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->nonce_low));
    2277           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2278             :                 /* [ignore] 'tcon_table' */
    2279           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->homes_snum));
    2280           0 :                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pending_auth));
    2281           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2282             :         }
    2283           0 :         if (ndr_flags & NDR_BUFFERS) {
    2284             :                 /* [ignore] 'table' */
    2285             :                 /* [ignore] 'db_rec' */
    2286             :                 /* [ignore] 'client' */
    2287           0 :                 NDR_CHECK(ndr_push_smbXsrv_session_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
    2288             :                 /* [ignore] 'tcon_table' */
    2289           0 :                 if (r->pending_auth) {
    2290           0 :                         NDR_CHECK(ndr_push_smbXsrv_session_auth0(ndr, NDR_SCALARS|NDR_BUFFERS, r->pending_auth));
    2291             :                 }
    2292             :         }
    2293           0 :         return NDR_ERR_SUCCESS;
    2294             : }
    2295             : 
    2296           0 : static enum ndr_err_code ndr_pull_smbXsrv_session(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session *r)
    2297             : {
    2298           0 :         uint32_t _ptr_table;
    2299           0 :         uint32_t _ptr_db_rec;
    2300           0 :         uint32_t _ptr_client;
    2301           0 :         uint32_t _ptr_global;
    2302           0 :         TALLOC_CTX *_mem_save_global_0 = NULL;
    2303           0 :         uint32_t _ptr_tcon_table;
    2304           0 :         uint32_t _ptr_pending_auth;
    2305           0 :         TALLOC_CTX *_mem_save_pending_auth_0 = NULL;
    2306           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2307           0 :         if (ndr_flags & NDR_SCALARS) {
    2308           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2309           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_table));
    2310           0 :                 _ptr_table = 0;
    2311           0 :                 if (_ptr_table) {
    2312             :                 } else {
    2313           0 :                         r->table = NULL;
    2314             :                 }
    2315             :                 /* [ignore] 'table' */
    2316           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
    2317           0 :                 _ptr_db_rec = 0;
    2318           0 :                 if (_ptr_db_rec) {
    2319             :                 } else {
    2320           0 :                         r->db_rec = NULL;
    2321             :                 }
    2322             :                 /* [ignore] 'db_rec' */
    2323           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_client));
    2324           0 :                 _ptr_client = 0;
    2325           0 :                 if (_ptr_client) {
    2326             :                 } else {
    2327           0 :                         r->client = NULL;
    2328             :                 }
    2329             :                 /* [ignore] 'client' */
    2330           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->local_id));
    2331           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_global));
    2332           0 :                 if (_ptr_global) {
    2333           0 :                         NDR_PULL_ALLOC(ndr, r->global);
    2334             :                 } else {
    2335           0 :                         r->global = NULL;
    2336             :                 }
    2337           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
    2338           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    2339           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->nonce_high_random));
    2340           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->nonce_high_max));
    2341           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->nonce_high));
    2342           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->nonce_low));
    2343           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_tcon_table));
    2344           0 :                 _ptr_tcon_table = 0;
    2345           0 :                 if (_ptr_tcon_table) {
    2346             :                 } else {
    2347           0 :                         r->tcon_table = NULL;
    2348             :                 }
    2349             :                 /* [ignore] 'tcon_table' */
    2350           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->homes_snum));
    2351           0 :                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pending_auth));
    2352           0 :                 if (_ptr_pending_auth) {
    2353           0 :                         NDR_PULL_ALLOC(ndr, r->pending_auth);
    2354             :                 } else {
    2355           0 :                         r->pending_auth = NULL;
    2356             :                 }
    2357           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2358             :         }
    2359           0 :         if (ndr_flags & NDR_BUFFERS) {
    2360             :                 /* [ignore] 'table' */
    2361             :                 /* [ignore] 'db_rec' */
    2362             :                 /* [ignore] 'client' */
    2363           0 :                 _mem_save_global_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2364           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->global, 0);
    2365           0 :                 NDR_CHECK(ndr_pull_smbXsrv_session_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
    2366           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_global_0, 0);
    2367             :                 /* [ignore] 'tcon_table' */
    2368           0 :                 if (r->pending_auth) {
    2369           0 :                         _mem_save_pending_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2370           0 :                         NDR_PULL_SET_MEM_CTX(ndr, r->pending_auth, 0);
    2371           0 :                         NDR_CHECK(ndr_pull_smbXsrv_session_auth0(ndr, NDR_SCALARS|NDR_BUFFERS, r->pending_auth));
    2372           0 :                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pending_auth_0, 0);
    2373             :                 }
    2374             :         }
    2375           0 :         return NDR_ERR_SUCCESS;
    2376             : }
    2377             : 
    2378           0 : _PUBLIC_ void ndr_print_smbXsrv_session(struct ndr_print *ndr, const char *name, const struct smbXsrv_session *r)
    2379             : {
    2380           0 :         ndr_print_struct(ndr, name, "smbXsrv_session");
    2381           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2382           0 :         ndr->depth++;
    2383           0 :         ndr_print_ptr(ndr, "table", r->table);
    2384             :         /* [ignore] 'table' */
    2385           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
    2386             :         /* [ignore] 'db_rec' */
    2387           0 :         ndr_print_ptr(ndr, "client", r->client);
    2388             :         /* [ignore] 'client' */
    2389           0 :         ndr_print_uint32(ndr, "local_id", r->local_id);
    2390           0 :         ndr_print_ptr(ndr, "global", r->global);
    2391           0 :         ndr->depth++;
    2392           0 :         ndr_print_smbXsrv_session_global0(ndr, "global", r->global);
    2393           0 :         ndr->depth--;
    2394           0 :         ndr_print_NTSTATUS(ndr, "status", r->status);
    2395           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    2396           0 :         ndr_print_hyper(ndr, "nonce_high_random", r->nonce_high_random);
    2397           0 :         ndr_print_hyper(ndr, "nonce_high_max", r->nonce_high_max);
    2398           0 :         ndr_print_hyper(ndr, "nonce_high", r->nonce_high);
    2399           0 :         ndr_print_hyper(ndr, "nonce_low", r->nonce_low);
    2400           0 :         ndr_print_ptr(ndr, "tcon_table", r->tcon_table);
    2401             :         /* [ignore] 'tcon_table' */
    2402           0 :         ndr_print_uint32(ndr, "homes_snum", r->homes_snum);
    2403           0 :         ndr_print_ptr(ndr, "pending_auth", r->pending_auth);
    2404           0 :         ndr->depth++;
    2405           0 :         if (r->pending_auth) {
    2406           0 :                 ndr_print_smbXsrv_session_auth0(ndr, "pending_auth", r->pending_auth);
    2407             :         }
    2408           0 :         ndr->depth--;
    2409           0 :         ndr->depth--;
    2410             : }
    2411             : 
    2412           0 : static enum ndr_err_code ndr_push_smbXsrv_sessionU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_sessionU *r)
    2413             : {
    2414           0 :         uint32_t level;
    2415           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2416           0 :         if (ndr_flags & NDR_SCALARS) {
    2417             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2418           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2419           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2420           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    2421           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2422           0 :                 switch (level) {
    2423           0 :                         case 0: {
    2424           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    2425           0 :                         break; }
    2426             : 
    2427           0 :                         default: {
    2428           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    2429           0 :                         break; }
    2430             : 
    2431             :                 }
    2432             :         }
    2433           0 :         if (ndr_flags & NDR_BUFFERS) {
    2434           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2435             :                         /* We didn't get it above, and the token is not needed after this. */
    2436           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2437             :                 }
    2438           0 :                 switch (level) {
    2439           0 :                         case 0:
    2440           0 :                                 if (r->info0) {
    2441           0 :                                         NDR_CHECK(ndr_push_smbXsrv_session(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    2442             :                                 }
    2443           0 :                         break;
    2444             : 
    2445           0 :                         default:
    2446           0 :                                 if (r->dummy) {
    2447           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    2448             :                                 }
    2449           0 :                         break;
    2450             : 
    2451             :                 }
    2452             :         }
    2453           0 :         return NDR_ERR_SUCCESS;
    2454             : }
    2455             : 
    2456           0 : static enum ndr_err_code ndr_pull_smbXsrv_sessionU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_sessionU *r)
    2457             : {
    2458           0 :         uint32_t level;
    2459           0 :         uint32_t _level;
    2460           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    2461           0 :         uint32_t _ptr_info0;
    2462           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    2463           0 :         uint32_t _ptr_dummy;
    2464           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2465           0 :         if (ndr_flags & NDR_SCALARS) {
    2466             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2467           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2468           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2469           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    2470           0 :                 if (_level != level) {
    2471           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    2472             :                 }
    2473           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2474           0 :                 switch (level) {
    2475           0 :                         case 0: {
    2476           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    2477           0 :                                 if (_ptr_info0) {
    2478           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    2479             :                                 } else {
    2480           0 :                                         r->info0 = NULL;
    2481             :                                 }
    2482           0 :                         break; }
    2483             : 
    2484           0 :                         default: {
    2485           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    2486           0 :                                 if (_ptr_dummy) {
    2487           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    2488             :                                 } else {
    2489           0 :                                         r->dummy = NULL;
    2490             :                                 }
    2491           0 :                         break; }
    2492             : 
    2493             :                 }
    2494             :         }
    2495           0 :         if (ndr_flags & NDR_BUFFERS) {
    2496           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2497             :                         /* We didn't get it above, and the token is not needed after this. */
    2498           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2499             :                 }
    2500           0 :                 switch (level) {
    2501           0 :                         case 0:
    2502           0 :                                 if (r->info0) {
    2503           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2504           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    2505           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_session(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    2506           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    2507             :                                 }
    2508           0 :                         break;
    2509             : 
    2510           0 :                         default:
    2511           0 :                                 if (r->dummy) {
    2512           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2513           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    2514           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    2515           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    2516             :                                 }
    2517           0 :                         break;
    2518             : 
    2519             :                 }
    2520             :         }
    2521           0 :         return NDR_ERR_SUCCESS;
    2522             : }
    2523             : 
    2524           0 : _PUBLIC_ void ndr_print_smbXsrv_sessionU(struct ndr_print *ndr, const char *name, const union smbXsrv_sessionU *r)
    2525             : {
    2526           0 :         uint32_t level;
    2527           0 :         level = ndr_print_steal_switch_value(ndr, r);
    2528           0 :         ndr_print_union(ndr, name, level, "smbXsrv_sessionU");
    2529           0 :         switch (level) {
    2530           0 :                 case 0:
    2531           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    2532           0 :                         ndr->depth++;
    2533           0 :                         if (r->info0) {
    2534           0 :                                 ndr_print_smbXsrv_session(ndr, "info0", r->info0);
    2535             :                         }
    2536           0 :                         ndr->depth--;
    2537           0 :                 break;
    2538             : 
    2539           0 :                 default:
    2540           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    2541           0 :                         ndr->depth++;
    2542           0 :                         if (r->dummy) {
    2543           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    2544             :                         }
    2545           0 :                         ndr->depth--;
    2546           0 :                 break;
    2547             : 
    2548             :         }
    2549           0 : }
    2550             : 
    2551           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_sessionB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_sessionB *r)
    2552             : {
    2553           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2554           0 :         if (ndr_flags & NDR_SCALARS) {
    2555           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2556           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    2557           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    2558           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2559           0 :                 NDR_CHECK(ndr_push_smbXsrv_sessionU(ndr, NDR_SCALARS, &r->info));
    2560           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2561             :         }
    2562           0 :         if (ndr_flags & NDR_BUFFERS) {
    2563           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2564           0 :                 NDR_CHECK(ndr_push_smbXsrv_sessionU(ndr, NDR_BUFFERS, &r->info));
    2565             :         }
    2566           0 :         return NDR_ERR_SUCCESS;
    2567             : }
    2568             : 
    2569           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_sessionB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_sessionB *r)
    2570             : {
    2571           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2572           0 :         if (ndr_flags & NDR_SCALARS) {
    2573           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2574           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    2575           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    2576           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2577           0 :                 NDR_CHECK(ndr_pull_smbXsrv_sessionU(ndr, NDR_SCALARS, &r->info));
    2578           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2579             :         }
    2580           0 :         if (ndr_flags & NDR_BUFFERS) {
    2581           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2582           0 :                 NDR_CHECK(ndr_pull_smbXsrv_sessionU(ndr, NDR_BUFFERS, &r->info));
    2583             :         }
    2584           0 :         return NDR_ERR_SUCCESS;
    2585             : }
    2586             : 
    2587           0 : static void ndr_print_flags_smbXsrv_sessionB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_sessionB *r)
    2588             : {
    2589           0 :         ndr_print_smbXsrv_sessionB(ndr, name, r);
    2590           0 : }
    2591             : 
    2592           0 : _PUBLIC_ void ndr_print_smbXsrv_sessionB(struct ndr_print *ndr, const char *name, const struct smbXsrv_sessionB *r)
    2593             : {
    2594           0 :         ndr_print_struct(ndr, name, "smbXsrv_sessionB");
    2595           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2596           0 :         ndr->depth++;
    2597           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    2598           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    2599           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    2600           0 :         ndr_print_smbXsrv_sessionU(ndr, "info", &r->info);
    2601           0 :         ndr->depth--;
    2602             : }
    2603             : 
    2604          57 : 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)
    2605             : {
    2606          57 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2607          57 :         if (ndr_flags & NDR_SCALARS) {
    2608          57 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2609          57 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->old_session_global_id));
    2610          57 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->old_session_wire_id));
    2611          57 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_creation_time));
    2612          57 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->new_session_wire_id));
    2613          57 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2614             :         }
    2615          57 :         if (ndr_flags & NDR_BUFFERS) {
    2616           4 :         }
    2617          57 :         return NDR_ERR_SUCCESS;
    2618             : }
    2619             : 
    2620          55 : static enum ndr_err_code ndr_pull_smbXsrv_session_close0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_close0 *r)
    2621             : {
    2622          55 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2623          55 :         if (ndr_flags & NDR_SCALARS) {
    2624          55 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2625          55 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->old_session_global_id));
    2626          55 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->old_session_wire_id));
    2627          55 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_creation_time));
    2628          55 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->new_session_wire_id));
    2629          55 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2630             :         }
    2631          55 :         if (ndr_flags & NDR_BUFFERS) {
    2632           4 :         }
    2633          55 :         return NDR_ERR_SUCCESS;
    2634             : }
    2635             : 
    2636           0 : _PUBLIC_ void ndr_print_smbXsrv_session_close0(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_close0 *r)
    2637             : {
    2638           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_close0");
    2639           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2640           0 :         ndr->depth++;
    2641           0 :         ndr_print_uint32(ndr, "old_session_global_id", r->old_session_global_id);
    2642           0 :         ndr_print_hyper(ndr, "old_session_wire_id", r->old_session_wire_id);
    2643           0 :         ndr_print_NTTIME(ndr, "old_creation_time", r->old_creation_time);
    2644           0 :         ndr_print_hyper(ndr, "new_session_wire_id", r->new_session_wire_id);
    2645           0 :         ndr->depth--;
    2646             : }
    2647             : 
    2648         114 : 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)
    2649             : {
    2650           8 :         uint32_t level;
    2651         114 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2652         114 :         if (ndr_flags & NDR_SCALARS) {
    2653             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2654          57 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2655          57 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2656          57 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    2657          57 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2658          57 :                 switch (level) {
    2659          57 :                         case 0: {
    2660          57 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    2661          53 :                         break; }
    2662             : 
    2663           0 :                         default: {
    2664           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    2665           0 :                         break; }
    2666             : 
    2667             :                 }
    2668             :         }
    2669         114 :         if (ndr_flags & NDR_BUFFERS) {
    2670          57 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2671             :                         /* We didn't get it above, and the token is not needed after this. */
    2672          57 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2673             :                 }
    2674          57 :                 switch (level) {
    2675          57 :                         case 0:
    2676          57 :                                 if (r->info0) {
    2677          57 :                                         NDR_CHECK(ndr_push_smbXsrv_session_close0(ndr, NDR_SCALARS, r->info0));
    2678             :                                 }
    2679          53 :                         break;
    2680             : 
    2681           0 :                         default:
    2682           0 :                                 if (r->dummy) {
    2683           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    2684             :                                 }
    2685           0 :                         break;
    2686             : 
    2687             :                 }
    2688             :         }
    2689         106 :         return NDR_ERR_SUCCESS;
    2690             : }
    2691             : 
    2692         110 : static enum ndr_err_code ndr_pull_smbXsrv_session_closeU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_session_closeU *r)
    2693             : {
    2694           8 :         uint32_t level;
    2695           8 :         uint32_t _level;
    2696         110 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    2697           8 :         uint32_t _ptr_info0;
    2698         110 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    2699           8 :         uint32_t _ptr_dummy;
    2700         110 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2701         110 :         if (ndr_flags & NDR_SCALARS) {
    2702             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2703          55 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2704          55 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2705          55 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    2706          55 :                 if (_level != level) {
    2707           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    2708             :                 }
    2709          55 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2710          55 :                 switch (level) {
    2711          55 :                         case 0: {
    2712          55 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    2713          55 :                                 if (_ptr_info0) {
    2714          55 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    2715             :                                 } else {
    2716           0 :                                         r->info0 = NULL;
    2717             :                                 }
    2718          51 :                         break; }
    2719             : 
    2720           0 :                         default: {
    2721           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    2722           0 :                                 if (_ptr_dummy) {
    2723           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    2724             :                                 } else {
    2725           0 :                                         r->dummy = NULL;
    2726             :                                 }
    2727           0 :                         break; }
    2728             : 
    2729             :                 }
    2730             :         }
    2731         110 :         if (ndr_flags & NDR_BUFFERS) {
    2732          55 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2733             :                         /* We didn't get it above, and the token is not needed after this. */
    2734          55 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2735             :                 }
    2736          55 :                 switch (level) {
    2737          55 :                         case 0:
    2738          55 :                                 if (r->info0) {
    2739          55 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2740          55 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    2741          55 :                                         NDR_CHECK(ndr_pull_smbXsrv_session_close0(ndr, NDR_SCALARS, r->info0));
    2742          55 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    2743             :                                 }
    2744          51 :                         break;
    2745             : 
    2746           0 :                         default:
    2747           0 :                                 if (r->dummy) {
    2748           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    2749           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    2750           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    2751           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    2752             :                                 }
    2753           0 :                         break;
    2754             : 
    2755             :                 }
    2756             :         }
    2757         102 :         return NDR_ERR_SUCCESS;
    2758             : }
    2759             : 
    2760           0 : _PUBLIC_ void ndr_print_smbXsrv_session_closeU(struct ndr_print *ndr, const char *name, const union smbXsrv_session_closeU *r)
    2761             : {
    2762           0 :         uint32_t level;
    2763           0 :         level = ndr_print_steal_switch_value(ndr, r);
    2764           0 :         ndr_print_union(ndr, name, level, "smbXsrv_session_closeU");
    2765           0 :         switch (level) {
    2766           0 :                 case 0:
    2767           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    2768           0 :                         ndr->depth++;
    2769           0 :                         if (r->info0) {
    2770           0 :                                 ndr_print_smbXsrv_session_close0(ndr, "info0", r->info0);
    2771             :                         }
    2772           0 :                         ndr->depth--;
    2773           0 :                 break;
    2774             : 
    2775           0 :                 default:
    2776           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    2777           0 :                         ndr->depth++;
    2778           0 :                         if (r->dummy) {
    2779           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    2780             :                         }
    2781           0 :                         ndr->depth--;
    2782           0 :                 break;
    2783             : 
    2784             :         }
    2785           0 : }
    2786             : 
    2787          57 : _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)
    2788             : {
    2789          57 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2790          57 :         if (ndr_flags & NDR_SCALARS) {
    2791          57 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    2792          61 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    2793          57 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    2794          57 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2795          57 :                 NDR_CHECK(ndr_push_smbXsrv_session_closeU(ndr, NDR_SCALARS, &r->info));
    2796          57 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    2797             :         }
    2798          57 :         if (ndr_flags & NDR_BUFFERS) {
    2799          57 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    2800          57 :                 NDR_CHECK(ndr_push_smbXsrv_session_closeU(ndr, NDR_BUFFERS, &r->info));
    2801             :         }
    2802          53 :         return NDR_ERR_SUCCESS;
    2803             : }
    2804             : 
    2805          55 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_session_closeB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_session_closeB *r)
    2806             : {
    2807          55 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2808          55 :         if (ndr_flags & NDR_SCALARS) {
    2809          55 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    2810          59 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    2811          55 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    2812          55 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2813          55 :                 NDR_CHECK(ndr_pull_smbXsrv_session_closeU(ndr, NDR_SCALARS, &r->info));
    2814          55 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    2815             :         }
    2816          55 :         if (ndr_flags & NDR_BUFFERS) {
    2817          55 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    2818          55 :                 NDR_CHECK(ndr_pull_smbXsrv_session_closeU(ndr, NDR_BUFFERS, &r->info));
    2819             :         }
    2820          51 :         return NDR_ERR_SUCCESS;
    2821             : }
    2822             : 
    2823           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)
    2824             : {
    2825           0 :         ndr_print_smbXsrv_session_closeB(ndr, name, r);
    2826           0 : }
    2827             : 
    2828           0 : _PUBLIC_ void ndr_print_smbXsrv_session_closeB(struct ndr_print *ndr, const char *name, const struct smbXsrv_session_closeB *r)
    2829             : {
    2830           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_closeB");
    2831           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2832           0 :         ndr->depth++;
    2833           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    2834           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    2835           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    2836           0 :         ndr_print_smbXsrv_session_closeU(ndr, "info", &r->info);
    2837           0 :         ndr->depth--;
    2838             : }
    2839             : 
    2840      116642 : 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)
    2841             : {
    2842      116642 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2843      116642 :         if (ndr_flags & NDR_SCALARS) {
    2844      116642 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    2845      116642 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2846             :                 /* [ignore] 'db_rec' */
    2847      116642 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tcon_global_id));
    2848      116642 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tcon_wire_id));
    2849      116642 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
    2850      116642 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->creation_time));
    2851      116642 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->share_name, CH_UTF8)));
    2852      116642 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    2853      116642 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->share_name, CH_UTF8)));
    2854      116642 :                 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->share_name, ndr_charset_length(r->share_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
    2855      116642 :                 NDR_CHECK(ndr_push_smbXsrv_encrpytion_flags(ndr, NDR_SCALARS, r->encryption_flags));
    2856      116642 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_global_id));
    2857      116642 :                 NDR_CHECK(ndr_push_smbXsrv_signing_flags(ndr, NDR_SCALARS, r->signing_flags));
    2858      116642 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    2859             :         }
    2860      116642 :         if (ndr_flags & NDR_BUFFERS) {
    2861             :                 /* [ignore] 'db_rec' */
    2862        1394 :         }
    2863      116642 :         return NDR_ERR_SUCCESS;
    2864             : }
    2865             : 
    2866         201 : static enum ndr_err_code ndr_pull_smbXsrv_tcon_global0(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_tcon_global0 *r)
    2867             : {
    2868           0 :         uint32_t _ptr_db_rec;
    2869         201 :         uint32_t size_share_name_0 = 0;
    2870         201 :         uint32_t length_share_name_0 = 0;
    2871         201 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2872         201 :         if (ndr_flags & NDR_SCALARS) {
    2873         201 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    2874         201 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
    2875         201 :                 _ptr_db_rec = 0;
    2876         201 :                 if (_ptr_db_rec) {
    2877             :                 } else {
    2878         201 :                         r->db_rec = NULL;
    2879             :                 }
    2880             :                 /* [ignore] 'db_rec' */
    2881         201 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tcon_global_id));
    2882         201 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tcon_wire_id));
    2883         201 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
    2884         201 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->creation_time));
    2885         201 :                 NDR_CHECK(ndr_pull_array_size(ndr, &r->share_name));
    2886         201 :                 NDR_CHECK(ndr_pull_array_length(ndr, &r->share_name));
    2887         201 :                 NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->share_name, &size_share_name_0));
    2888         201 :                 NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->share_name, &length_share_name_0));
    2889         201 :                 if (length_share_name_0 > size_share_name_0) {
    2890           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);
    2891             :                 }
    2892         201 :                 NDR_CHECK(ndr_check_string_terminator(ndr, length_share_name_0, sizeof(uint8_t)));
    2893         201 :                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share_name, length_share_name_0, sizeof(uint8_t), CH_UTF8));
    2894         201 :                 NDR_CHECK(ndr_pull_smbXsrv_encrpytion_flags(ndr, NDR_SCALARS, &r->encryption_flags));
    2895         201 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_global_id));
    2896         201 :                 NDR_CHECK(ndr_pull_smbXsrv_signing_flags(ndr, NDR_SCALARS, &r->signing_flags));
    2897         201 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    2898             :         }
    2899         201 :         if (ndr_flags & NDR_BUFFERS) {
    2900             :                 /* [ignore] 'db_rec' */
    2901           0 :         }
    2902         201 :         return NDR_ERR_SUCCESS;
    2903             : }
    2904             : 
    2905           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_tcon_global0 *r)
    2906             : {
    2907           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon_global0");
    2908           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    2909           0 :         ndr->depth++;
    2910           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
    2911             :         /* [ignore] 'db_rec' */
    2912           0 :         ndr_print_uint32(ndr, "tcon_global_id", r->tcon_global_id);
    2913           0 :         ndr_print_uint32(ndr, "tcon_wire_id", r->tcon_wire_id);
    2914           0 :         ndr_print_server_id(ndr, "server_id", &r->server_id);
    2915           0 :         ndr_print_NTTIME(ndr, "creation_time", r->creation_time);
    2916           0 :         ndr_print_string(ndr, "share_name", r->share_name);
    2917           0 :         ndr_print_smbXsrv_encrpytion_flags(ndr, "encryption_flags", r->encryption_flags);
    2918           0 :         ndr_print_uint32(ndr, "session_global_id", r->session_global_id);
    2919           0 :         ndr_print_smbXsrv_signing_flags(ndr, "signing_flags", r->signing_flags);
    2920           0 :         ndr->depth--;
    2921             : }
    2922             : 
    2923      233284 : 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)
    2924             : {
    2925        2788 :         uint32_t level;
    2926      233284 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    2927      233284 :         if (ndr_flags & NDR_SCALARS) {
    2928             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2929      116642 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2930      116642 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2931      116642 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    2932      116642 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    2933      116642 :                 switch (level) {
    2934      116642 :                         case 0: {
    2935      116642 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    2936      115248 :                         break; }
    2937             : 
    2938           0 :                         default: {
    2939           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    2940           0 :                         break; }
    2941             : 
    2942             :                 }
    2943             :         }
    2944      233284 :         if (ndr_flags & NDR_BUFFERS) {
    2945      116642 :                 if (!(ndr_flags & NDR_SCALARS)) {
    2946             :                         /* We didn't get it above, and the token is not needed after this. */
    2947      116642 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    2948             :                 }
    2949      116642 :                 switch (level) {
    2950      116642 :                         case 0:
    2951      116642 :                                 if (r->info0) {
    2952      116642 :                                         NDR_CHECK(ndr_push_smbXsrv_tcon_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    2953             :                                 }
    2954      115248 :                         break;
    2955             : 
    2956           0 :                         default:
    2957           0 :                                 if (r->dummy) {
    2958           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    2959             :                                 }
    2960           0 :                         break;
    2961             : 
    2962             :                 }
    2963             :         }
    2964      230496 :         return NDR_ERR_SUCCESS;
    2965             : }
    2966             : 
    2967         402 : static enum ndr_err_code ndr_pull_smbXsrv_tcon_globalU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_tcon_globalU *r)
    2968             : {
    2969           0 :         uint32_t level;
    2970           0 :         uint32_t _level;
    2971         402 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    2972           0 :         uint32_t _ptr_info0;
    2973         402 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    2974           0 :         uint32_t _ptr_dummy;
    2975         402 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    2976         402 :         if (ndr_flags & NDR_SCALARS) {
    2977             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    2978         201 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    2979         201 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2980         201 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    2981         201 :                 if (_level != level) {
    2982           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    2983             :                 }
    2984         201 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    2985         201 :                 switch (level) {
    2986         201 :                         case 0: {
    2987         201 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    2988         201 :                                 if (_ptr_info0) {
    2989         201 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    2990             :                                 } else {
    2991           0 :                                         r->info0 = NULL;
    2992             :                                 }
    2993         201 :                         break; }
    2994             : 
    2995           0 :                         default: {
    2996           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    2997           0 :                                 if (_ptr_dummy) {
    2998           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    2999             :                                 } else {
    3000           0 :                                         r->dummy = NULL;
    3001             :                                 }
    3002           0 :                         break; }
    3003             : 
    3004             :                 }
    3005             :         }
    3006         402 :         if (ndr_flags & NDR_BUFFERS) {
    3007         201 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3008             :                         /* We didn't get it above, and the token is not needed after this. */
    3009         201 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3010             :                 }
    3011         201 :                 switch (level) {
    3012         201 :                         case 0:
    3013         201 :                                 if (r->info0) {
    3014         201 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3015         201 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    3016         201 :                                         NDR_CHECK(ndr_pull_smbXsrv_tcon_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3017         201 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    3018             :                                 }
    3019         201 :                         break;
    3020             : 
    3021           0 :                         default:
    3022           0 :                                 if (r->dummy) {
    3023           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3024           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    3025           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    3026           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    3027             :                                 }
    3028           0 :                         break;
    3029             : 
    3030             :                 }
    3031             :         }
    3032         402 :         return NDR_ERR_SUCCESS;
    3033             : }
    3034             : 
    3035           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon_globalU(struct ndr_print *ndr, const char *name, const union smbXsrv_tcon_globalU *r)
    3036             : {
    3037           0 :         uint32_t level;
    3038           0 :         level = ndr_print_steal_switch_value(ndr, r);
    3039           0 :         ndr_print_union(ndr, name, level, "smbXsrv_tcon_globalU");
    3040           0 :         switch (level) {
    3041           0 :                 case 0:
    3042           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    3043           0 :                         ndr->depth++;
    3044           0 :                         if (r->info0) {
    3045           0 :                                 ndr_print_smbXsrv_tcon_global0(ndr, "info0", r->info0);
    3046             :                         }
    3047           0 :                         ndr->depth--;
    3048           0 :                 break;
    3049             : 
    3050           0 :                 default:
    3051           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    3052           0 :                         ndr->depth++;
    3053           0 :                         if (r->dummy) {
    3054           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    3055             :                         }
    3056           0 :                         ndr->depth--;
    3057           0 :                 break;
    3058             : 
    3059             :         }
    3060           0 : }
    3061             : 
    3062      116642 : _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)
    3063             : {
    3064      116642 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3065      116642 :         if (ndr_flags & NDR_SCALARS) {
    3066      116642 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3067      118036 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    3068      116642 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
    3069      116642 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3070      116642 :                 NDR_CHECK(ndr_push_smbXsrv_tcon_globalU(ndr, NDR_SCALARS, &r->info));
    3071      116642 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3072             :         }
    3073      116642 :         if (ndr_flags & NDR_BUFFERS) {
    3074      116642 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3075      116642 :                 NDR_CHECK(ndr_push_smbXsrv_tcon_globalU(ndr, NDR_BUFFERS, &r->info));
    3076             :         }
    3077      115248 :         return NDR_ERR_SUCCESS;
    3078             : }
    3079             : 
    3080         201 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_tcon_globalB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_tcon_globalB *r)
    3081             : {
    3082         201 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3083         201 :         if (ndr_flags & NDR_SCALARS) {
    3084         201 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3085         201 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    3086         201 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
    3087         201 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3088         201 :                 NDR_CHECK(ndr_pull_smbXsrv_tcon_globalU(ndr, NDR_SCALARS, &r->info));
    3089         201 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3090             :         }
    3091         201 :         if (ndr_flags & NDR_BUFFERS) {
    3092         201 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3093         201 :                 NDR_CHECK(ndr_pull_smbXsrv_tcon_globalU(ndr, NDR_BUFFERS, &r->info));
    3094             :         }
    3095         201 :         return NDR_ERR_SUCCESS;
    3096             : }
    3097             : 
    3098           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)
    3099             : {
    3100           0 :         ndr_print_smbXsrv_tcon_globalB(ndr, name, r);
    3101           0 : }
    3102             : 
    3103           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon_globalB(struct ndr_print *ndr, const char *name, const struct smbXsrv_tcon_globalB *r)
    3104             : {
    3105           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon_globalB");
    3106           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3107           0 :         ndr->depth++;
    3108           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    3109           0 :         ndr_print_uint32(ndr, "seqnum", r->seqnum);
    3110           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    3111           0 :         ndr_print_smbXsrv_tcon_globalU(ndr, "info", &r->info);
    3112           0 :         ndr->depth--;
    3113             : }
    3114             : 
    3115           0 : static enum ndr_err_code ndr_push_smbXsrv_tcon(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_tcon *r)
    3116             : {
    3117           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3118           0 :         if (ndr_flags & NDR_SCALARS) {
    3119           0 :                 if (r->global == NULL) {
    3120           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    3121             :                 }
    3122           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3123           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3124             :                 /* [ignore] 'table' */
    3125           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3126             :                 /* [ignore] 'db_rec' */
    3127           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->local_id));
    3128           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->global */
    3129           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
    3130           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    3131           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3132             :                 /* [ignore] 'compat' */
    3133           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3134             :         }
    3135           0 :         if (ndr_flags & NDR_BUFFERS) {
    3136             :                 /* [ignore] 'table' */
    3137             :                 /* [ignore] 'db_rec' */
    3138           0 :                 NDR_CHECK(ndr_push_smbXsrv_tcon_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
    3139             :                 /* [ignore] 'compat' */
    3140             :         }
    3141           0 :         return NDR_ERR_SUCCESS;
    3142             : }
    3143             : 
    3144           0 : static enum ndr_err_code ndr_pull_smbXsrv_tcon(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_tcon *r)
    3145             : {
    3146           0 :         uint32_t _ptr_table;
    3147           0 :         uint32_t _ptr_db_rec;
    3148           0 :         uint32_t _ptr_global;
    3149           0 :         TALLOC_CTX *_mem_save_global_0 = NULL;
    3150           0 :         uint32_t _ptr_compat;
    3151           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3152           0 :         if (ndr_flags & NDR_SCALARS) {
    3153           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3154           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_table));
    3155           0 :                 _ptr_table = 0;
    3156           0 :                 if (_ptr_table) {
    3157             :                 } else {
    3158           0 :                         r->table = NULL;
    3159             :                 }
    3160             :                 /* [ignore] 'table' */
    3161           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_db_rec));
    3162           0 :                 _ptr_db_rec = 0;
    3163           0 :                 if (_ptr_db_rec) {
    3164             :                 } else {
    3165           0 :                         r->db_rec = NULL;
    3166             :                 }
    3167             :                 /* [ignore] 'db_rec' */
    3168           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->local_id));
    3169           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_global));
    3170           0 :                 if (_ptr_global) {
    3171           0 :                         NDR_PULL_ALLOC(ndr, r->global);
    3172             :                 } else {
    3173           0 :                         r->global = NULL;
    3174             :                 }
    3175           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
    3176           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    3177           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_compat));
    3178           0 :                 _ptr_compat = 0;
    3179           0 :                 if (_ptr_compat) {
    3180             :                 } else {
    3181           0 :                         r->compat = NULL;
    3182             :                 }
    3183             :                 /* [ignore] 'compat' */
    3184           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3185             :         }
    3186           0 :         if (ndr_flags & NDR_BUFFERS) {
    3187             :                 /* [ignore] 'table' */
    3188             :                 /* [ignore] 'db_rec' */
    3189           0 :                 _mem_save_global_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3190           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->global, 0);
    3191           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tcon_global0(ndr, NDR_SCALARS|NDR_BUFFERS, r->global));
    3192           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_global_0, 0);
    3193             :                 /* [ignore] 'compat' */
    3194             :         }
    3195           0 :         return NDR_ERR_SUCCESS;
    3196             : }
    3197             : 
    3198           0 : _PUBLIC_ void ndr_print_smbXsrv_tcon(struct ndr_print *ndr, const char *name, const struct smbXsrv_tcon *r)
    3199             : {
    3200           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon");
    3201           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3202           0 :         ndr->depth++;
    3203           0 :         ndr_print_ptr(ndr, "table", r->table);
    3204             :         /* [ignore] 'table' */
    3205           0 :         ndr_print_ptr(ndr, "db_rec", r->db_rec);
    3206             :         /* [ignore] 'db_rec' */
    3207           0 :         ndr_print_uint32(ndr, "local_id", r->local_id);
    3208           0 :         ndr_print_ptr(ndr, "global", r->global);
    3209           0 :         ndr->depth++;
    3210           0 :         ndr_print_smbXsrv_tcon_global0(ndr, "global", r->global);
    3211           0 :         ndr->depth--;
    3212           0 :         ndr_print_NTSTATUS(ndr, "status", r->status);
    3213           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    3214           0 :         ndr_print_ptr(ndr, "compat", r->compat);
    3215             :         /* [ignore] 'compat' */
    3216           0 :         ndr->depth--;
    3217             : }
    3218             : 
    3219           0 : static enum ndr_err_code ndr_push_smbXsrv_tconU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_tconU *r)
    3220             : {
    3221           0 :         uint32_t level;
    3222           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3223           0 :         if (ndr_flags & NDR_SCALARS) {
    3224             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3225           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3226           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3227           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    3228           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3229           0 :                 switch (level) {
    3230           0 :                         case 0: {
    3231           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    3232           0 :                         break; }
    3233             : 
    3234           0 :                         default: {
    3235           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    3236           0 :                         break; }
    3237             : 
    3238             :                 }
    3239             :         }
    3240           0 :         if (ndr_flags & NDR_BUFFERS) {
    3241           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3242             :                         /* We didn't get it above, and the token is not needed after this. */
    3243           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3244             :                 }
    3245           0 :                 switch (level) {
    3246           0 :                         case 0:
    3247           0 :                                 if (r->info0) {
    3248           0 :                                         NDR_CHECK(ndr_push_smbXsrv_tcon(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3249             :                                 }
    3250           0 :                         break;
    3251             : 
    3252           0 :                         default:
    3253           0 :                                 if (r->dummy) {
    3254           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    3255             :                                 }
    3256           0 :                         break;
    3257             : 
    3258             :                 }
    3259             :         }
    3260           0 :         return NDR_ERR_SUCCESS;
    3261             : }
    3262             : 
    3263           0 : static enum ndr_err_code ndr_pull_smbXsrv_tconU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_tconU *r)
    3264             : {
    3265           0 :         uint32_t level;
    3266           0 :         uint32_t _level;
    3267           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    3268           0 :         uint32_t _ptr_info0;
    3269           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    3270           0 :         uint32_t _ptr_dummy;
    3271           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3272           0 :         if (ndr_flags & NDR_SCALARS) {
    3273             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3274           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3275           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3276           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    3277           0 :                 if (_level != level) {
    3278           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    3279             :                 }
    3280           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3281           0 :                 switch (level) {
    3282           0 :                         case 0: {
    3283           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    3284           0 :                                 if (_ptr_info0) {
    3285           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    3286             :                                 } else {
    3287           0 :                                         r->info0 = NULL;
    3288             :                                 }
    3289           0 :                         break; }
    3290             : 
    3291           0 :                         default: {
    3292           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    3293           0 :                                 if (_ptr_dummy) {
    3294           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    3295             :                                 } else {
    3296           0 :                                         r->dummy = NULL;
    3297             :                                 }
    3298           0 :                         break; }
    3299             : 
    3300             :                 }
    3301             :         }
    3302           0 :         if (ndr_flags & NDR_BUFFERS) {
    3303           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3304             :                         /* We didn't get it above, and the token is not needed after this. */
    3305           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3306             :                 }
    3307           0 :                 switch (level) {
    3308           0 :                         case 0:
    3309           0 :                                 if (r->info0) {
    3310           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3311           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    3312           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_tcon(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3313           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    3314             :                                 }
    3315           0 :                         break;
    3316             : 
    3317           0 :                         default:
    3318           0 :                                 if (r->dummy) {
    3319           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3320           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    3321           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    3322           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    3323             :                                 }
    3324           0 :                         break;
    3325             : 
    3326             :                 }
    3327             :         }
    3328           0 :         return NDR_ERR_SUCCESS;
    3329             : }
    3330             : 
    3331           0 : _PUBLIC_ void ndr_print_smbXsrv_tconU(struct ndr_print *ndr, const char *name, const union smbXsrv_tconU *r)
    3332             : {
    3333           0 :         uint32_t level;
    3334           0 :         level = ndr_print_steal_switch_value(ndr, r);
    3335           0 :         ndr_print_union(ndr, name, level, "smbXsrv_tconU");
    3336           0 :         switch (level) {
    3337           0 :                 case 0:
    3338           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    3339           0 :                         ndr->depth++;
    3340           0 :                         if (r->info0) {
    3341           0 :                                 ndr_print_smbXsrv_tcon(ndr, "info0", r->info0);
    3342             :                         }
    3343           0 :                         ndr->depth--;
    3344           0 :                 break;
    3345             : 
    3346           0 :                 default:
    3347           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    3348           0 :                         ndr->depth++;
    3349           0 :                         if (r->dummy) {
    3350           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    3351             :                         }
    3352           0 :                         ndr->depth--;
    3353           0 :                 break;
    3354             : 
    3355             :         }
    3356           0 : }
    3357             : 
    3358           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_tconB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_tconB *r)
    3359             : {
    3360           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3361           0 :         if (ndr_flags & NDR_SCALARS) {
    3362           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3363           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    3364           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    3365           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3366           0 :                 NDR_CHECK(ndr_push_smbXsrv_tconU(ndr, NDR_SCALARS, &r->info));
    3367           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3368             :         }
    3369           0 :         if (ndr_flags & NDR_BUFFERS) {
    3370           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3371           0 :                 NDR_CHECK(ndr_push_smbXsrv_tconU(ndr, NDR_BUFFERS, &r->info));
    3372             :         }
    3373           0 :         return NDR_ERR_SUCCESS;
    3374             : }
    3375             : 
    3376           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_tconB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_tconB *r)
    3377             : {
    3378           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3379           0 :         if (ndr_flags & NDR_SCALARS) {
    3380           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3381           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    3382           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    3383           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3384           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tconU(ndr, NDR_SCALARS, &r->info));
    3385           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3386             :         }
    3387           0 :         if (ndr_flags & NDR_BUFFERS) {
    3388           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3389           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tconU(ndr, NDR_BUFFERS, &r->info));
    3390             :         }
    3391           0 :         return NDR_ERR_SUCCESS;
    3392             : }
    3393             : 
    3394           0 : static void ndr_print_flags_smbXsrv_tconB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_tconB *r)
    3395             : {
    3396           0 :         ndr_print_smbXsrv_tconB(ndr, name, r);
    3397           0 : }
    3398             : 
    3399           0 : _PUBLIC_ void ndr_print_smbXsrv_tconB(struct ndr_print *ndr, const char *name, const struct smbXsrv_tconB *r)
    3400             : {
    3401           0 :         ndr_print_struct(ndr, name, "smbXsrv_tconB");
    3402           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3403           0 :         ndr->depth++;
    3404           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    3405           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    3406           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    3407           0 :         ndr_print_smbXsrv_tconU(ndr, "info", &r->info);
    3408           0 :         ndr->depth--;
    3409             : }
    3410             : 
    3411           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_open_flags(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint8_t r)
    3412             : {
    3413           0 :         NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
    3414           0 :         return NDR_ERR_SUCCESS;
    3415             : }
    3416             : 
    3417           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_open_flags(struct ndr_pull *ndr, ndr_flags_type ndr_flags, uint8_t *r)
    3418             : {
    3419           0 :         uint8_t v;
    3420           0 :         NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
    3421           0 :         *r = v;
    3422           0 :         return NDR_ERR_SUCCESS;
    3423             : }
    3424             : 
    3425           0 : _PUBLIC_ void ndr_print_smbXsrv_open_flags(struct ndr_print *ndr, const char *name, uint8_t r)
    3426             : {
    3427           0 :         ndr_print_uint8(ndr, name, r);
    3428           0 :         ndr->depth++;
    3429           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_OPEN_NEED_REPLAY_CACHE", SMBXSRV_OPEN_NEED_REPLAY_CACHE, r);
    3430           0 :         ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SMBXSRV_OPEN_HAVE_REPLAY_CACHE", SMBXSRV_OPEN_HAVE_REPLAY_CACHE, r);
    3431           0 :         ndr->depth--;
    3432           0 : }
    3433             : 
    3434      607704 : 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)
    3435             : {
    3436      607704 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3437      607704 :         if (ndr_flags & NDR_SCALARS) {
    3438      607704 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    3439      607704 :                 NDR_CHECK(ndr_push_server_id(ndr, NDR_SCALARS, &r->server_id));
    3440      607704 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->open_global_id));
    3441      607704 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->open_persistent_id));
    3442      607704 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->open_volatile_id));
    3443      607704 :                 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->open_owner));
    3444      607704 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->open_time));
    3445      607704 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->create_guid));
    3446      607704 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->client_guid));
    3447      607704 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->app_instance_id));
    3448      607704 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->disconnect_time));
    3449      607704 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->durable_timeout_msec));
    3450      607704 :                 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->durable));
    3451      607704 :                 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->backend_cookie));
    3452      607704 :                 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->channel_sequence));
    3453      607704 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->channel_generation));
    3454             :                 {
    3455      607704 :                         libndr_flags _flags_save_uint8 = ndr->flags;
    3456      607704 :                         ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3457      607704 :                         NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lock_sequence_array, 64));
    3458      607704 :                         ndr->flags = _flags_save_uint8;
    3459             :                 }
    3460      607704 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    3461             :         }
    3462      607704 :         if (ndr_flags & NDR_BUFFERS) {
    3463        2116 :         }
    3464      607704 :         return NDR_ERR_SUCCESS;
    3465             : }
    3466             : 
    3467         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)
    3468             : {
    3469         206 :         uint32_t size_lock_sequence_array_0 = 0;
    3470         206 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3471         206 :         if (ndr_flags & NDR_SCALARS) {
    3472         206 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    3473         206 :                 NDR_CHECK(ndr_pull_server_id(ndr, NDR_SCALARS, &r->server_id));
    3474         206 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->open_global_id));
    3475         206 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->open_persistent_id));
    3476         206 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->open_volatile_id));
    3477         206 :                 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->open_owner));
    3478         206 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->open_time));
    3479         206 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->create_guid));
    3480         206 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->client_guid));
    3481         206 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->app_instance_id));
    3482         206 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->disconnect_time));
    3483         206 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->durable_timeout_msec));
    3484         206 :                 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->durable));
    3485         206 :                 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->backend_cookie));
    3486         206 :                 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->channel_sequence));
    3487         206 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->channel_generation));
    3488             :                 {
    3489         206 :                         libndr_flags _flags_save_uint8 = ndr->flags;
    3490         206 :                         ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3491         206 :                         size_lock_sequence_array_0 = 64;
    3492         206 :                         NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lock_sequence_array, size_lock_sequence_array_0));
    3493         206 :                         ndr->flags = _flags_save_uint8;
    3494             :                 }
    3495         206 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    3496             :         }
    3497         206 :         if (ndr_flags & NDR_BUFFERS) {
    3498           0 :         }
    3499         206 :         return NDR_ERR_SUCCESS;
    3500             : }
    3501             : 
    3502           0 : _PUBLIC_ void ndr_print_smbXsrv_open_global0(struct ndr_print *ndr, const char *name, const struct smbXsrv_open_global0 *r)
    3503             : {
    3504           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_global0");
    3505           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3506           0 :         ndr->depth++;
    3507           0 :         ndr_print_server_id(ndr, "server_id", &r->server_id);
    3508           0 :         ndr_print_uint32(ndr, "open_global_id", r->open_global_id);
    3509           0 :         ndr_print_hyper(ndr, "open_persistent_id", r->open_persistent_id);
    3510           0 :         ndr_print_hyper(ndr, "open_volatile_id", r->open_volatile_id);
    3511           0 :         ndr_print_dom_sid(ndr, "open_owner", &r->open_owner);
    3512           0 :         ndr_print_NTTIME(ndr, "open_time", r->open_time);
    3513           0 :         ndr_print_GUID(ndr, "create_guid", &r->create_guid);
    3514           0 :         ndr_print_GUID(ndr, "client_guid", &r->client_guid);
    3515           0 :         ndr_print_GUID(ndr, "app_instance_id", &r->app_instance_id);
    3516           0 :         ndr_print_NTTIME(ndr, "disconnect_time", r->disconnect_time);
    3517           0 :         ndr_print_uint32(ndr, "durable_timeout_msec", r->durable_timeout_msec);
    3518           0 :         ndr_print_uint8(ndr, "durable", r->durable);
    3519           0 :         ndr_print_DATA_BLOB(ndr, "backend_cookie", r->backend_cookie);
    3520           0 :         ndr_print_uint16(ndr, "channel_sequence", r->channel_sequence);
    3521           0 :         ndr_print_hyper(ndr, "channel_generation", r->channel_generation);
    3522             :         {
    3523           0 :                 libndr_flags _flags_save_uint8 = ndr->flags;
    3524           0 :                 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
    3525           0 :                 ndr_print_array_uint8(ndr, "lock_sequence_array", r->lock_sequence_array, 64);
    3526           0 :                 ndr->flags = _flags_save_uint8;
    3527             :         }
    3528           0 :         ndr->depth--;
    3529             : }
    3530             : 
    3531     1215408 : 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)
    3532             : {
    3533        4232 :         uint32_t level;
    3534     1215408 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3535     1215408 :         if (ndr_flags & NDR_SCALARS) {
    3536             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3537      607704 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3538      607704 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3539      607704 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    3540      607704 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3541      607704 :                 switch (level) {
    3542      607704 :                         case 0: {
    3543      607704 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    3544      605588 :                         break; }
    3545             : 
    3546           0 :                         default: {
    3547           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    3548           0 :                         break; }
    3549             : 
    3550             :                 }
    3551             :         }
    3552     1215408 :         if (ndr_flags & NDR_BUFFERS) {
    3553      607704 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3554             :                         /* We didn't get it above, and the token is not needed after this. */
    3555      607704 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3556             :                 }
    3557      607704 :                 switch (level) {
    3558      607704 :                         case 0:
    3559      607704 :                                 if (r->info0) {
    3560      607704 :                                         NDR_CHECK(ndr_push_smbXsrv_open_global0(ndr, NDR_SCALARS, r->info0));
    3561             :                                 }
    3562      605588 :                         break;
    3563             : 
    3564           0 :                         default:
    3565           0 :                                 if (r->dummy) {
    3566           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    3567             :                                 }
    3568           0 :                         break;
    3569             : 
    3570             :                 }
    3571             :         }
    3572     1211176 :         return NDR_ERR_SUCCESS;
    3573             : }
    3574             : 
    3575         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)
    3576             : {
    3577           0 :         uint32_t level;
    3578           0 :         uint32_t _level;
    3579         412 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    3580           0 :         uint32_t _ptr_info0;
    3581         412 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    3582           0 :         uint32_t _ptr_dummy;
    3583         412 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3584         412 :         if (ndr_flags & NDR_SCALARS) {
    3585             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3586         206 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3587         206 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3588         206 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    3589         206 :                 if (_level != level) {
    3590           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    3591             :                 }
    3592         206 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3593         206 :                 switch (level) {
    3594         206 :                         case 0: {
    3595         206 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    3596         206 :                                 if (_ptr_info0) {
    3597         206 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    3598             :                                 } else {
    3599           0 :                                         r->info0 = NULL;
    3600             :                                 }
    3601         206 :                         break; }
    3602             : 
    3603           0 :                         default: {
    3604           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    3605           0 :                                 if (_ptr_dummy) {
    3606           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    3607             :                                 } else {
    3608           0 :                                         r->dummy = NULL;
    3609             :                                 }
    3610           0 :                         break; }
    3611             : 
    3612             :                 }
    3613             :         }
    3614         412 :         if (ndr_flags & NDR_BUFFERS) {
    3615         206 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3616             :                         /* We didn't get it above, and the token is not needed after this. */
    3617         206 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3618             :                 }
    3619         206 :                 switch (level) {
    3620         206 :                         case 0:
    3621         206 :                                 if (r->info0) {
    3622         206 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3623         206 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    3624         206 :                                         NDR_CHECK(ndr_pull_smbXsrv_open_global0(ndr, NDR_SCALARS, r->info0));
    3625         206 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    3626             :                                 }
    3627         206 :                         break;
    3628             : 
    3629           0 :                         default:
    3630           0 :                                 if (r->dummy) {
    3631           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3632           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    3633           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    3634           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    3635             :                                 }
    3636           0 :                         break;
    3637             : 
    3638             :                 }
    3639             :         }
    3640         412 :         return NDR_ERR_SUCCESS;
    3641             : }
    3642             : 
    3643           0 : _PUBLIC_ void ndr_print_smbXsrv_open_globalU(struct ndr_print *ndr, const char *name, const union smbXsrv_open_globalU *r)
    3644             : {
    3645           0 :         uint32_t level;
    3646           0 :         level = ndr_print_steal_switch_value(ndr, r);
    3647           0 :         ndr_print_union(ndr, name, level, "smbXsrv_open_globalU");
    3648           0 :         switch (level) {
    3649           0 :                 case 0:
    3650           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    3651           0 :                         ndr->depth++;
    3652           0 :                         if (r->info0) {
    3653           0 :                                 ndr_print_smbXsrv_open_global0(ndr, "info0", r->info0);
    3654             :                         }
    3655           0 :                         ndr->depth--;
    3656           0 :                 break;
    3657             : 
    3658           0 :                 default:
    3659           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    3660           0 :                         ndr->depth++;
    3661           0 :                         if (r->dummy) {
    3662           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    3663             :                         }
    3664           0 :                         ndr->depth--;
    3665           0 :                 break;
    3666             : 
    3667             :         }
    3668           0 : }
    3669             : 
    3670      607704 : _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)
    3671             : {
    3672      607704 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3673      607704 :         if (ndr_flags & NDR_SCALARS) {
    3674      607704 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3675      609820 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    3676      607704 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seqnum));
    3677      607704 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3678      607704 :                 NDR_CHECK(ndr_push_smbXsrv_open_globalU(ndr, NDR_SCALARS, &r->info));
    3679      607704 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3680             :         }
    3681      607704 :         if (ndr_flags & NDR_BUFFERS) {
    3682      607704 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3683      607704 :                 NDR_CHECK(ndr_push_smbXsrv_open_globalU(ndr, NDR_BUFFERS, &r->info));
    3684             :         }
    3685      605588 :         return NDR_ERR_SUCCESS;
    3686             : }
    3687             : 
    3688         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)
    3689             : {
    3690         206 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3691         206 :         if (ndr_flags & NDR_SCALARS) {
    3692         206 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3693         206 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    3694         206 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seqnum));
    3695         206 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3696         206 :                 NDR_CHECK(ndr_pull_smbXsrv_open_globalU(ndr, NDR_SCALARS, &r->info));
    3697         206 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3698             :         }
    3699         206 :         if (ndr_flags & NDR_BUFFERS) {
    3700         206 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3701         206 :                 NDR_CHECK(ndr_pull_smbXsrv_open_globalU(ndr, NDR_BUFFERS, &r->info));
    3702             :         }
    3703         206 :         return NDR_ERR_SUCCESS;
    3704             : }
    3705             : 
    3706           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)
    3707             : {
    3708           0 :         ndr_print_smbXsrv_open_globalB(ndr, name, r);
    3709           0 : }
    3710             : 
    3711           0 : _PUBLIC_ void ndr_print_smbXsrv_open_globalB(struct ndr_print *ndr, const char *name, const struct smbXsrv_open_globalB *r)
    3712             : {
    3713           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_globalB");
    3714           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3715           0 :         ndr->depth++;
    3716           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    3717           0 :         ndr_print_uint32(ndr, "seqnum", r->seqnum);
    3718           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    3719           0 :         ndr_print_smbXsrv_open_globalU(ndr, "info", &r->info);
    3720           0 :         ndr->depth--;
    3721             : }
    3722             : 
    3723           0 : static enum ndr_err_code ndr_push_smbXsrv_open(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_open *r)
    3724             : {
    3725           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3726           0 :         if (ndr_flags & NDR_SCALARS) {
    3727           0 :                 if (r->global == NULL) {
    3728           0 :                         return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
    3729             :                 }
    3730           0 :                 NDR_CHECK(ndr_push_align(ndr, 8));
    3731           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3732             :                 /* [ignore] 'table' */
    3733           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->local_id));
    3734           0 :                 NDR_CHECK(ndr_push_ref_ptr(ndr)); /* r->global */
    3735           0 :                 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
    3736           0 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    3737           0 :                 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
    3738             :                 /* [ignore] 'compat' */
    3739           0 :                 NDR_CHECK(ndr_push_smbXsrv_open_flags(ndr, NDR_SCALARS, r->flags));
    3740           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->create_action));
    3741           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->request_count));
    3742           0 :                 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pre_request_count));
    3743           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
    3744             :         }
    3745           0 :         if (ndr_flags & NDR_BUFFERS) {
    3746             :                 /* [ignore] 'table' */
    3747           0 :                 NDR_CHECK(ndr_push_smbXsrv_open_global0(ndr, NDR_SCALARS, r->global));
    3748             :                 /* [ignore] 'compat' */
    3749             :         }
    3750           0 :         return NDR_ERR_SUCCESS;
    3751             : }
    3752             : 
    3753           0 : static enum ndr_err_code ndr_pull_smbXsrv_open(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_open *r)
    3754             : {
    3755           0 :         uint32_t _ptr_table;
    3756           0 :         uint32_t _ptr_global;
    3757           0 :         TALLOC_CTX *_mem_save_global_0 = NULL;
    3758           0 :         uint32_t _ptr_compat;
    3759           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3760           0 :         if (ndr_flags & NDR_SCALARS) {
    3761           0 :                 NDR_CHECK(ndr_pull_align(ndr, 8));
    3762           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_table));
    3763           0 :                 _ptr_table = 0;
    3764           0 :                 if (_ptr_table) {
    3765             :                 } else {
    3766           0 :                         r->table = NULL;
    3767             :                 }
    3768             :                 /* [ignore] 'table' */
    3769           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->local_id));
    3770           0 :                 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_global));
    3771           0 :                 if (_ptr_global) {
    3772           0 :                         NDR_PULL_ALLOC(ndr, r->global);
    3773             :                 } else {
    3774           0 :                         r->global = NULL;
    3775             :                 }
    3776           0 :                 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
    3777           0 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    3778           0 :                 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &_ptr_compat));
    3779           0 :                 _ptr_compat = 0;
    3780           0 :                 if (_ptr_compat) {
    3781             :                 } else {
    3782           0 :                         r->compat = NULL;
    3783             :                 }
    3784             :                 /* [ignore] 'compat' */
    3785           0 :                 NDR_CHECK(ndr_pull_smbXsrv_open_flags(ndr, NDR_SCALARS, &r->flags));
    3786           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->create_action));
    3787           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->request_count));
    3788           0 :                 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pre_request_count));
    3789           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
    3790             :         }
    3791           0 :         if (ndr_flags & NDR_BUFFERS) {
    3792             :                 /* [ignore] 'table' */
    3793           0 :                 _mem_save_global_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3794           0 :                 NDR_PULL_SET_MEM_CTX(ndr, r->global, 0);
    3795           0 :                 NDR_CHECK(ndr_pull_smbXsrv_open_global0(ndr, NDR_SCALARS, r->global));
    3796           0 :                 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_global_0, 0);
    3797             :                 /* [ignore] 'compat' */
    3798             :         }
    3799           0 :         return NDR_ERR_SUCCESS;
    3800             : }
    3801             : 
    3802           0 : _PUBLIC_ void ndr_print_smbXsrv_open(struct ndr_print *ndr, const char *name, const struct smbXsrv_open *r)
    3803             : {
    3804           0 :         ndr_print_struct(ndr, name, "smbXsrv_open");
    3805           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    3806           0 :         ndr->depth++;
    3807           0 :         ndr_print_ptr(ndr, "table", r->table);
    3808             :         /* [ignore] 'table' */
    3809           0 :         ndr_print_uint32(ndr, "local_id", r->local_id);
    3810           0 :         ndr_print_ptr(ndr, "global", r->global);
    3811           0 :         ndr->depth++;
    3812           0 :         ndr_print_smbXsrv_open_global0(ndr, "global", r->global);
    3813           0 :         ndr->depth--;
    3814           0 :         ndr_print_NTSTATUS(ndr, "status", r->status);
    3815           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    3816           0 :         ndr_print_ptr(ndr, "compat", r->compat);
    3817             :         /* [ignore] 'compat' */
    3818           0 :         ndr_print_smbXsrv_open_flags(ndr, "flags", r->flags);
    3819           0 :         ndr_print_uint32(ndr, "create_action", r->create_action);
    3820           0 :         ndr_print_hyper(ndr, "request_count", r->request_count);
    3821           0 :         ndr_print_hyper(ndr, "pre_request_count", r->pre_request_count);
    3822           0 :         ndr->depth--;
    3823             : }
    3824             : 
    3825           0 : static enum ndr_err_code ndr_push_smbXsrv_openU(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union smbXsrv_openU *r)
    3826             : {
    3827           0 :         uint32_t level;
    3828           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3829           0 :         if (ndr_flags & NDR_SCALARS) {
    3830             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3831           0 :                 NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3832           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3833           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
    3834           0 :                 NDR_CHECK(ndr_push_union_align(ndr, 5));
    3835           0 :                 switch (level) {
    3836           0 :                         case 0: {
    3837           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
    3838           0 :                         break; }
    3839             : 
    3840           0 :                         default: {
    3841           0 :                                 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy));
    3842           0 :                         break; }
    3843             : 
    3844             :                 }
    3845             :         }
    3846           0 :         if (ndr_flags & NDR_BUFFERS) {
    3847           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3848             :                         /* We didn't get it above, and the token is not needed after this. */
    3849           0 :                         NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
    3850             :                 }
    3851           0 :                 switch (level) {
    3852           0 :                         case 0:
    3853           0 :                                 if (r->info0) {
    3854           0 :                                         NDR_CHECK(ndr_push_smbXsrv_open(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3855             :                                 }
    3856           0 :                         break;
    3857             : 
    3858           0 :                         default:
    3859           0 :                                 if (r->dummy) {
    3860           0 :                                         NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->dummy));
    3861             :                                 }
    3862           0 :                         break;
    3863             : 
    3864             :                 }
    3865             :         }
    3866           0 :         return NDR_ERR_SUCCESS;
    3867             : }
    3868             : 
    3869           0 : static enum ndr_err_code ndr_pull_smbXsrv_openU(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union smbXsrv_openU *r)
    3870             : {
    3871           0 :         uint32_t level;
    3872           0 :         uint32_t _level;
    3873           0 :         TALLOC_CTX *_mem_save_info0_0 = NULL;
    3874           0 :         uint32_t _ptr_info0;
    3875           0 :         TALLOC_CTX *_mem_save_dummy_0 = NULL;
    3876           0 :         uint32_t _ptr_dummy;
    3877           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3878           0 :         if (ndr_flags & NDR_SCALARS) {
    3879             :                 /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
    3880           0 :                 NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3881           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3882           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
    3883           0 :                 if (_level != level) {
    3884           0 :                         return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" for r at %s", (uint32_t)_level, __location__);
    3885             :                 }
    3886           0 :                 NDR_CHECK(ndr_pull_union_align(ndr, 5));
    3887           0 :                 switch (level) {
    3888           0 :                         case 0: {
    3889           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
    3890           0 :                                 if (_ptr_info0) {
    3891           0 :                                         NDR_PULL_ALLOC(ndr, r->info0);
    3892             :                                 } else {
    3893           0 :                                         r->info0 = NULL;
    3894             :                                 }
    3895           0 :                         break; }
    3896             : 
    3897           0 :                         default: {
    3898           0 :                                 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy));
    3899           0 :                                 if (_ptr_dummy) {
    3900           0 :                                         NDR_PULL_ALLOC(ndr, r->dummy);
    3901             :                                 } else {
    3902           0 :                                         r->dummy = NULL;
    3903             :                                 }
    3904           0 :                         break; }
    3905             : 
    3906             :                 }
    3907             :         }
    3908           0 :         if (ndr_flags & NDR_BUFFERS) {
    3909           0 :                 if (!(ndr_flags & NDR_SCALARS)) {
    3910             :                         /* We didn't get it above, and the token is not needed after this. */
    3911           0 :                         NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
    3912             :                 }
    3913           0 :                 switch (level) {
    3914           0 :                         case 0:
    3915           0 :                                 if (r->info0) {
    3916           0 :                                         _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3917           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
    3918           0 :                                         NDR_CHECK(ndr_pull_smbXsrv_open(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
    3919           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
    3920             :                                 }
    3921           0 :                         break;
    3922             : 
    3923           0 :                         default:
    3924           0 :                                 if (r->dummy) {
    3925           0 :                                         _mem_save_dummy_0 = NDR_PULL_GET_MEM_CTX(ndr);
    3926           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, r->dummy, 0);
    3927           0 :                                         NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->dummy));
    3928           0 :                                         NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy_0, 0);
    3929             :                                 }
    3930           0 :                         break;
    3931             : 
    3932             :                 }
    3933             :         }
    3934           0 :         return NDR_ERR_SUCCESS;
    3935             : }
    3936             : 
    3937           0 : _PUBLIC_ void ndr_print_smbXsrv_openU(struct ndr_print *ndr, const char *name, const union smbXsrv_openU *r)
    3938             : {
    3939           0 :         uint32_t level;
    3940           0 :         level = ndr_print_steal_switch_value(ndr, r);
    3941           0 :         ndr_print_union(ndr, name, level, "smbXsrv_openU");
    3942           0 :         switch (level) {
    3943           0 :                 case 0:
    3944           0 :                         ndr_print_ptr(ndr, "info0", r->info0);
    3945           0 :                         ndr->depth++;
    3946           0 :                         if (r->info0) {
    3947           0 :                                 ndr_print_smbXsrv_open(ndr, "info0", r->info0);
    3948             :                         }
    3949           0 :                         ndr->depth--;
    3950           0 :                 break;
    3951             : 
    3952           0 :                 default:
    3953           0 :                         ndr_print_ptr(ndr, "dummy", r->dummy);
    3954           0 :                         ndr->depth++;
    3955           0 :                         if (r->dummy) {
    3956           0 :                                 ndr_print_hyper(ndr, "dummy", *r->dummy);
    3957             :                         }
    3958           0 :                         ndr->depth--;
    3959           0 :                 break;
    3960             : 
    3961             :         }
    3962           0 : }
    3963             : 
    3964           0 : _PUBLIC_ enum ndr_err_code ndr_push_smbXsrv_openB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct smbXsrv_openB *r)
    3965             : {
    3966           0 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    3967           0 :         if (ndr_flags & NDR_SCALARS) {
    3968           0 :                 NDR_CHECK(ndr_push_align(ndr, 5));
    3969           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_values(ndr, NDR_SCALARS, r->version));
    3970           0 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
    3971           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3972           0 :                 NDR_CHECK(ndr_push_smbXsrv_openU(ndr, NDR_SCALARS, &r->info));
    3973           0 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
    3974             :         }
    3975           0 :         if (ndr_flags & NDR_BUFFERS) {
    3976           0 :                 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version));
    3977           0 :                 NDR_CHECK(ndr_push_smbXsrv_openU(ndr, NDR_BUFFERS, &r->info));
    3978             :         }
    3979           0 :         return NDR_ERR_SUCCESS;
    3980             : }
    3981             : 
    3982           0 : _PUBLIC_ enum ndr_err_code ndr_pull_smbXsrv_openB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct smbXsrv_openB *r)
    3983             : {
    3984           0 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    3985           0 :         if (ndr_flags & NDR_SCALARS) {
    3986           0 :                 NDR_CHECK(ndr_pull_align(ndr, 5));
    3987           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_values(ndr, NDR_SCALARS, &r->version));
    3988           0 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
    3989           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3990           0 :                 NDR_CHECK(ndr_pull_smbXsrv_openU(ndr, NDR_SCALARS, &r->info));
    3991           0 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
    3992             :         }
    3993           0 :         if (ndr_flags & NDR_BUFFERS) {
    3994           0 :                 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version));
    3995           0 :                 NDR_CHECK(ndr_pull_smbXsrv_openU(ndr, NDR_BUFFERS, &r->info));
    3996             :         }
    3997           0 :         return NDR_ERR_SUCCESS;
    3998             : }
    3999             : 
    4000           0 : static void ndr_print_flags_smbXsrv_openB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct smbXsrv_openB *r)
    4001             : {
    4002           0 :         ndr_print_smbXsrv_openB(ndr, name, r);
    4003           0 : }
    4004             : 
    4005           0 : _PUBLIC_ void ndr_print_smbXsrv_openB(struct ndr_print *ndr, const char *name, const struct smbXsrv_openB *r)
    4006             : {
    4007           0 :         ndr_print_struct(ndr, name, "smbXsrv_openB");
    4008           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4009           0 :         ndr->depth++;
    4010           0 :         ndr_print_smbXsrv_version_values(ndr, "version", r->version);
    4011           0 :         ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
    4012           0 :         ndr_print_set_switch_value(ndr, &r->info, r->version);
    4013           0 :         ndr_print_smbXsrv_openU(ndr, "info", &r->info);
    4014           0 :         ndr->depth--;
    4015             : }
    4016             : 
    4017        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)
    4018             : {
    4019        1554 :         NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
    4020        1554 :         if (ndr_flags & NDR_SCALARS) {
    4021        1554 :                 NDR_CHECK(ndr_push_align(ndr, 4));
    4022        1554 :                 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->holder_req_guid));
    4023        1554 :                 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->idle_time));
    4024        1554 :                 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->local_id));
    4025        1554 :                 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
    4026             :         }
    4027        1554 :         if (ndr_flags & NDR_BUFFERS) {
    4028           0 :         }
    4029        1554 :         return NDR_ERR_SUCCESS;
    4030             : }
    4031             : 
    4032         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)
    4033             : {
    4034         300 :         NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
    4035         300 :         if (ndr_flags & NDR_SCALARS) {
    4036         300 :                 NDR_CHECK(ndr_pull_align(ndr, 4));
    4037         300 :                 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->holder_req_guid));
    4038         300 :                 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->idle_time));
    4039         300 :                 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->local_id));
    4040         300 :                 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    4041             :         }
    4042         300 :         if (ndr_flags & NDR_BUFFERS) {
    4043           0 :         }
    4044         300 :         return NDR_ERR_SUCCESS;
    4045             : }
    4046             : 
    4047           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)
    4048             : {
    4049           0 :         ndr_print_smbXsrv_open_replay_cache(ndr, name, r);
    4050           0 : }
    4051             : 
    4052           0 : _PUBLIC_ void ndr_print_smbXsrv_open_replay_cache(struct ndr_print *ndr, const char *name, const struct smbXsrv_open_replay_cache *r)
    4053             : {
    4054           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_replay_cache");
    4055           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4056           0 :         ndr->depth++;
    4057           0 :         ndr_print_GUID(ndr, "holder_req_guid", &r->holder_req_guid);
    4058           0 :         ndr_print_NTTIME(ndr, "idle_time", r->idle_time);
    4059           0 :         ndr_print_uint32(ndr, "local_id", r->local_id);
    4060           0 :         ndr->depth--;
    4061             : }
    4062             : 
    4063           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)
    4064             : {
    4065           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4066           0 :         if (flags & NDR_IN) {
    4067           0 :                 NDR_CHECK(ndr_push_smbXsrv_version_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4068             :         }
    4069           0 :         if (flags & NDR_OUT) {
    4070           0 :         }
    4071           0 :         return NDR_ERR_SUCCESS;
    4072             : }
    4073             : 
    4074           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)
    4075             : {
    4076           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4077           0 :         if (flags & NDR_IN) {
    4078           0 :                 NDR_CHECK(ndr_pull_smbXsrv_version_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4079             :         }
    4080           0 :         if (flags & NDR_OUT) {
    4081             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4082             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4083           0 :         }
    4084           0 :         return NDR_ERR_SUCCESS;
    4085             : }
    4086             : 
    4087           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)
    4088             : {
    4089           0 :         ndr_print_struct(ndr, name, "smbXsrv_version_global_decode");
    4090           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4091           0 :         ndr->depth++;
    4092           0 :         if (flags & NDR_SET_VALUES) {
    4093           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4094             :         }
    4095           0 :         if (flags & NDR_IN) {
    4096           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_version_global_decode");
    4097           0 :                 ndr->depth++;
    4098           0 :                 ndr_print_smbXsrv_version_globalB(ndr, "blob", &r->in.blob);
    4099           0 :                 ndr->depth--;
    4100             :         }
    4101           0 :         if (flags & NDR_OUT) {
    4102           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_version_global_decode");
    4103           0 :                 ndr->depth++;
    4104           0 :                 ndr->depth--;
    4105             :         }
    4106           0 :         ndr->depth--;
    4107             : }
    4108             : 
    4109           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)
    4110             : {
    4111           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4112           0 :         if (flags & NDR_IN) {
    4113           0 :                 NDR_CHECK(ndr_push_smbXsrv_client_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4114             :         }
    4115           0 :         if (flags & NDR_OUT) {
    4116           0 :         }
    4117           0 :         return NDR_ERR_SUCCESS;
    4118             : }
    4119             : 
    4120           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)
    4121             : {
    4122           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4123           0 :         if (flags & NDR_IN) {
    4124           0 :                 NDR_CHECK(ndr_pull_smbXsrv_client_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4125             :         }
    4126           0 :         if (flags & NDR_OUT) {
    4127             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4128             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4129           0 :         }
    4130           0 :         return NDR_ERR_SUCCESS;
    4131             : }
    4132             : 
    4133           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)
    4134             : {
    4135           0 :         ndr_print_struct(ndr, name, "smbXsrv_client_global_decode");
    4136           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4137           0 :         ndr->depth++;
    4138           0 :         if (flags & NDR_SET_VALUES) {
    4139           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4140             :         }
    4141           0 :         if (flags & NDR_IN) {
    4142           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_client_global_decode");
    4143           0 :                 ndr->depth++;
    4144           0 :                 ndr_print_smbXsrv_client_globalB(ndr, "blob", &r->in.blob);
    4145           0 :                 ndr->depth--;
    4146             :         }
    4147           0 :         if (flags & NDR_OUT) {
    4148           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_client_global_decode");
    4149           0 :                 ndr->depth++;
    4150           0 :                 ndr->depth--;
    4151             :         }
    4152           0 :         ndr->depth--;
    4153             : }
    4154             : 
    4155           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)
    4156             : {
    4157           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4158           0 :         if (flags & NDR_IN) {
    4159           0 :                 NDR_CHECK(ndr_push_smbXsrv_clientB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4160             :         }
    4161           0 :         if (flags & NDR_OUT) {
    4162           0 :         }
    4163           0 :         return NDR_ERR_SUCCESS;
    4164             : }
    4165             : 
    4166           0 : static enum ndr_err_code ndr_pull_smbXsrv_client_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_client_decode *r)
    4167             : {
    4168           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4169           0 :         if (flags & NDR_IN) {
    4170           0 :                 NDR_CHECK(ndr_pull_smbXsrv_clientB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4171             :         }
    4172           0 :         if (flags & NDR_OUT) {
    4173             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4174             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4175           0 :         }
    4176           0 :         return NDR_ERR_SUCCESS;
    4177             : }
    4178             : 
    4179           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)
    4180             : {
    4181           0 :         ndr_print_struct(ndr, name, "smbXsrv_client_decode");
    4182           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4183           0 :         ndr->depth++;
    4184           0 :         if (flags & NDR_SET_VALUES) {
    4185           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4186             :         }
    4187           0 :         if (flags & NDR_IN) {
    4188           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_client_decode");
    4189           0 :                 ndr->depth++;
    4190           0 :                 ndr_print_smbXsrv_clientB(ndr, "blob", &r->in.blob);
    4191           0 :                 ndr->depth--;
    4192             :         }
    4193           0 :         if (flags & NDR_OUT) {
    4194           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_client_decode");
    4195           0 :                 ndr->depth++;
    4196           0 :                 ndr->depth--;
    4197             :         }
    4198           0 :         ndr->depth--;
    4199             : }
    4200             : 
    4201           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)
    4202             : {
    4203           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4204           0 :         if (flags & NDR_IN) {
    4205           0 :                 NDR_CHECK(ndr_push_smbXsrv_connection_passB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4206             :         }
    4207           0 :         if (flags & NDR_OUT) {
    4208           0 :         }
    4209           0 :         return NDR_ERR_SUCCESS;
    4210             : }
    4211             : 
    4212           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)
    4213             : {
    4214           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4215           0 :         if (flags & NDR_IN) {
    4216           0 :                 NDR_CHECK(ndr_pull_smbXsrv_connection_passB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4217             :         }
    4218           0 :         if (flags & NDR_OUT) {
    4219             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4220             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4221           0 :         }
    4222           0 :         return NDR_ERR_SUCCESS;
    4223             : }
    4224             : 
    4225           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)
    4226             : {
    4227           0 :         ndr_print_struct(ndr, name, "smbXsrv_connection_pass_decode");
    4228           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4229           0 :         ndr->depth++;
    4230           0 :         if (flags & NDR_SET_VALUES) {
    4231           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4232             :         }
    4233           0 :         if (flags & NDR_IN) {
    4234           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_connection_pass_decode");
    4235           0 :                 ndr->depth++;
    4236           0 :                 ndr_print_smbXsrv_connection_passB(ndr, "blob", &r->in.blob);
    4237           0 :                 ndr->depth--;
    4238             :         }
    4239           0 :         if (flags & NDR_OUT) {
    4240           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_connection_pass_decode");
    4241           0 :                 ndr->depth++;
    4242           0 :                 ndr->depth--;
    4243             :         }
    4244           0 :         ndr->depth--;
    4245             : }
    4246             : 
    4247           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)
    4248             : {
    4249           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4250           0 :         if (flags & NDR_IN) {
    4251           0 :                 NDR_CHECK(ndr_push_smbXsrv_connection_dropB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4252             :         }
    4253           0 :         if (flags & NDR_OUT) {
    4254           0 :         }
    4255           0 :         return NDR_ERR_SUCCESS;
    4256             : }
    4257             : 
    4258           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)
    4259             : {
    4260           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4261           0 :         if (flags & NDR_IN) {
    4262           0 :                 NDR_CHECK(ndr_pull_smbXsrv_connection_dropB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4263             :         }
    4264           0 :         if (flags & NDR_OUT) {
    4265             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4266             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4267           0 :         }
    4268           0 :         return NDR_ERR_SUCCESS;
    4269             : }
    4270             : 
    4271           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)
    4272             : {
    4273           0 :         ndr_print_struct(ndr, name, "smbXsrv_connection_drop_decode");
    4274           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4275           0 :         ndr->depth++;
    4276           0 :         if (flags & NDR_SET_VALUES) {
    4277           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4278             :         }
    4279           0 :         if (flags & NDR_IN) {
    4280           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_connection_drop_decode");
    4281           0 :                 ndr->depth++;
    4282           0 :                 ndr_print_smbXsrv_connection_dropB(ndr, "blob", &r->in.blob);
    4283           0 :                 ndr->depth--;
    4284             :         }
    4285           0 :         if (flags & NDR_OUT) {
    4286           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_connection_drop_decode");
    4287           0 :                 ndr->depth++;
    4288           0 :                 ndr->depth--;
    4289             :         }
    4290           0 :         ndr->depth--;
    4291             : }
    4292             : 
    4293           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)
    4294             : {
    4295           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4296           0 :         if (flags & NDR_IN) {
    4297           0 :                 NDR_CHECK(ndr_push_smbXsrv_session_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4298             :         }
    4299           0 :         if (flags & NDR_OUT) {
    4300           0 :         }
    4301           0 :         return NDR_ERR_SUCCESS;
    4302             : }
    4303             : 
    4304           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)
    4305             : {
    4306           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4307           0 :         if (flags & NDR_IN) {
    4308           0 :                 NDR_CHECK(ndr_pull_smbXsrv_session_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4309             :         }
    4310           0 :         if (flags & NDR_OUT) {
    4311             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4312             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4313           0 :         }
    4314           0 :         return NDR_ERR_SUCCESS;
    4315             : }
    4316             : 
    4317           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)
    4318             : {
    4319           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_global_decode");
    4320           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4321           0 :         ndr->depth++;
    4322           0 :         if (flags & NDR_SET_VALUES) {
    4323           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4324             :         }
    4325           0 :         if (flags & NDR_IN) {
    4326           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_session_global_decode");
    4327           0 :                 ndr->depth++;
    4328           0 :                 ndr_print_smbXsrv_session_globalB(ndr, "blob", &r->in.blob);
    4329           0 :                 ndr->depth--;
    4330             :         }
    4331           0 :         if (flags & NDR_OUT) {
    4332           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_session_global_decode");
    4333           0 :                 ndr->depth++;
    4334           0 :                 ndr->depth--;
    4335             :         }
    4336           0 :         ndr->depth--;
    4337             : }
    4338             : 
    4339           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)
    4340             : {
    4341           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4342           0 :         if (flags & NDR_IN) {
    4343           0 :                 NDR_CHECK(ndr_push_smbXsrv_sessionB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4344             :         }
    4345           0 :         if (flags & NDR_OUT) {
    4346           0 :         }
    4347           0 :         return NDR_ERR_SUCCESS;
    4348             : }
    4349             : 
    4350           0 : static enum ndr_err_code ndr_pull_smbXsrv_session_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_session_decode *r)
    4351             : {
    4352           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4353           0 :         if (flags & NDR_IN) {
    4354           0 :                 NDR_CHECK(ndr_pull_smbXsrv_sessionB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4355             :         }
    4356           0 :         if (flags & NDR_OUT) {
    4357             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4358             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4359           0 :         }
    4360           0 :         return NDR_ERR_SUCCESS;
    4361             : }
    4362             : 
    4363           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)
    4364             : {
    4365           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_decode");
    4366           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4367           0 :         ndr->depth++;
    4368           0 :         if (flags & NDR_SET_VALUES) {
    4369           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4370             :         }
    4371           0 :         if (flags & NDR_IN) {
    4372           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_session_decode");
    4373           0 :                 ndr->depth++;
    4374           0 :                 ndr_print_smbXsrv_sessionB(ndr, "blob", &r->in.blob);
    4375           0 :                 ndr->depth--;
    4376             :         }
    4377           0 :         if (flags & NDR_OUT) {
    4378           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_session_decode");
    4379           0 :                 ndr->depth++;
    4380           0 :                 ndr->depth--;
    4381             :         }
    4382           0 :         ndr->depth--;
    4383             : }
    4384             : 
    4385           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)
    4386             : {
    4387           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4388           0 :         if (flags & NDR_IN) {
    4389           0 :                 NDR_CHECK(ndr_push_smbXsrv_session_closeB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4390             :         }
    4391           0 :         if (flags & NDR_OUT) {
    4392           0 :         }
    4393           0 :         return NDR_ERR_SUCCESS;
    4394             : }
    4395             : 
    4396           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)
    4397             : {
    4398           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4399           0 :         if (flags & NDR_IN) {
    4400           0 :                 NDR_CHECK(ndr_pull_smbXsrv_session_closeB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4401             :         }
    4402           0 :         if (flags & NDR_OUT) {
    4403             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4404             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4405           0 :         }
    4406           0 :         return NDR_ERR_SUCCESS;
    4407             : }
    4408             : 
    4409           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)
    4410             : {
    4411           0 :         ndr_print_struct(ndr, name, "smbXsrv_session_close_decode");
    4412           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4413           0 :         ndr->depth++;
    4414           0 :         if (flags & NDR_SET_VALUES) {
    4415           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4416             :         }
    4417           0 :         if (flags & NDR_IN) {
    4418           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_session_close_decode");
    4419           0 :                 ndr->depth++;
    4420           0 :                 ndr_print_smbXsrv_session_closeB(ndr, "blob", &r->in.blob);
    4421           0 :                 ndr->depth--;
    4422             :         }
    4423           0 :         if (flags & NDR_OUT) {
    4424           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_session_close_decode");
    4425           0 :                 ndr->depth++;
    4426           0 :                 ndr->depth--;
    4427             :         }
    4428           0 :         ndr->depth--;
    4429             : }
    4430             : 
    4431           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)
    4432             : {
    4433           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4434           0 :         if (flags & NDR_IN) {
    4435           0 :                 NDR_CHECK(ndr_push_smbXsrv_tcon_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4436             :         }
    4437           0 :         if (flags & NDR_OUT) {
    4438           0 :         }
    4439           0 :         return NDR_ERR_SUCCESS;
    4440             : }
    4441             : 
    4442           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)
    4443             : {
    4444           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4445           0 :         if (flags & NDR_IN) {
    4446           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tcon_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4447             :         }
    4448           0 :         if (flags & NDR_OUT) {
    4449             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4450             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4451           0 :         }
    4452           0 :         return NDR_ERR_SUCCESS;
    4453             : }
    4454             : 
    4455           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)
    4456             : {
    4457           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon_global_decode");
    4458           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4459           0 :         ndr->depth++;
    4460           0 :         if (flags & NDR_SET_VALUES) {
    4461           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4462             :         }
    4463           0 :         if (flags & NDR_IN) {
    4464           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_tcon_global_decode");
    4465           0 :                 ndr->depth++;
    4466           0 :                 ndr_print_smbXsrv_tcon_globalB(ndr, "blob", &r->in.blob);
    4467           0 :                 ndr->depth--;
    4468             :         }
    4469           0 :         if (flags & NDR_OUT) {
    4470           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_tcon_global_decode");
    4471           0 :                 ndr->depth++;
    4472           0 :                 ndr->depth--;
    4473             :         }
    4474           0 :         ndr->depth--;
    4475             : }
    4476             : 
    4477           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)
    4478             : {
    4479           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4480           0 :         if (flags & NDR_IN) {
    4481           0 :                 NDR_CHECK(ndr_push_smbXsrv_tconB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4482             :         }
    4483           0 :         if (flags & NDR_OUT) {
    4484           0 :         }
    4485           0 :         return NDR_ERR_SUCCESS;
    4486             : }
    4487             : 
    4488           0 : static enum ndr_err_code ndr_pull_smbXsrv_tcon_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_tcon_decode *r)
    4489             : {
    4490           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4491           0 :         if (flags & NDR_IN) {
    4492           0 :                 NDR_CHECK(ndr_pull_smbXsrv_tconB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4493             :         }
    4494           0 :         if (flags & NDR_OUT) {
    4495             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4496             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4497           0 :         }
    4498           0 :         return NDR_ERR_SUCCESS;
    4499             : }
    4500             : 
    4501           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)
    4502             : {
    4503           0 :         ndr_print_struct(ndr, name, "smbXsrv_tcon_decode");
    4504           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4505           0 :         ndr->depth++;
    4506           0 :         if (flags & NDR_SET_VALUES) {
    4507           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4508             :         }
    4509           0 :         if (flags & NDR_IN) {
    4510           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_tcon_decode");
    4511           0 :                 ndr->depth++;
    4512           0 :                 ndr_print_smbXsrv_tconB(ndr, "blob", &r->in.blob);
    4513           0 :                 ndr->depth--;
    4514             :         }
    4515           0 :         if (flags & NDR_OUT) {
    4516           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_tcon_decode");
    4517           0 :                 ndr->depth++;
    4518           0 :                 ndr->depth--;
    4519             :         }
    4520           0 :         ndr->depth--;
    4521             : }
    4522             : 
    4523           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)
    4524             : {
    4525           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4526           0 :         if (flags & NDR_IN) {
    4527           0 :                 NDR_CHECK(ndr_push_smbXsrv_open_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4528             :         }
    4529           0 :         if (flags & NDR_OUT) {
    4530           0 :         }
    4531           0 :         return NDR_ERR_SUCCESS;
    4532             : }
    4533             : 
    4534           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)
    4535             : {
    4536           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4537           0 :         if (flags & NDR_IN) {
    4538           0 :                 NDR_CHECK(ndr_pull_smbXsrv_open_globalB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4539             :         }
    4540           0 :         if (flags & NDR_OUT) {
    4541             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4542             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4543           0 :         }
    4544           0 :         return NDR_ERR_SUCCESS;
    4545             : }
    4546             : 
    4547           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)
    4548             : {
    4549           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_global_decode");
    4550           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4551           0 :         ndr->depth++;
    4552           0 :         if (flags & NDR_SET_VALUES) {
    4553           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4554             :         }
    4555           0 :         if (flags & NDR_IN) {
    4556           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_open_global_decode");
    4557           0 :                 ndr->depth++;
    4558           0 :                 ndr_print_smbXsrv_open_globalB(ndr, "blob", &r->in.blob);
    4559           0 :                 ndr->depth--;
    4560             :         }
    4561           0 :         if (flags & NDR_OUT) {
    4562           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_open_global_decode");
    4563           0 :                 ndr->depth++;
    4564           0 :                 ndr->depth--;
    4565             :         }
    4566           0 :         ndr->depth--;
    4567             : }
    4568             : 
    4569           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)
    4570             : {
    4571           0 :         NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
    4572           0 :         if (flags & NDR_IN) {
    4573           0 :                 NDR_CHECK(ndr_push_smbXsrv_openB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4574             :         }
    4575           0 :         if (flags & NDR_OUT) {
    4576           0 :         }
    4577           0 :         return NDR_ERR_SUCCESS;
    4578             : }
    4579             : 
    4580           0 : static enum ndr_err_code ndr_pull_smbXsrv_open_decode(struct ndr_pull *ndr, ndr_flags_type flags, struct smbXsrv_open_decode *r)
    4581             : {
    4582           0 :         NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
    4583           0 :         if (flags & NDR_IN) {
    4584           0 :                 NDR_CHECK(ndr_pull_smbXsrv_openB(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
    4585             :         }
    4586           0 :         if (flags & NDR_OUT) {
    4587             : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
    4588             : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
    4589           0 :         }
    4590           0 :         return NDR_ERR_SUCCESS;
    4591             : }
    4592             : 
    4593           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)
    4594             : {
    4595           0 :         ndr_print_struct(ndr, name, "smbXsrv_open_decode");
    4596           0 :         if (r == NULL) { ndr_print_null(ndr); return; }
    4597           0 :         ndr->depth++;
    4598           0 :         if (flags & NDR_SET_VALUES) {
    4599           0 :                 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
    4600             :         }
    4601           0 :         if (flags & NDR_IN) {
    4602           0 :                 ndr_print_struct(ndr, "in", "smbXsrv_open_decode");
    4603           0 :                 ndr->depth++;
    4604           0 :                 ndr_print_smbXsrv_openB(ndr, "blob", &r->in.blob);
    4605           0 :                 ndr->depth--;
    4606             :         }
    4607           0 :         if (flags & NDR_OUT) {
    4608           0 :                 ndr_print_struct(ndr, "out", "smbXsrv_open_decode");
    4609           0 :                 ndr->depth++;
    4610           0 :                 ndr->depth--;
    4611             :         }
    4612           0 :         ndr->depth--;
    4613             : }
    4614             : 
    4615             : #ifndef SKIP_NDR_TABLE_smbXsrv
    4616             : static const struct ndr_interface_public_struct smbXsrv_public_structs[] = {
    4617             :         {
    4618             :                 .name = "smbXsrv_version_globalB",
    4619             :                 .struct_size = sizeof(struct smbXsrv_version_globalB ),
    4620             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_version_globalB,
    4621             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_version_globalB,
    4622             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_version_globalB,
    4623             :         },
    4624             :         {
    4625             :                 .name = "smbXsrv_client_globalB",
    4626             :                 .struct_size = sizeof(struct smbXsrv_client_globalB ),
    4627             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_client_globalB,
    4628             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_client_globalB,
    4629             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_client_globalB,
    4630             :         },
    4631             :         {
    4632             :                 .name = "smbXsrv_client",
    4633             :                 .struct_size = sizeof(struct smbXsrv_client ),
    4634             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_client,
    4635             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_client,
    4636             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_client,
    4637             :         },
    4638             :         {
    4639             :                 .name = "smbXsrv_clientB",
    4640             :                 .struct_size = sizeof(struct smbXsrv_clientB ),
    4641             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_clientB,
    4642             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_clientB,
    4643             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_clientB,
    4644             :         },
    4645             :         {
    4646             :                 .name = "smbXsrv_connection_passB",
    4647             :                 .struct_size = sizeof(struct smbXsrv_connection_passB ),
    4648             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_connection_passB,
    4649             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_connection_passB,
    4650             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_connection_passB,
    4651             :         },
    4652             :         {
    4653             :                 .name = "smbXsrv_connection_dropB",
    4654             :                 .struct_size = sizeof(struct smbXsrv_connection_dropB ),
    4655             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_connection_dropB,
    4656             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_connection_dropB,
    4657             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_connection_dropB,
    4658             :         },
    4659             :         {
    4660             :                 .name = "smbXsrv_session_globalB",
    4661             :                 .struct_size = sizeof(struct smbXsrv_session_globalB ),
    4662             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_globalB,
    4663             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_globalB,
    4664             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_session_globalB,
    4665             :         },
    4666             :         {
    4667             :                 .name = "smbXsrv_sessionB",
    4668             :                 .struct_size = sizeof(struct smbXsrv_sessionB ),
    4669             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_sessionB,
    4670             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_sessionB,
    4671             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_sessionB,
    4672             :         },
    4673             :         {
    4674             :                 .name = "smbXsrv_session_closeB",
    4675             :                 .struct_size = sizeof(struct smbXsrv_session_closeB ),
    4676             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_closeB,
    4677             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_closeB,
    4678             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_session_closeB,
    4679             :         },
    4680             :         {
    4681             :                 .name = "smbXsrv_tcon_globalB",
    4682             :                 .struct_size = sizeof(struct smbXsrv_tcon_globalB ),
    4683             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_tcon_globalB,
    4684             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_tcon_globalB,
    4685             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_tcon_globalB,
    4686             :         },
    4687             :         {
    4688             :                 .name = "smbXsrv_tconB",
    4689             :                 .struct_size = sizeof(struct smbXsrv_tconB ),
    4690             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_tconB,
    4691             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_tconB,
    4692             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_tconB,
    4693             :         },
    4694             :         {
    4695             :                 .name = "smbXsrv_open_globalB",
    4696             :                 .struct_size = sizeof(struct smbXsrv_open_globalB ),
    4697             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_open_globalB,
    4698             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_open_globalB,
    4699             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_open_globalB,
    4700             :         },
    4701             :         {
    4702             :                 .name = "smbXsrv_openB",
    4703             :                 .struct_size = sizeof(struct smbXsrv_openB ),
    4704             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_openB,
    4705             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_openB,
    4706             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_openB,
    4707             :         },
    4708             :         {
    4709             :                 .name = "smbXsrv_open_replay_cache",
    4710             :                 .struct_size = sizeof(struct smbXsrv_open_replay_cache ),
    4711             :                 .ndr_push = (ndr_push_flags_fn_t) ndr_push_smbXsrv_open_replay_cache,
    4712             :                 .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_open_replay_cache,
    4713             :                 .ndr_print = (ndr_print_function_t) ndr_print_flags_smbXsrv_open_replay_cache,
    4714             :         },
    4715             :         { .name = NULL }
    4716             : };
    4717             : 
    4718             : static const struct ndr_interface_call smbXsrv_calls[] = {
    4719             :         {
    4720             :                 "smbXsrv_version_global_decode",
    4721             :                 sizeof(struct smbXsrv_version_global_decode),
    4722             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_version_global_decode,
    4723             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_version_global_decode,
    4724             :                 (ndr_print_function_t) ndr_print_smbXsrv_version_global_decode,
    4725             :                 { 0, NULL },
    4726             :                 { 0, NULL },
    4727             :         },
    4728             :         {
    4729             :                 "smbXsrv_client_global_decode",
    4730             :                 sizeof(struct smbXsrv_client_global_decode),
    4731             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_client_global_decode,
    4732             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_client_global_decode,
    4733             :                 (ndr_print_function_t) ndr_print_smbXsrv_client_global_decode,
    4734             :                 { 0, NULL },
    4735             :                 { 0, NULL },
    4736             :         },
    4737             :         {
    4738             :                 "smbXsrv_client_decode",
    4739             :                 sizeof(struct smbXsrv_client_decode),
    4740             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_client_decode,
    4741             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_client_decode,
    4742             :                 (ndr_print_function_t) ndr_print_smbXsrv_client_decode,
    4743             :                 { 0, NULL },
    4744             :                 { 0, NULL },
    4745             :         },
    4746             :         {
    4747             :                 "smbXsrv_connection_pass_decode",
    4748             :                 sizeof(struct smbXsrv_connection_pass_decode),
    4749             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_connection_pass_decode,
    4750             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_connection_pass_decode,
    4751             :                 (ndr_print_function_t) ndr_print_smbXsrv_connection_pass_decode,
    4752             :                 { 0, NULL },
    4753             :                 { 0, NULL },
    4754             :         },
    4755             :         {
    4756             :                 "smbXsrv_connection_drop_decode",
    4757             :                 sizeof(struct smbXsrv_connection_drop_decode),
    4758             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_connection_drop_decode,
    4759             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_connection_drop_decode,
    4760             :                 (ndr_print_function_t) ndr_print_smbXsrv_connection_drop_decode,
    4761             :                 { 0, NULL },
    4762             :                 { 0, NULL },
    4763             :         },
    4764             :         {
    4765             :                 "smbXsrv_session_global_decode",
    4766             :                 sizeof(struct smbXsrv_session_global_decode),
    4767             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_global_decode,
    4768             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_global_decode,
    4769             :                 (ndr_print_function_t) ndr_print_smbXsrv_session_global_decode,
    4770             :                 { 0, NULL },
    4771             :                 { 0, NULL },
    4772             :         },
    4773             :         {
    4774             :                 "smbXsrv_session_decode",
    4775             :                 sizeof(struct smbXsrv_session_decode),
    4776             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_decode,
    4777             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_decode,
    4778             :                 (ndr_print_function_t) ndr_print_smbXsrv_session_decode,
    4779             :                 { 0, NULL },
    4780             :                 { 0, NULL },
    4781             :         },
    4782             :         {
    4783             :                 "smbXsrv_session_close_decode",
    4784             :                 sizeof(struct smbXsrv_session_close_decode),
    4785             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_session_close_decode,
    4786             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_session_close_decode,
    4787             :                 (ndr_print_function_t) ndr_print_smbXsrv_session_close_decode,
    4788             :                 { 0, NULL },
    4789             :                 { 0, NULL },
    4790             :         },
    4791             :         {
    4792             :                 "smbXsrv_tcon_global_decode",
    4793             :                 sizeof(struct smbXsrv_tcon_global_decode),
    4794             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_tcon_global_decode,
    4795             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_tcon_global_decode,
    4796             :                 (ndr_print_function_t) ndr_print_smbXsrv_tcon_global_decode,
    4797             :                 { 0, NULL },
    4798             :                 { 0, NULL },
    4799             :         },
    4800             :         {
    4801             :                 "smbXsrv_tcon_decode",
    4802             :                 sizeof(struct smbXsrv_tcon_decode),
    4803             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_tcon_decode,
    4804             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_tcon_decode,
    4805             :                 (ndr_print_function_t) ndr_print_smbXsrv_tcon_decode,
    4806             :                 { 0, NULL },
    4807             :                 { 0, NULL },
    4808             :         },
    4809             :         {
    4810             :                 "smbXsrv_open_global_decode",
    4811             :                 sizeof(struct smbXsrv_open_global_decode),
    4812             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_open_global_decode,
    4813             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_open_global_decode,
    4814             :                 (ndr_print_function_t) ndr_print_smbXsrv_open_global_decode,
    4815             :                 { 0, NULL },
    4816             :                 { 0, NULL },
    4817             :         },
    4818             :         {
    4819             :                 "smbXsrv_open_decode",
    4820             :                 sizeof(struct smbXsrv_open_decode),
    4821             :                 (ndr_push_flags_fn_t) ndr_push_smbXsrv_open_decode,
    4822             :                 (ndr_pull_flags_fn_t) ndr_pull_smbXsrv_open_decode,
    4823             :                 (ndr_print_function_t) ndr_print_smbXsrv_open_decode,
    4824             :                 { 0, NULL },
    4825             :                 { 0, NULL },
    4826             :         },
    4827             :         { .name = NULL }
    4828             : };
    4829             : 
    4830             : static const char * const smbXsrv_endpoint_strings[] = {
    4831             :         "ncacn_np:[\\pipe\\smbXsrv]", 
    4832             : };
    4833             : 
    4834             : static const struct ndr_interface_string_array smbXsrv_endpoints = {
    4835             :         .count  = 1,
    4836             :         .names  = smbXsrv_endpoint_strings
    4837             : };
    4838             : 
    4839             : static const char * const smbXsrv_authservice_strings[] = {
    4840             :         "host", 
    4841             : };
    4842             : 
    4843             : static const struct ndr_interface_string_array smbXsrv_authservices = {
    4844             :         .count  = 1,
    4845             :         .names  = smbXsrv_authservice_strings
    4846             : };
    4847             : 
    4848             : 
    4849             : const struct ndr_interface_table ndr_table_smbXsrv = {
    4850             :         .name           = "smbXsrv",
    4851             :         .syntax_id      = {
    4852             :                 {0x07408340,0xae31,0x11e1,{0x97,0xdc},{0x53,0x9f,0x7f,0xdd,0xc0,0x6f}},
    4853             :                 NDR_SMBXSRV_VERSION
    4854             :         },
    4855             :         .helpstring     = NDR_SMBXSRV_HELPSTRING,
    4856             :         .num_calls      = 12,
    4857             :         .calls          = smbXsrv_calls,
    4858             :         .num_public_structs     = 14,
    4859             :         .public_structs         = smbXsrv_public_structs,
    4860             :         .endpoints      = &smbXsrv_endpoints,
    4861             :         .authservices   = &smbXsrv_authservices
    4862             : };
    4863             : 
    4864             : #endif /* SKIP_NDR_TABLE_smbXsrv */

Generated by: LCOV version 1.14