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