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 v4-17-test 1498b464 Lines: 871 3072 28.4 %
Date: 2024-06-13 04:01:37 Functions: 45 182 24.7 %

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

Generated by: LCOV version 1.13