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