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