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