source: trunk/server/librpc/gen_ndr/ndr_drsblobs.c@ 596

Last change on this file since 596 was 596, checked in by Herwig Bauernfeind, 14 years ago

Samba 3.5: Update trunk to 3.5.8

File size: 168.1 KB
Line 
1/* parser auto-generated by pidl */
2
3#include "includes.h"
4#include "../librpc/gen_ndr/ndr_drsblobs.h"
5
6#include "librpc/gen_ndr/ndr_drsuapi.h"
7#include "librpc/gen_ndr/ndr_misc.h"
8#include "librpc/gen_ndr/ndr_samr.h"
9#include "librpc/gen_ndr/ndr_lsa.h"
10static enum ndr_err_code ndr_push_replPropertyMetaData1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaData1 *r)
11{
12 if (ndr_flags & NDR_SCALARS) {
13 NDR_CHECK(ndr_push_align(ndr, 8));
14 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
15 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
16 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
17 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
18 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
19 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
20 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
21 }
22 if (ndr_flags & NDR_BUFFERS) {
23 }
24 return NDR_ERR_SUCCESS;
25}
26
27static enum ndr_err_code ndr_pull_replPropertyMetaData1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaData1 *r)
28{
29 if (ndr_flags & NDR_SCALARS) {
30 NDR_CHECK(ndr_pull_align(ndr, 8));
31 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
32 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
33 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
34 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
35 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
36 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
37 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
38 }
39 if (ndr_flags & NDR_BUFFERS) {
40 }
41 return NDR_ERR_SUCCESS;
42}
43
44_PUBLIC_ void ndr_print_replPropertyMetaData1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaData1 *r)
45{
46 ndr_print_struct(ndr, name, "replPropertyMetaData1");
47 ndr->depth++;
48 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
49 ndr_print_uint32(ndr, "version", r->version);
50 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
51 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
52 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
53 ndr_print_hyper(ndr, "local_usn", r->local_usn);
54 ndr->depth--;
55}
56
57static enum ndr_err_code ndr_push_replPropertyMetaDataCtr1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataCtr1 *r)
58{
59 uint32_t cntr_array_0;
60 if (ndr_flags & NDR_SCALARS) {
61 NDR_CHECK(ndr_push_align(ndr, 8));
62 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
63 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
64 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
65 NDR_CHECK(ndr_push_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
66 }
67 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
68 }
69 if (ndr_flags & NDR_BUFFERS) {
70 }
71 return NDR_ERR_SUCCESS;
72}
73
74static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataCtr1 *r)
75{
76 uint32_t cntr_array_0;
77 TALLOC_CTX *_mem_save_array_0;
78 if (ndr_flags & NDR_SCALARS) {
79 NDR_CHECK(ndr_pull_align(ndr, 8));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
82 NDR_PULL_ALLOC_N(ndr, r->array, r->count);
83 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
84 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
85 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
86 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
87 }
88 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
89 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
90 }
91 if (ndr_flags & NDR_BUFFERS) {
92 }
93 return NDR_ERR_SUCCESS;
94}
95
96_PUBLIC_ void ndr_print_replPropertyMetaDataCtr1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataCtr1 *r)
97{
98 uint32_t cntr_array_0;
99 ndr_print_struct(ndr, name, "replPropertyMetaDataCtr1");
100 ndr->depth++;
101 ndr_print_uint32(ndr, "count", r->count);
102 ndr_print_uint32(ndr, "reserved", r->reserved);
103 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
104 ndr->depth++;
105 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
106 char *idx_0=NULL;
107 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
108 ndr_print_replPropertyMetaData1(ndr, "array", &r->array[cntr_array_0]);
109 free(idx_0);
110 }
111 }
112 ndr->depth--;
113 ndr->depth--;
114}
115
116static enum ndr_err_code ndr_push_replPropertyMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const union replPropertyMetaDataCtr *r)
117{
118 if (ndr_flags & NDR_SCALARS) {
119 int level = ndr_push_get_switch_value(ndr, r);
120 NDR_CHECK(ndr_push_union_align(ndr, 8));
121 switch (level) {
122 case 1: {
123 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1));
124 break; }
125
126 default:
127 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
128 }
129 }
130 if (ndr_flags & NDR_BUFFERS) {
131 int level = ndr_push_get_switch_value(ndr, r);
132 switch (level) {
133 case 1:
134 break;
135
136 default:
137 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
138 }
139 }
140 return NDR_ERR_SUCCESS;
141}
142
143static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, union replPropertyMetaDataCtr *r)
144{
145 int level;
146 level = ndr_pull_get_switch_value(ndr, r);
147 if (ndr_flags & NDR_SCALARS) {
148 NDR_CHECK(ndr_pull_union_align(ndr, 8));
149 switch (level) {
150 case 1: {
151 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1));
152 break; }
153
154 default:
155 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
156 }
157 }
158 if (ndr_flags & NDR_BUFFERS) {
159 switch (level) {
160 case 1:
161 break;
162
163 default:
164 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
165 }
166 }
167 return NDR_ERR_SUCCESS;
168}
169
170_PUBLIC_ void ndr_print_replPropertyMetaDataCtr(struct ndr_print *ndr, const char *name, const union replPropertyMetaDataCtr *r)
171{
172 int level;
173 level = ndr_print_get_switch_value(ndr, r);
174 ndr_print_union(ndr, name, level, "replPropertyMetaDataCtr");
175 switch (level) {
176 case 1:
177 ndr_print_replPropertyMetaDataCtr1(ndr, "ctr1", &r->ctr1);
178 break;
179
180 default:
181 ndr_print_bad_level(ndr, name, level);
182 }
183}
184
185_PUBLIC_ enum ndr_err_code ndr_push_replPropertyMetaDataBlob(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataBlob *r)
186{
187 if (ndr_flags & NDR_SCALARS) {
188 NDR_CHECK(ndr_push_align(ndr, 8));
189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
191 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
192 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr));
193 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
194 }
195 if (ndr_flags & NDR_BUFFERS) {
196 }
197 return NDR_ERR_SUCCESS;
198}
199
200_PUBLIC_ enum ndr_err_code ndr_pull_replPropertyMetaDataBlob(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataBlob *r)
201{
202 if (ndr_flags & NDR_SCALARS) {
203 NDR_CHECK(ndr_pull_align(ndr, 8));
204 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
206 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
207 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr));
208 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
209 }
210 if (ndr_flags & NDR_BUFFERS) {
211 }
212 return NDR_ERR_SUCCESS;
213}
214
215_PUBLIC_ void ndr_print_replPropertyMetaDataBlob(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataBlob *r)
216{
217 ndr_print_struct(ndr, name, "replPropertyMetaDataBlob");
218 ndr->depth++;
219 ndr_print_uint32(ndr, "version", r->version);
220 ndr_print_uint32(ndr, "reserved", r->reserved);
221 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
222 ndr_print_replPropertyMetaDataCtr(ndr, "ctr", &r->ctr);
223 ndr->depth--;
224}
225
226static enum ndr_err_code ndr_push_replUpToDateVectorCtr1(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr1 *r)
227{
228 uint32_t cntr_cursors_0;
229 if (ndr_flags & NDR_SCALARS) {
230 NDR_CHECK(ndr_push_align(ndr, 8));
231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
233 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
234 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
235 }
236 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
237 }
238 if (ndr_flags & NDR_BUFFERS) {
239 }
240 return NDR_ERR_SUCCESS;
241}
242
243static enum ndr_err_code ndr_pull_replUpToDateVectorCtr1(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr1 *r)
244{
245 uint32_t cntr_cursors_0;
246 TALLOC_CTX *_mem_save_cursors_0;
247 if (ndr_flags & NDR_SCALARS) {
248 NDR_CHECK(ndr_pull_align(ndr, 8));
249 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
250 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
251 NDR_PULL_ALLOC_N(ndr, r->cursors, r->count);
252 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
253 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
254 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
255 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
256 }
257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
258 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
259 }
260 if (ndr_flags & NDR_BUFFERS) {
261 }
262 return NDR_ERR_SUCCESS;
263}
264
265_PUBLIC_ void ndr_print_replUpToDateVectorCtr1(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr1 *r)
266{
267 uint32_t cntr_cursors_0;
268 ndr_print_struct(ndr, name, "replUpToDateVectorCtr1");
269 ndr->depth++;
270 ndr_print_uint32(ndr, "count", r->count);
271 ndr_print_uint32(ndr, "reserved", r->reserved);
272 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
273 ndr->depth++;
274 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
275 char *idx_0=NULL;
276 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
277 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
278 free(idx_0);
279 }
280 }
281 ndr->depth--;
282 ndr->depth--;
283}
284
285static enum ndr_err_code ndr_push_replUpToDateVectorCtr2(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr2 *r)
286{
287 uint32_t cntr_cursors_0;
288 if (ndr_flags & NDR_SCALARS) {
289 NDR_CHECK(ndr_push_align(ndr, 8));
290 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
292 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
293 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
294 }
295 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
296 }
297 if (ndr_flags & NDR_BUFFERS) {
298 }
299 return NDR_ERR_SUCCESS;
300}
301
302static enum ndr_err_code ndr_pull_replUpToDateVectorCtr2(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr2 *r)
303{
304 uint32_t cntr_cursors_0;
305 TALLOC_CTX *_mem_save_cursors_0;
306 if (ndr_flags & NDR_SCALARS) {
307 NDR_CHECK(ndr_pull_align(ndr, 8));
308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
309 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
310 NDR_PULL_ALLOC_N(ndr, r->cursors, r->count);
311 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
312 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
313 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
315 }
316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
317 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
318 }
319 if (ndr_flags & NDR_BUFFERS) {
320 }
321 return NDR_ERR_SUCCESS;
322}
323
324_PUBLIC_ void ndr_print_replUpToDateVectorCtr2(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr2 *r)
325{
326 uint32_t cntr_cursors_0;
327 ndr_print_struct(ndr, name, "replUpToDateVectorCtr2");
328 ndr->depth++;
329 ndr_print_uint32(ndr, "count", r->count);
330 ndr_print_uint32(ndr, "reserved", r->reserved);
331 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
332 ndr->depth++;
333 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
334 char *idx_0=NULL;
335 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
336 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
337 free(idx_0);
338 }
339 }
340 ndr->depth--;
341 ndr->depth--;
342}
343
344static enum ndr_err_code ndr_push_replUpToDateVectorCtr(struct ndr_push *ndr, int ndr_flags, const union replUpToDateVectorCtr *r)
345{
346 if (ndr_flags & NDR_SCALARS) {
347 int level = ndr_push_get_switch_value(ndr, r);
348 NDR_CHECK(ndr_push_union_align(ndr, 8));
349 switch (level) {
350 case 1: {
351 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1));
352 break; }
353
354 case 2: {
355 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2));
356 break; }
357
358 default:
359 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
360 }
361 }
362 if (ndr_flags & NDR_BUFFERS) {
363 int level = ndr_push_get_switch_value(ndr, r);
364 switch (level) {
365 case 1:
366 break;
367
368 case 2:
369 break;
370
371 default:
372 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
373 }
374 }
375 return NDR_ERR_SUCCESS;
376}
377
378static enum ndr_err_code ndr_pull_replUpToDateVectorCtr(struct ndr_pull *ndr, int ndr_flags, union replUpToDateVectorCtr *r)
379{
380 int level;
381 level = ndr_pull_get_switch_value(ndr, r);
382 if (ndr_flags & NDR_SCALARS) {
383 NDR_CHECK(ndr_pull_union_align(ndr, 8));
384 switch (level) {
385 case 1: {
386 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1));
387 break; }
388
389 case 2: {
390 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2));
391 break; }
392
393 default:
394 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
395 }
396 }
397 if (ndr_flags & NDR_BUFFERS) {
398 switch (level) {
399 case 1:
400 break;
401
402 case 2:
403 break;
404
405 default:
406 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
407 }
408 }
409 return NDR_ERR_SUCCESS;
410}
411
412_PUBLIC_ void ndr_print_replUpToDateVectorCtr(struct ndr_print *ndr, const char *name, const union replUpToDateVectorCtr *r)
413{
414 int level;
415 level = ndr_print_get_switch_value(ndr, r);
416 ndr_print_union(ndr, name, level, "replUpToDateVectorCtr");
417 switch (level) {
418 case 1:
419 ndr_print_replUpToDateVectorCtr1(ndr, "ctr1", &r->ctr1);
420 break;
421
422 case 2:
423 ndr_print_replUpToDateVectorCtr2(ndr, "ctr2", &r->ctr2);
424 break;
425
426 default:
427 ndr_print_bad_level(ndr, name, level);
428 }
429}
430
431_PUBLIC_ enum ndr_err_code ndr_push_replUpToDateVectorBlob(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorBlob *r)
432{
433 if (ndr_flags & NDR_SCALARS) {
434 NDR_CHECK(ndr_push_align(ndr, 8));
435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
437 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
438 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr));
439 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
440 }
441 if (ndr_flags & NDR_BUFFERS) {
442 }
443 return NDR_ERR_SUCCESS;
444}
445
446_PUBLIC_ enum ndr_err_code ndr_pull_replUpToDateVectorBlob(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorBlob *r)
447{
448 if (ndr_flags & NDR_SCALARS) {
449 NDR_CHECK(ndr_pull_align(ndr, 8));
450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
451 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
452 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
453 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr));
454 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
455 }
456 if (ndr_flags & NDR_BUFFERS) {
457 }
458 return NDR_ERR_SUCCESS;
459}
460
461_PUBLIC_ void ndr_print_replUpToDateVectorBlob(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorBlob *r)
462{
463 ndr_print_struct(ndr, name, "replUpToDateVectorBlob");
464 ndr->depth++;
465 ndr_print_uint32(ndr, "version", r->version);
466 ndr_print_uint32(ndr, "reserved", r->reserved);
467 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
468 ndr_print_replUpToDateVectorCtr(ndr, "ctr", &r->ctr);
469 ndr->depth--;
470}
471
472_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1OtherInfo *r)
473{
474 if (ndr_flags & NDR_SCALARS) {
475 NDR_CHECK(ndr_push_align(ndr, 4));
476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->dns_name) + 1));
477 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, strlen(r->dns_name) + 1, sizeof(uint8_t), CH_DOS));
478 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
479 }
480 if (ndr_flags & NDR_BUFFERS) {
481 }
482 return NDR_ERR_SUCCESS;
483}
484
485_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1OtherInfo *r)
486{
487 if (ndr_flags & NDR_SCALARS) {
488 NDR_CHECK(ndr_pull_align(ndr, 4));
489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__dns_name_size));
490 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, r->__dns_name_size, sizeof(uint8_t), CH_DOS));
491 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
492 }
493 if (ndr_flags & NDR_BUFFERS) {
494 }
495 return NDR_ERR_SUCCESS;
496}
497
498_PUBLIC_ void ndr_print_repsFromTo1OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo1OtherInfo *r)
499{
500 ndr_print_struct(ndr, name, "repsFromTo1OtherInfo");
501 ndr->depth++;
502 ndr_print_uint32(ndr, "__dns_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->dns_name) + 1:r->__dns_name_size);
503 ndr_print_string(ndr, "dns_name", r->dns_name);
504 ndr->depth--;
505}
506
507_PUBLIC_ size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo *r, struct smb_iconv_convenience *ic, int flags)
508{
509 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1OtherInfo, ic);
510}
511
512_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1 *r)
513{
514 {
515 uint32_t _flags_save_STRUCT = ndr->flags;
516 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
517 if (ndr_flags & NDR_SCALARS) {
518 NDR_CHECK(ndr_push_align(ndr, 8));
519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8));
520 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
521 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success));
522 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt));
523 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
524 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info));
525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags)));
526 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
527 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
529 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
530 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
531 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
532 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid));
533 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
534 }
535 if (ndr_flags & NDR_BUFFERS) {
536 if (r->other_info) {
537 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
538 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
539 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
540 }
541 }
542 ndr->flags = _flags_save_STRUCT;
543 }
544 return NDR_ERR_SUCCESS;
545}
546
547_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1 *r)
548{
549 uint32_t _ptr_other_info;
550 TALLOC_CTX *_mem_save_other_info_0;
551 {
552 uint32_t _flags_save_STRUCT = ndr->flags;
553 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
554 if (ndr_flags & NDR_SCALARS) {
555 NDR_CHECK(ndr_pull_align(ndr, 8));
556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize));
557 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
558 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success));
559 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt));
560 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
561 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
562 if (_ptr_other_info) {
563 NDR_PULL_ALLOC(ndr, r->other_info);
564 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info));
565 } else {
566 r->other_info = NULL;
567 }
568 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length));
569 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
570 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
571 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
572 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
573 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
574 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
575 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid));
576 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
577 }
578 if (ndr_flags & NDR_BUFFERS) {
579 if (r->other_info) {
580 uint32_t _relative_save_offset;
581 _relative_save_offset = ndr->offset;
582 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info));
583 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
584 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
585 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
587 ndr->offset = _relative_save_offset;
588 }
589 }
590 ndr->flags = _flags_save_STRUCT;
591 }
592 return NDR_ERR_SUCCESS;
593}
594
595_PUBLIC_ void ndr_print_repsFromTo1(struct ndr_print *ndr, const char *name, const struct repsFromTo1 *r)
596{
597 ndr_print_struct(ndr, name, "repsFromTo1");
598 {
599 uint32_t _flags_save_STRUCT = ndr->flags;
600 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
601 ndr->depth++;
602 ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize);
603 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
604 ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success);
605 ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt);
606 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
607 ndr_print_ptr(ndr, "other_info", r->other_info);
608 ndr->depth++;
609 if (r->other_info) {
610 ndr_print_repsFromTo1OtherInfo(ndr, "other_info", r->other_info);
611 }
612 ndr->depth--;
613 ndr_print_uint32(ndr, "other_info_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags):r->other_info_length);
614 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
615 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
616 ndr_print_uint32(ndr, "reserved", r->reserved);
617 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
618 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
619 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
620 ndr_print_GUID(ndr, "transport_guid", &r->transport_guid);
621 ndr->depth--;
622 ndr->flags = _flags_save_STRUCT;
623 }
624}
625
626_PUBLIC_ size_t ndr_size_repsFromTo1(const struct repsFromTo1 *r, struct smb_iconv_convenience *ic, int flags)
627{
628 flags |= LIBNDR_PRINT_ARRAY_HEX;
629 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1, ic);
630}
631
632_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2OtherInfo *r)
633{
634 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
635 if (ndr_flags & NDR_SCALARS) {
636 NDR_CHECK(ndr_push_align(ndr, 8));
637 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
638 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags)));
639 {
640 uint32_t _flags_save_string = ndr->flags;
641 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
642 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name1));
643 ndr->flags = _flags_save_string;
644 }
645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
646 {
647 uint32_t _flags_save_string = ndr->flags;
648 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
649 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name2));
650 ndr->flags = _flags_save_string;
651 }
652 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown2));
653 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
654 }
655 if (ndr_flags & NDR_BUFFERS) {
656 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
657 {
658 uint32_t _flags_save_string = ndr->flags;
659 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
660 if (r->dns_name1) {
661 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name1));
662 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name1));
663 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name1));
664 }
665 ndr->flags = _flags_save_string;
666 }
667 {
668 uint32_t _flags_save_string = ndr->flags;
669 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
670 if (r->dns_name2) {
671 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name2));
672 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name2));
673 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name2));
674 }
675 ndr->flags = _flags_save_string;
676 }
677 }
678 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
679 return NDR_ERR_SUCCESS;
680}
681
682_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2OtherInfo *r)
683{
684 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
685 uint32_t _ptr_dns_name1;
686 TALLOC_CTX *_mem_save_dns_name1_0;
687 uint32_t _ptr_dns_name2;
688 TALLOC_CTX *_mem_save_dns_name2_0;
689 if (ndr_flags & NDR_SCALARS) {
690 NDR_CHECK(ndr_pull_align(ndr, 8));
691 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
693 {
694 uint32_t _flags_save_string = ndr->flags;
695 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
696 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name1));
697 if (_ptr_dns_name1) {
698 NDR_PULL_ALLOC(ndr, r->dns_name1);
699 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name1, _ptr_dns_name1));
700 } else {
701 r->dns_name1 = NULL;
702 }
703 ndr->flags = _flags_save_string;
704 }
705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
706 {
707 uint32_t _flags_save_string = ndr->flags;
708 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
709 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name2));
710 if (_ptr_dns_name2) {
711 NDR_PULL_ALLOC(ndr, r->dns_name2);
712 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name2, _ptr_dns_name2));
713 } else {
714 r->dns_name2 = NULL;
715 }
716 ndr->flags = _flags_save_string;
717 }
718 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown2));
719 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
720 }
721 if (ndr_flags & NDR_BUFFERS) {
722 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
723 {
724 uint32_t _flags_save_string = ndr->flags;
725 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
726 if (r->dns_name1) {
727 uint32_t _relative_save_offset;
728 _relative_save_offset = ndr->offset;
729 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name1));
730 _mem_save_dns_name1_0 = NDR_PULL_GET_MEM_CTX(ndr);
731 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name1, 0);
732 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name1));
733 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name1_0, 0);
734 ndr->offset = _relative_save_offset;
735 }
736 ndr->flags = _flags_save_string;
737 }
738 {
739 uint32_t _flags_save_string = ndr->flags;
740 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
741 if (r->dns_name2) {
742 uint32_t _relative_save_offset;
743 _relative_save_offset = ndr->offset;
744 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name2));
745 _mem_save_dns_name2_0 = NDR_PULL_GET_MEM_CTX(ndr);
746 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name2, 0);
747 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name2));
748 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name2_0, 0);
749 ndr->offset = _relative_save_offset;
750 }
751 ndr->flags = _flags_save_string;
752 }
753 }
754 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
755 return NDR_ERR_SUCCESS;
756}
757
758_PUBLIC_ void ndr_print_repsFromTo2OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo2OtherInfo *r)
759{
760 ndr_print_struct(ndr, name, "repsFromTo2OtherInfo");
761 ndr->depth++;
762 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
763 ndr_print_ptr(ndr, "dns_name1", r->dns_name1);
764 ndr->depth++;
765 if (r->dns_name1) {
766 ndr_print_string(ndr, "dns_name1", r->dns_name1);
767 }
768 ndr->depth--;
769 ndr_print_uint32(ndr, "unknown1", r->unknown1);
770 ndr_print_ptr(ndr, "dns_name2", r->dns_name2);
771 ndr->depth++;
772 if (r->dns_name2) {
773 ndr_print_string(ndr, "dns_name2", r->dns_name2);
774 }
775 ndr->depth--;
776 ndr_print_hyper(ndr, "unknown2", r->unknown2);
777 ndr->depth--;
778}
779
780_PUBLIC_ size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo *r, struct smb_iconv_convenience *ic, int flags)
781{
782 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2OtherInfo, ic);
783}
784
785_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2 *r)
786{
787 {
788 uint32_t _flags_save_STRUCT = ndr->flags;
789 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
790 if (ndr_flags & NDR_SCALARS) {
791 NDR_CHECK(ndr_push_align(ndr, 8));
792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8));
793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
794 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success));
795 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt));
796 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
797 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info));
798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags)));
799 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
800 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
802 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
803 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
804 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
805 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid));
806 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
807 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
808 }
809 if (ndr_flags & NDR_BUFFERS) {
810 if (r->other_info) {
811 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
812 NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info));
813 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
814 }
815 }
816 ndr->flags = _flags_save_STRUCT;
817 }
818 return NDR_ERR_SUCCESS;
819}
820
821_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2 *r)
822{
823 uint32_t _ptr_other_info;
824 TALLOC_CTX *_mem_save_other_info_0;
825 {
826 uint32_t _flags_save_STRUCT = ndr->flags;
827 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
828 if (ndr_flags & NDR_SCALARS) {
829 NDR_CHECK(ndr_pull_align(ndr, 8));
830 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize));
831 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
832 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success));
833 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt));
834 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
836 if (_ptr_other_info) {
837 NDR_PULL_ALLOC(ndr, r->other_info);
838 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info));
839 } else {
840 r->other_info = NULL;
841 }
842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length));
843 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
844 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
846 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
847 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
848 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
849 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid));
850 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
851 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
852 }
853 if (ndr_flags & NDR_BUFFERS) {
854 if (r->other_info) {
855 uint32_t _relative_save_offset;
856 _relative_save_offset = ndr->offset;
857 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info));
858 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
859 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
860 NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info));
861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
862 ndr->offset = _relative_save_offset;
863 }
864 }
865 ndr->flags = _flags_save_STRUCT;
866 }
867 return NDR_ERR_SUCCESS;
868}
869
870_PUBLIC_ void ndr_print_repsFromTo2(struct ndr_print *ndr, const char *name, const struct repsFromTo2 *r)
871{
872 ndr_print_struct(ndr, name, "repsFromTo2");
873 {
874 uint32_t _flags_save_STRUCT = ndr->flags;
875 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
876 ndr->depth++;
877 ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize);
878 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
879 ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success);
880 ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt);
881 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
882 ndr_print_ptr(ndr, "other_info", r->other_info);
883 ndr->depth++;
884 if (r->other_info) {
885 ndr_print_repsFromTo2OtherInfo(ndr, "other_info", r->other_info);
886 }
887 ndr->depth--;
888 ndr_print_uint32(ndr, "other_info_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags):r->other_info_length);
889 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
890 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
891 ndr_print_uint32(ndr, "reserved", r->reserved);
892 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
893 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
894 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
895 ndr_print_GUID(ndr, "transport_guid", &r->transport_guid);
896 ndr_print_hyper(ndr, "unknown1", r->unknown1);
897 ndr->depth--;
898 ndr->flags = _flags_save_STRUCT;
899 }
900}
901
902_PUBLIC_ size_t ndr_size_repsFromTo2(const struct repsFromTo2 *r, struct smb_iconv_convenience *ic, int flags)
903{
904 flags |= LIBNDR_PRINT_ARRAY_HEX;
905 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2, ic);
906}
907
908static enum ndr_err_code ndr_push_repsFromTo(struct ndr_push *ndr, int ndr_flags, const union repsFromTo *r)
909{
910 if (ndr_flags & NDR_SCALARS) {
911 int level = ndr_push_get_switch_value(ndr, r);
912 NDR_CHECK(ndr_push_union_align(ndr, 8));
913 switch (level) {
914 case 1: {
915 NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1));
916 break; }
917
918 case 2: {
919 NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2));
920 break; }
921
922 default:
923 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
924 }
925 }
926 if (ndr_flags & NDR_BUFFERS) {
927 int level = ndr_push_get_switch_value(ndr, r);
928 switch (level) {
929 case 1:
930 NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1));
931 break;
932
933 case 2:
934 NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2));
935 break;
936
937 default:
938 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
939 }
940 }
941 return NDR_ERR_SUCCESS;
942}
943
944static enum ndr_err_code ndr_pull_repsFromTo(struct ndr_pull *ndr, int ndr_flags, union repsFromTo *r)
945{
946 int level;
947 level = ndr_pull_get_switch_value(ndr, r);
948 if (ndr_flags & NDR_SCALARS) {
949 NDR_CHECK(ndr_pull_union_align(ndr, 8));
950 switch (level) {
951 case 1: {
952 NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1));
953 break; }
954
955 case 2: {
956 NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2));
957 break; }
958
959 default:
960 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
961 }
962 }
963 if (ndr_flags & NDR_BUFFERS) {
964 switch (level) {
965 case 1:
966 NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1));
967 break;
968
969 case 2:
970 NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2));
971 break;
972
973 default:
974 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
975 }
976 }
977 return NDR_ERR_SUCCESS;
978}
979
980_PUBLIC_ void ndr_print_repsFromTo(struct ndr_print *ndr, const char *name, const union repsFromTo *r)
981{
982 int level;
983 level = ndr_print_get_switch_value(ndr, r);
984 ndr_print_union(ndr, name, level, "repsFromTo");
985 switch (level) {
986 case 1:
987 ndr_print_repsFromTo1(ndr, "ctr1", &r->ctr1);
988 break;
989
990 case 2:
991 ndr_print_repsFromTo2(ndr, "ctr2", &r->ctr2);
992 break;
993
994 default:
995 ndr_print_bad_level(ndr, name, level);
996 }
997}
998
999_PUBLIC_ enum ndr_err_code ndr_push_repsFromToBlob(struct ndr_push *ndr, int ndr_flags, const struct repsFromToBlob *r)
1000{
1001 if (ndr_flags & NDR_SCALARS) {
1002 NDR_CHECK(ndr_push_align(ndr, 8));
1003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
1005 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1006 NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_SCALARS, &r->ctr));
1007 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1008 }
1009 if (ndr_flags & NDR_BUFFERS) {
1010 NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_BUFFERS, &r->ctr));
1011 }
1012 return NDR_ERR_SUCCESS;
1013}
1014
1015_PUBLIC_ enum ndr_err_code ndr_pull_repsFromToBlob(struct ndr_pull *ndr, int ndr_flags, struct repsFromToBlob *r)
1016{
1017 if (ndr_flags & NDR_SCALARS) {
1018 NDR_CHECK(ndr_pull_align(ndr, 8));
1019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1020 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1021 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1022 NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_SCALARS, &r->ctr));
1023 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1024 }
1025 if (ndr_flags & NDR_BUFFERS) {
1026 NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_BUFFERS, &r->ctr));
1027 }
1028 return NDR_ERR_SUCCESS;
1029}
1030
1031_PUBLIC_ void ndr_print_repsFromToBlob(struct ndr_print *ndr, const char *name, const struct repsFromToBlob *r)
1032{
1033 ndr_print_struct(ndr, name, "repsFromToBlob");
1034 ndr->depth++;
1035 ndr_print_uint32(ndr, "version", r->version);
1036 ndr_print_uint32(ndr, "reserved", r->reserved);
1037 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1038 ndr_print_repsFromTo(ndr, "ctr", &r->ctr);
1039 ndr->depth--;
1040}
1041
1042static enum ndr_err_code ndr_push_partialAttributeSetCtr1(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetCtr1 *r)
1043{
1044 uint32_t cntr_array_0;
1045 if (ndr_flags & NDR_SCALARS) {
1046 NDR_CHECK(ndr_push_align(ndr, 4));
1047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1048 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
1049 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->array[cntr_array_0]));
1050 }
1051 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1052 }
1053 if (ndr_flags & NDR_BUFFERS) {
1054 }
1055 return NDR_ERR_SUCCESS;
1056}
1057
1058static enum ndr_err_code ndr_pull_partialAttributeSetCtr1(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetCtr1 *r)
1059{
1060 uint32_t cntr_array_0;
1061 TALLOC_CTX *_mem_save_array_0;
1062 if (ndr_flags & NDR_SCALARS) {
1063 NDR_CHECK(ndr_pull_align(ndr, 4));
1064 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1065 NDR_PULL_ALLOC_N(ndr, r->array, r->count);
1066 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
1067 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
1068 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
1069 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
1070 }
1071 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
1072 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1073 }
1074 if (ndr_flags & NDR_BUFFERS) {
1075 }
1076 return NDR_ERR_SUCCESS;
1077}
1078
1079_PUBLIC_ void ndr_print_partialAttributeSetCtr1(struct ndr_print *ndr, const char *name, const struct partialAttributeSetCtr1 *r)
1080{
1081 uint32_t cntr_array_0;
1082 ndr_print_struct(ndr, name, "partialAttributeSetCtr1");
1083 ndr->depth++;
1084 ndr_print_uint32(ndr, "count", r->count);
1085 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
1086 ndr->depth++;
1087 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
1088 char *idx_0=NULL;
1089 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
1090 ndr_print_drsuapi_DsAttributeId(ndr, "array", r->array[cntr_array_0]);
1091 free(idx_0);
1092 }
1093 }
1094 ndr->depth--;
1095 ndr->depth--;
1096}
1097
1098static enum ndr_err_code ndr_push_partialAttributeSetCtr(struct ndr_push *ndr, int ndr_flags, const union partialAttributeSetCtr *r)
1099{
1100 if (ndr_flags & NDR_SCALARS) {
1101 int level = ndr_push_get_switch_value(ndr, r);
1102 NDR_CHECK(ndr_push_union_align(ndr, 4));
1103 switch (level) {
1104 case 1: {
1105 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1));
1106 break; }
1107
1108 default:
1109 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1110 }
1111 }
1112 if (ndr_flags & NDR_BUFFERS) {
1113 int level = ndr_push_get_switch_value(ndr, r);
1114 switch (level) {
1115 case 1:
1116 break;
1117
1118 default:
1119 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1120 }
1121 }
1122 return NDR_ERR_SUCCESS;
1123}
1124
1125static enum ndr_err_code ndr_pull_partialAttributeSetCtr(struct ndr_pull *ndr, int ndr_flags, union partialAttributeSetCtr *r)
1126{
1127 int level;
1128 level = ndr_pull_get_switch_value(ndr, r);
1129 if (ndr_flags & NDR_SCALARS) {
1130 NDR_CHECK(ndr_pull_union_align(ndr, 4));
1131 switch (level) {
1132 case 1: {
1133 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1));
1134 break; }
1135
1136 default:
1137 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1138 }
1139 }
1140 if (ndr_flags & NDR_BUFFERS) {
1141 switch (level) {
1142 case 1:
1143 break;
1144
1145 default:
1146 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1147 }
1148 }
1149 return NDR_ERR_SUCCESS;
1150}
1151
1152_PUBLIC_ void ndr_print_partialAttributeSetCtr(struct ndr_print *ndr, const char *name, const union partialAttributeSetCtr *r)
1153{
1154 int level;
1155 level = ndr_print_get_switch_value(ndr, r);
1156 ndr_print_union(ndr, name, level, "partialAttributeSetCtr");
1157 switch (level) {
1158 case 1:
1159 ndr_print_partialAttributeSetCtr1(ndr, "ctr1", &r->ctr1);
1160 break;
1161
1162 default:
1163 ndr_print_bad_level(ndr, name, level);
1164 }
1165}
1166
1167_PUBLIC_ enum ndr_err_code ndr_push_partialAttributeSetBlob(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetBlob *r)
1168{
1169 if (ndr_flags & NDR_SCALARS) {
1170 NDR_CHECK(ndr_push_align(ndr, 4));
1171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
1173 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1174 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr));
1175 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1176 }
1177 if (ndr_flags & NDR_BUFFERS) {
1178 }
1179 return NDR_ERR_SUCCESS;
1180}
1181
1182_PUBLIC_ enum ndr_err_code ndr_pull_partialAttributeSetBlob(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetBlob *r)
1183{
1184 if (ndr_flags & NDR_SCALARS) {
1185 NDR_CHECK(ndr_pull_align(ndr, 4));
1186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1188 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1189 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr));
1190 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1191 }
1192 if (ndr_flags & NDR_BUFFERS) {
1193 }
1194 return NDR_ERR_SUCCESS;
1195}
1196
1197_PUBLIC_ void ndr_print_partialAttributeSetBlob(struct ndr_print *ndr, const char *name, const struct partialAttributeSetBlob *r)
1198{
1199 ndr_print_struct(ndr, name, "partialAttributeSetBlob");
1200 ndr->depth++;
1201 ndr_print_uint32(ndr, "version", r->version);
1202 ndr_print_uint32(ndr, "reserved", r->reserved);
1203 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1204 ndr_print_partialAttributeSetCtr(ndr, "ctr", &r->ctr);
1205 ndr->depth--;
1206}
1207
1208static enum ndr_err_code ndr_push_prefixMapVersion(struct ndr_push *ndr, int ndr_flags, enum prefixMapVersion r)
1209{
1210 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1211 return NDR_ERR_SUCCESS;
1212}
1213
1214static enum ndr_err_code ndr_pull_prefixMapVersion(struct ndr_pull *ndr, int ndr_flags, enum prefixMapVersion *r)
1215{
1216 uint32_t v;
1217 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1218 *r = v;
1219 return NDR_ERR_SUCCESS;
1220}
1221
1222_PUBLIC_ void ndr_print_prefixMapVersion(struct ndr_print *ndr, const char *name, enum prefixMapVersion r)
1223{
1224 const char *val = NULL;
1225
1226 switch (r) {
1227 case PREFIX_MAP_VERSION_DSDB: val = "PREFIX_MAP_VERSION_DSDB"; break;
1228 }
1229 ndr_print_enum(ndr, name, "ENUM", val, r);
1230}
1231
1232static enum ndr_err_code ndr_push_prefixMapCtr(struct ndr_push *ndr, int ndr_flags, const union prefixMapCtr *r)
1233{
1234 if (ndr_flags & NDR_SCALARS) {
1235 int level = ndr_push_get_switch_value(ndr, r);
1236 NDR_CHECK(ndr_push_union_align(ndr, 5));
1237 switch (level) {
1238 case PREFIX_MAP_VERSION_DSDB: {
1239 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb));
1240 break; }
1241
1242 default:
1243 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1244 }
1245 }
1246 if (ndr_flags & NDR_BUFFERS) {
1247 int level = ndr_push_get_switch_value(ndr, r);
1248 switch (level) {
1249 case PREFIX_MAP_VERSION_DSDB:
1250 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb));
1251 break;
1252
1253 default:
1254 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1255 }
1256 }
1257 return NDR_ERR_SUCCESS;
1258}
1259
1260static enum ndr_err_code ndr_pull_prefixMapCtr(struct ndr_pull *ndr, int ndr_flags, union prefixMapCtr *r)
1261{
1262 int level;
1263 level = ndr_pull_get_switch_value(ndr, r);
1264 if (ndr_flags & NDR_SCALARS) {
1265 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1266 switch (level) {
1267 case PREFIX_MAP_VERSION_DSDB: {
1268 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb));
1269 break; }
1270
1271 default:
1272 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1273 }
1274 }
1275 if (ndr_flags & NDR_BUFFERS) {
1276 switch (level) {
1277 case PREFIX_MAP_VERSION_DSDB:
1278 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb));
1279 break;
1280
1281 default:
1282 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1283 }
1284 }
1285 return NDR_ERR_SUCCESS;
1286}
1287
1288_PUBLIC_ void ndr_print_prefixMapCtr(struct ndr_print *ndr, const char *name, const union prefixMapCtr *r)
1289{
1290 int level;
1291 level = ndr_print_get_switch_value(ndr, r);
1292 ndr_print_union(ndr, name, level, "prefixMapCtr");
1293 switch (level) {
1294 case PREFIX_MAP_VERSION_DSDB:
1295 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "dsdb", &r->dsdb);
1296 break;
1297
1298 default:
1299 ndr_print_bad_level(ndr, name, level);
1300 }
1301}
1302
1303_PUBLIC_ enum ndr_err_code ndr_push_prefixMapBlob(struct ndr_push *ndr, int ndr_flags, const struct prefixMapBlob *r)
1304{
1305 if (ndr_flags & NDR_SCALARS) {
1306 NDR_CHECK(ndr_push_align(ndr, 5));
1307 NDR_CHECK(ndr_push_prefixMapVersion(ndr, NDR_SCALARS, r->version));
1308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
1309 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1310 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
1311 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1312 }
1313 if (ndr_flags & NDR_BUFFERS) {
1314 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr));
1315 }
1316 return NDR_ERR_SUCCESS;
1317}
1318
1319_PUBLIC_ enum ndr_err_code ndr_pull_prefixMapBlob(struct ndr_pull *ndr, int ndr_flags, struct prefixMapBlob *r)
1320{
1321 if (ndr_flags & NDR_SCALARS) {
1322 NDR_CHECK(ndr_pull_align(ndr, 5));
1323 NDR_CHECK(ndr_pull_prefixMapVersion(ndr, NDR_SCALARS, &r->version));
1324 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1325 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1326 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
1327 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1328 }
1329 if (ndr_flags & NDR_BUFFERS) {
1330 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr));
1331 }
1332 return NDR_ERR_SUCCESS;
1333}
1334
1335_PUBLIC_ void ndr_print_prefixMapBlob(struct ndr_print *ndr, const char *name, const struct prefixMapBlob *r)
1336{
1337 ndr_print_struct(ndr, name, "prefixMapBlob");
1338 ndr->depth++;
1339 ndr_print_prefixMapVersion(ndr, "version", r->version);
1340 ndr_print_uint32(ndr, "reserved", r->reserved);
1341 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1342 ndr_print_prefixMapCtr(ndr, "ctr", &r->ctr);
1343 ndr->depth--;
1344}
1345
1346static enum ndr_err_code ndr_push_ldapControlDirSyncExtra(struct ndr_push *ndr, int ndr_flags, const union ldapControlDirSyncExtra *r)
1347{
1348 if (ndr_flags & NDR_SCALARS) {
1349 int level = ndr_push_get_switch_value(ndr, r);
1350 NDR_CHECK(ndr_push_union_align(ndr, 8));
1351 switch (level) {
1352 case 0: {
1353 break; }
1354
1355 default: {
1356 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector));
1357 break; }
1358
1359 }
1360 }
1361 if (ndr_flags & NDR_BUFFERS) {
1362 int level = ndr_push_get_switch_value(ndr, r);
1363 switch (level) {
1364 case 0:
1365 break;
1366
1367 default:
1368 break;
1369
1370 }
1371 }
1372 return NDR_ERR_SUCCESS;
1373}
1374
1375static enum ndr_err_code ndr_pull_ldapControlDirSyncExtra(struct ndr_pull *ndr, int ndr_flags, union ldapControlDirSyncExtra *r)
1376{
1377 int level;
1378 level = ndr_pull_get_switch_value(ndr, r);
1379 if (ndr_flags & NDR_SCALARS) {
1380 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1381 switch (level) {
1382 case 0: {
1383 break; }
1384
1385 default: {
1386 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector));
1387 break; }
1388
1389 }
1390 }
1391 if (ndr_flags & NDR_BUFFERS) {
1392 switch (level) {
1393 case 0:
1394 break;
1395
1396 default:
1397 break;
1398
1399 }
1400 }
1401 return NDR_ERR_SUCCESS;
1402}
1403
1404_PUBLIC_ void ndr_print_ldapControlDirSyncExtra(struct ndr_print *ndr, const char *name, const union ldapControlDirSyncExtra *r)
1405{
1406 int level;
1407 level = ndr_print_get_switch_value(ndr, r);
1408 ndr_print_union(ndr, name, level, "ldapControlDirSyncExtra");
1409 switch (level) {
1410 case 0:
1411 break;
1412
1413 default:
1414 ndr_print_replUpToDateVectorBlob(ndr, "uptodateness_vector", &r->uptodateness_vector);
1415 break;
1416
1417 }
1418}
1419
1420static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
1421{
1422 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_ldapControlDirSyncExtra, ic);
1423}
1424
1425static enum ndr_err_code ndr_push_ldapControlDirSyncBlob(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncBlob *r)
1426{
1427 if (ndr_flags & NDR_SCALARS) {
1428 NDR_CHECK(ndr_push_align(ndr, 8));
1429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 3));
1430 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
1431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
1432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
1433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0)));
1434 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1435 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
1436 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->extra, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0)));
1437 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra));
1438 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1439 }
1440 if (ndr_flags & NDR_BUFFERS) {
1441 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra));
1442 }
1443 return NDR_ERR_SUCCESS;
1444}
1445
1446static enum ndr_err_code ndr_pull_ldapControlDirSyncBlob(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncBlob *r)
1447{
1448 if (ndr_flags & NDR_SCALARS) {
1449 NDR_CHECK(ndr_pull_align(ndr, 8));
1450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
1451 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
1452 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
1453 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
1454 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extra_length));
1455 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1456 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
1457 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->extra, r->extra_length));
1458 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra));
1459 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1460 }
1461 if (ndr_flags & NDR_BUFFERS) {
1462 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra));
1463 }
1464 return NDR_ERR_SUCCESS;
1465}
1466
1467_PUBLIC_ void ndr_print_ldapControlDirSyncBlob(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncBlob *r)
1468{
1469 ndr_print_struct(ndr, name, "ldapControlDirSyncBlob");
1470 ndr->depth++;
1471 ndr_print_uint32(ndr, "u1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->u1);
1472 ndr_print_NTTIME(ndr, "time", r->time);
1473 ndr_print_uint32(ndr, "u2", r->u2);
1474 ndr_print_uint32(ndr, "u3", r->u3);
1475 ndr_print_uint32(ndr, "extra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0):r->extra_length);
1476 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1477 ndr_print_GUID(ndr, "guid1", &r->guid1);
1478 ndr_print_set_switch_value(ndr, &r->extra, r->extra_length);
1479 ndr_print_ldapControlDirSyncExtra(ndr, "extra", &r->extra);
1480 ndr->depth--;
1481}
1482
1483_PUBLIC_ enum ndr_err_code ndr_push_ldapControlDirSyncCookie(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncCookie *r)
1484{
1485 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
1486 if (ndr_flags & NDR_SCALARS) {
1487 NDR_CHECK(ndr_push_align(ndr, 8));
1488 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1489 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "MSDS", 4, sizeof(uint8_t), CH_DOS));
1490 {
1491 struct ndr_push *_ndr_blob;
1492 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_blob, 0, -1));
1493 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob));
1494 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_blob, 0, -1));
1495 }
1496 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1497 }
1498 if (ndr_flags & NDR_BUFFERS) {
1499 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
1500 }
1501 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
1502 return NDR_ERR_SUCCESS;
1503}
1504
1505_PUBLIC_ enum ndr_err_code ndr_pull_ldapControlDirSyncCookie(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncCookie *r)
1506{
1507 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
1508 if (ndr_flags & NDR_SCALARS) {
1509 NDR_CHECK(ndr_pull_align(ndr, 8));
1510 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
1511 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->msds, 4, sizeof(uint8_t), CH_DOS));
1512 {
1513 struct ndr_pull *_ndr_blob;
1514 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_blob, 0, -1));
1515 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob));
1516 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_blob, 0, -1));
1517 }
1518 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1519 }
1520 if (ndr_flags & NDR_BUFFERS) {
1521 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
1522 }
1523 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
1524 return NDR_ERR_SUCCESS;
1525}
1526
1527_PUBLIC_ void ndr_print_ldapControlDirSyncCookie(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncCookie *r)
1528{
1529 ndr_print_struct(ndr, name, "ldapControlDirSyncCookie");
1530 ndr->depth++;
1531 ndr_print_string(ndr, "msds", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"MSDS":r->msds);
1532 ndr_print_ldapControlDirSyncBlob(ndr, "blob", &r->blob);
1533 ndr->depth--;
1534}
1535
1536static enum ndr_err_code ndr_push_supplementalCredentialsPackage(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsPackage *r)
1537{
1538 if (ndr_flags & NDR_SCALARS) {
1539 NDR_CHECK(ndr_push_align(ndr, 2));
1540 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->name)));
1541 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->data)));
1542 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved));
1543 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 2 * strlen_m(r->name), sizeof(uint8_t), CH_UTF16));
1544 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data, strlen(r->data), sizeof(uint8_t), CH_DOS));
1545 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
1546 }
1547 if (ndr_flags & NDR_BUFFERS) {
1548 }
1549 return NDR_ERR_SUCCESS;
1550}
1551
1552static enum ndr_err_code ndr_pull_supplementalCredentialsPackage(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsPackage *r)
1553{
1554 if (ndr_flags & NDR_SCALARS) {
1555 NDR_CHECK(ndr_pull_align(ndr, 2));
1556 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len));
1557 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_len));
1558 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved));
1559 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, r->name_len, sizeof(uint8_t), CH_UTF16));
1560 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data, r->data_len, sizeof(uint8_t), CH_DOS));
1561 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
1562 }
1563 if (ndr_flags & NDR_BUFFERS) {
1564 }
1565 return NDR_ERR_SUCCESS;
1566}
1567
1568_PUBLIC_ void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsPackage *r)
1569{
1570 ndr_print_struct(ndr, name, "supplementalCredentialsPackage");
1571 ndr->depth++;
1572 ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->name):r->name_len);
1573 ndr_print_uint16(ndr, "data_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->data):r->data_len);
1574 ndr_print_uint16(ndr, "reserved", r->reserved);
1575 ndr_print_string(ndr, "name", r->name);
1576 ndr_print_string(ndr, "data", r->data);
1577 ndr->depth--;
1578}
1579
1580static enum ndr_err_code ndr_push_supplementalCredentialsSignature(struct ndr_push *ndr, int ndr_flags, enum supplementalCredentialsSignature r)
1581{
1582 {
1583 uint32_t _flags_save_ENUM = ndr->flags;
1584 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1585 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1586 ndr->flags = _flags_save_ENUM;
1587 }
1588 return NDR_ERR_SUCCESS;
1589}
1590
1591static enum ndr_err_code ndr_pull_supplementalCredentialsSignature(struct ndr_pull *ndr, int ndr_flags, enum supplementalCredentialsSignature *r)
1592{
1593 uint16_t v;
1594 {
1595 uint32_t _flags_save_ENUM = ndr->flags;
1596 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1597 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1598 *r = v;
1599 ndr->flags = _flags_save_ENUM;
1600 }
1601 return NDR_ERR_SUCCESS;
1602}
1603
1604_PUBLIC_ void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r)
1605{
1606 const char *val = NULL;
1607
1608 {
1609 uint32_t _flags_save_ENUM = ndr->flags;
1610 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1611 switch (r) {
1612 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE: val = "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1613 }
1614 ndr_print_enum(ndr, name, "ENUM", val, r);
1615 ndr->flags = _flags_save_ENUM;
1616 }
1617}
1618
1619static enum ndr_err_code ndr_push_supplementalCredentialsSubBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsSubBlob *r)
1620{
1621 uint32_t cntr_packages_0;
1622 if (ndr_flags & NDR_SCALARS) {
1623 NDR_CHECK(ndr_push_align(ndr, 3));
1624 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_PREFIX, 0x30, sizeof(uint16_t), CH_UTF16));
1625 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_SIGNATURE));
1626 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_packages));
1627 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) {
1628 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0]));
1629 }
1630 NDR_CHECK(ndr_push_trailer_align(ndr, 3));
1631 }
1632 if (ndr_flags & NDR_BUFFERS) {
1633 }
1634 return NDR_ERR_SUCCESS;
1635}
1636
1637static enum ndr_err_code ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsSubBlob *r)
1638{
1639 uint32_t cntr_packages_0;
1640 TALLOC_CTX *_mem_save_packages_0;
1641 if (ndr_flags & NDR_SCALARS) {
1642 NDR_CHECK(ndr_pull_align(ndr, 3));
1643 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->prefix, 0x30, sizeof(uint16_t), CH_UTF16));
1644 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr, NDR_SCALARS, &r->signature));
1645 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_packages));
1646 NDR_PULL_ALLOC_N(ndr, r->packages, r->num_packages);
1647 _mem_save_packages_0 = NDR_PULL_GET_MEM_CTX(ndr);
1648 NDR_PULL_SET_MEM_CTX(ndr, r->packages, 0);
1649 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) {
1650 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0]));
1651 }
1652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_packages_0, 0);
1653 NDR_CHECK(ndr_pull_trailer_align(ndr, 3));
1654 }
1655 if (ndr_flags & NDR_BUFFERS) {
1656 }
1657 return NDR_ERR_SUCCESS;
1658}
1659
1660_PUBLIC_ void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsSubBlob *r)
1661{
1662 uint32_t cntr_packages_0;
1663 ndr_print_struct(ndr, name, "supplementalCredentialsSubBlob");
1664 ndr->depth++;
1665 ndr_print_string(ndr, "prefix", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_PREFIX:r->prefix);
1666 ndr_print_supplementalCredentialsSignature(ndr, "signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE:r->signature);
1667 ndr_print_uint16(ndr, "num_packages", r->num_packages);
1668 ndr->print(ndr, "%s: ARRAY(%d)", "packages", (int)r->num_packages);
1669 ndr->depth++;
1670 for (cntr_packages_0=0;cntr_packages_0<r->num_packages;cntr_packages_0++) {
1671 char *idx_0=NULL;
1672 if (asprintf(&idx_0, "[%d]", cntr_packages_0) != -1) {
1673 ndr_print_supplementalCredentialsPackage(ndr, "packages", &r->packages[cntr_packages_0]);
1674 free(idx_0);
1675 }
1676 }
1677 ndr->depth--;
1678 ndr->depth--;
1679}
1680
1681static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob *r, struct smb_iconv_convenience *ic, int flags)
1682{
1683 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_supplementalCredentialsSubBlob, ic);
1684}
1685
1686_PUBLIC_ enum ndr_err_code ndr_push_supplementalCredentialsBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsBlob *r)
1687{
1688 if (ndr_flags & NDR_SCALARS) {
1689 NDR_CHECK(ndr_push_align(ndr, 4));
1690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1693 {
1694 struct ndr_push *_ndr_sub;
1695 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1696 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub));
1697 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1698 }
1699 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0));
1700 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1701 }
1702 if (ndr_flags & NDR_BUFFERS) {
1703 }
1704 return NDR_ERR_SUCCESS;
1705}
1706
1707_PUBLIC_ enum ndr_err_code ndr_pull_supplementalCredentialsBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsBlob *r)
1708{
1709 if (ndr_flags & NDR_SCALARS) {
1710 NDR_CHECK(ndr_pull_align(ndr, 4));
1711 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
1712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
1714 {
1715 struct ndr_pull *_ndr_sub;
1716 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sub, 0, r->__ndr_size));
1717 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub));
1718 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sub, 0, r->__ndr_size));
1719 }
1720 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown3));
1721 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1722 }
1723 if (ndr_flags & NDR_BUFFERS) {
1724 }
1725 return NDR_ERR_SUCCESS;
1726}
1727
1728_PUBLIC_ void ndr_print_supplementalCredentialsBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsBlob *r)
1729{
1730 ndr_print_struct(ndr, name, "supplementalCredentialsBlob");
1731 ndr->depth++;
1732 ndr_print_uint32(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown1);
1733 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
1734 ndr_print_uint32(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown2);
1735 ndr_print_supplementalCredentialsSubBlob(ndr, "sub", &r->sub);
1736 ndr_print_uint8(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3);
1737 ndr->depth--;
1738}
1739
1740_PUBLIC_ enum ndr_err_code ndr_push_package_PackagesBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PackagesBlob *r)
1741{
1742 if (ndr_flags & NDR_SCALARS) {
1743 NDR_CHECK(ndr_push_align(ndr, 4));
1744 {
1745 uint32_t _flags_save_string_array = ndr->flags;
1746 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1747 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->names));
1748 ndr->flags = _flags_save_string_array;
1749 }
1750 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1751 }
1752 if (ndr_flags & NDR_BUFFERS) {
1753 }
1754 return NDR_ERR_SUCCESS;
1755}
1756
1757_PUBLIC_ enum ndr_err_code ndr_pull_package_PackagesBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PackagesBlob *r)
1758{
1759 if (ndr_flags & NDR_SCALARS) {
1760 NDR_CHECK(ndr_pull_align(ndr, 4));
1761 {
1762 uint32_t _flags_save_string_array = ndr->flags;
1763 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1764 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->names));
1765 ndr->flags = _flags_save_string_array;
1766 }
1767 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1768 }
1769 if (ndr_flags & NDR_BUFFERS) {
1770 }
1771 return NDR_ERR_SUCCESS;
1772}
1773
1774_PUBLIC_ void ndr_print_package_PackagesBlob(struct ndr_print *ndr, const char *name, const struct package_PackagesBlob *r)
1775{
1776 ndr_print_struct(ndr, name, "package_PackagesBlob");
1777 ndr->depth++;
1778 ndr_print_string_array(ndr, "names", r->names);
1779 ndr->depth--;
1780}
1781
1782static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosString *r)
1783{
1784 if (ndr_flags & NDR_SCALARS) {
1785 NDR_CHECK(ndr_push_align(ndr, 5));
1786 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
1787 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
1788 {
1789 uint32_t _flags_save_string = ndr->flags;
1790 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1791 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->string));
1792 ndr->flags = _flags_save_string;
1793 }
1794 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1795 }
1796 if (ndr_flags & NDR_BUFFERS) {
1797 {
1798 uint32_t _flags_save_string = ndr->flags;
1799 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1800 if (r->string) {
1801 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string));
1802 {
1803 struct ndr_push *_ndr_string;
1804 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string)));
1805 NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string));
1806 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string)));
1807 }
1808 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string));
1809 }
1810 ndr->flags = _flags_save_string;
1811 }
1812 }
1813 return NDR_ERR_SUCCESS;
1814}
1815
1816static enum ndr_err_code ndr_pull_package_PrimaryKerberosString(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosString *r)
1817{
1818 uint32_t _ptr_string;
1819 TALLOC_CTX *_mem_save_string_0;
1820 if (ndr_flags & NDR_SCALARS) {
1821 NDR_CHECK(ndr_pull_align(ndr, 5));
1822 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1823 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1824 {
1825 uint32_t _flags_save_string = ndr->flags;
1826 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
1828 if (_ptr_string) {
1829 NDR_PULL_ALLOC(ndr, r->string);
1830 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->string, _ptr_string));
1831 } else {
1832 r->string = NULL;
1833 }
1834 ndr->flags = _flags_save_string;
1835 }
1836 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1837 }
1838 if (ndr_flags & NDR_BUFFERS) {
1839 {
1840 uint32_t _flags_save_string = ndr->flags;
1841 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1842 if (r->string) {
1843 uint32_t _relative_save_offset;
1844 _relative_save_offset = ndr->offset;
1845 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->string));
1846 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
1847 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
1848 {
1849 struct ndr_pull *_ndr_string;
1850 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_string, 0, r->size));
1851 NDR_CHECK(ndr_pull_string(_ndr_string, NDR_SCALARS, &r->string));
1852 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_string, 0, r->size));
1853 }
1854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
1855 ndr->offset = _relative_save_offset;
1856 }
1857 ndr->flags = _flags_save_string;
1858 }
1859 }
1860 return NDR_ERR_SUCCESS;
1861}
1862
1863_PUBLIC_ void ndr_print_package_PrimaryKerberosString(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosString *r)
1864{
1865 ndr_print_struct(ndr, name, "package_PrimaryKerberosString");
1866 ndr->depth++;
1867 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length);
1868 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size);
1869 ndr_print_ptr(ndr, "string", r->string);
1870 ndr->depth++;
1871 if (r->string) {
1872 ndr_print_string(ndr, "string", r->string);
1873 }
1874 ndr->depth--;
1875 ndr->depth--;
1876}
1877
1878static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey3 *r)
1879{
1880 if (ndr_flags & NDR_SCALARS) {
1881 NDR_CHECK(ndr_push_align(ndr, 5));
1882 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
1883 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
1884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
1886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
1887 {
1888 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1889 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1890 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value));
1891 ndr->flags = _flags_save_DATA_BLOB;
1892 }
1893 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1894 }
1895 if (ndr_flags & NDR_BUFFERS) {
1896 {
1897 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1898 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1899 if (r->value) {
1900 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
1901 {
1902 struct ndr_push *_ndr_value;
1903 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
1904 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
1905 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
1906 }
1907 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
1908 }
1909 ndr->flags = _flags_save_DATA_BLOB;
1910 }
1911 }
1912 return NDR_ERR_SUCCESS;
1913}
1914
1915static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey3 *r)
1916{
1917 uint32_t _ptr_value;
1918 TALLOC_CTX *_mem_save_value_0;
1919 if (ndr_flags & NDR_SCALARS) {
1920 NDR_CHECK(ndr_pull_align(ndr, 5));
1921 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
1922 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
1923 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
1924 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
1925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
1926 {
1927 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1928 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
1930 if (_ptr_value) {
1931 NDR_PULL_ALLOC(ndr, r->value);
1932 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value));
1933 } else {
1934 r->value = NULL;
1935 }
1936 ndr->flags = _flags_save_DATA_BLOB;
1937 }
1938 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1939 }
1940 if (ndr_flags & NDR_BUFFERS) {
1941 {
1942 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1943 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1944 if (r->value) {
1945 uint32_t _relative_save_offset;
1946 _relative_save_offset = ndr->offset;
1947 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value));
1948 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
1949 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0);
1950 {
1951 struct ndr_pull *_ndr_value;
1952 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len));
1953 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value));
1954 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
1955 }
1956 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
1957 ndr->offset = _relative_save_offset;
1958 }
1959 ndr->flags = _flags_save_DATA_BLOB;
1960 }
1961 }
1962 return NDR_ERR_SUCCESS;
1963}
1964
1965_PUBLIC_ void ndr_print_package_PrimaryKerberosKey3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey3 *r)
1966{
1967 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey3");
1968 ndr->depth++;
1969 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1970 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1971 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
1972 ndr_print_uint32(ndr, "keytype", r->keytype);
1973 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
1974 ndr_print_ptr(ndr, "value", r->value);
1975 ndr->depth++;
1976 if (r->value) {
1977 ndr_print_DATA_BLOB(ndr, "value", *r->value);
1978 }
1979 ndr->depth--;
1980 ndr->depth--;
1981}
1982
1983static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr3 *r)
1984{
1985 uint32_t cntr_keys_0;
1986 uint32_t cntr_old_keys_0;
1987 if (ndr_flags & NDR_SCALARS) {
1988 NDR_CHECK(ndr_push_align(ndr, 5));
1989 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
1990 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
1991 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
1992 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
1993 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
1994 }
1995 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
1996 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
1997 }
1998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2003 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2004 }
2005 if (ndr_flags & NDR_BUFFERS) {
2006 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2007 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2008 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2009 }
2010 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2011 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2012 }
2013 }
2014 return NDR_ERR_SUCCESS;
2015}
2016
2017static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr3 *r)
2018{
2019 uint32_t cntr_keys_0;
2020 TALLOC_CTX *_mem_save_keys_0;
2021 uint32_t cntr_old_keys_0;
2022 TALLOC_CTX *_mem_save_old_keys_0;
2023 if (ndr_flags & NDR_SCALARS) {
2024 NDR_CHECK(ndr_pull_align(ndr, 5));
2025 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
2026 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
2027 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2028 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys);
2029 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2030 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2031 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2032 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2033 }
2034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2035 NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys);
2036 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2037 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2038 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2039 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2040 }
2041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding1));
2043 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding2));
2044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding3));
2045 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding4));
2046 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding5));
2047 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2048 }
2049 if (ndr_flags & NDR_BUFFERS) {
2050 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2051 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2052 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2053 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2054 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2055 }
2056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2057 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2058 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2059 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2060 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2061 }
2062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2063 }
2064 return NDR_ERR_SUCCESS;
2065}
2066
2067_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr3 *r)
2068{
2069 uint32_t cntr_keys_0;
2070 uint32_t cntr_old_keys_0;
2071 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr3");
2072 ndr->depth++;
2073 ndr_print_uint16(ndr, "num_keys", r->num_keys);
2074 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys);
2075 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt);
2076 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys);
2077 ndr->depth++;
2078 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
2079 char *idx_0=NULL;
2080 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
2081 ndr_print_package_PrimaryKerberosKey3(ndr, "keys", &r->keys[cntr_keys_0]);
2082 free(idx_0);
2083 }
2084 }
2085 ndr->depth--;
2086 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys);
2087 ndr->depth++;
2088 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
2089 char *idx_0=NULL;
2090 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
2091 ndr_print_package_PrimaryKerberosKey3(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
2092 free(idx_0);
2093 }
2094 }
2095 ndr->depth--;
2096 ndr_print_uint32(ndr, "padding1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding1);
2097 ndr_print_uint32(ndr, "padding2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding2);
2098 ndr_print_uint32(ndr, "padding3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding3);
2099 ndr_print_uint32(ndr, "padding4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding4);
2100 ndr_print_uint32(ndr, "padding5", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding5);
2101 ndr->depth--;
2102}
2103
2104static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey4 *r)
2105{
2106 if (ndr_flags & NDR_SCALARS) {
2107 NDR_CHECK(ndr_push_align(ndr, 5));
2108 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2109 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iteration_count));
2112 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
2113 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
2114 {
2115 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2116 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2117 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value));
2118 ndr->flags = _flags_save_DATA_BLOB;
2119 }
2120 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2121 }
2122 if (ndr_flags & NDR_BUFFERS) {
2123 {
2124 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2125 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2126 if (r->value) {
2127 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
2128 {
2129 struct ndr_push *_ndr_value;
2130 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
2131 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
2132 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
2133 }
2134 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
2135 }
2136 ndr->flags = _flags_save_DATA_BLOB;
2137 }
2138 }
2139 return NDR_ERR_SUCCESS;
2140}
2141
2142static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey4 *r)
2143{
2144 uint32_t _ptr_value;
2145 TALLOC_CTX *_mem_save_value_0;
2146 if (ndr_flags & NDR_SCALARS) {
2147 NDR_CHECK(ndr_pull_align(ndr, 5));
2148 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
2149 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
2150 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
2151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iteration_count));
2152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
2153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
2154 {
2155 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2156 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2157 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
2158 if (_ptr_value) {
2159 NDR_PULL_ALLOC(ndr, r->value);
2160 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value));
2161 } else {
2162 r->value = NULL;
2163 }
2164 ndr->flags = _flags_save_DATA_BLOB;
2165 }
2166 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2167 }
2168 if (ndr_flags & NDR_BUFFERS) {
2169 {
2170 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2171 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2172 if (r->value) {
2173 uint32_t _relative_save_offset;
2174 _relative_save_offset = ndr->offset;
2175 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value));
2176 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
2177 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0);
2178 {
2179 struct ndr_pull *_ndr_value;
2180 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len));
2181 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value));
2182 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
2183 }
2184 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
2185 ndr->offset = _relative_save_offset;
2186 }
2187 ndr->flags = _flags_save_DATA_BLOB;
2188 }
2189 }
2190 return NDR_ERR_SUCCESS;
2191}
2192
2193_PUBLIC_ void ndr_print_package_PrimaryKerberosKey4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey4 *r)
2194{
2195 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey4");
2196 ndr->depth++;
2197 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2198 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2199 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
2200 ndr_print_uint32(ndr, "iteration_count", r->iteration_count);
2201 ndr_print_uint32(ndr, "keytype", r->keytype);
2202 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
2203 ndr_print_ptr(ndr, "value", r->value);
2204 ndr->depth++;
2205 if (r->value) {
2206 ndr_print_DATA_BLOB(ndr, "value", *r->value);
2207 }
2208 ndr->depth--;
2209 ndr->depth--;
2210}
2211
2212static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr4 *r)
2213{
2214 uint32_t cntr_keys_0;
2215 uint32_t cntr_old_keys_0;
2216 uint32_t cntr_older_keys_0;
2217 if (ndr_flags & NDR_SCALARS) {
2218 NDR_CHECK(ndr_push_align(ndr, 5));
2219 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
2220 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2221 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
2222 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_older_keys));
2223 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->default_iteration_count));
2225 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2226 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2227 }
2228 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2229 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2230 }
2231 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2232 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
2233 }
2234 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2235 }
2236 if (ndr_flags & NDR_BUFFERS) {
2237 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2238 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2239 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2240 }
2241 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2242 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2243 }
2244 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2245 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
2246 }
2247 }
2248 return NDR_ERR_SUCCESS;
2249}
2250
2251static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr4 *r)
2252{
2253 uint32_t cntr_keys_0;
2254 TALLOC_CTX *_mem_save_keys_0;
2255 uint32_t cntr_service_keys_0;
2256 TALLOC_CTX *_mem_save_service_keys_0;
2257 uint32_t cntr_old_keys_0;
2258 TALLOC_CTX *_mem_save_old_keys_0;
2259 uint32_t cntr_older_keys_0;
2260 TALLOC_CTX *_mem_save_older_keys_0;
2261 if (ndr_flags & NDR_SCALARS) {
2262 NDR_CHECK(ndr_pull_align(ndr, 5));
2263 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
2264 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_service_keys));
2265 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
2266 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_older_keys));
2267 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2268 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->default_iteration_count));
2269 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys);
2270 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2271 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2272 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2273 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2274 }
2275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2276 NDR_PULL_ALLOC_N(ndr, r->service_keys, r->num_service_keys);
2277 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2278 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
2279 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) {
2280 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->service_keys[cntr_service_keys_0]));
2281 }
2282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
2283 NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys);
2284 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2285 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2286 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2287 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2288 }
2289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2290 NDR_PULL_ALLOC_N(ndr, r->older_keys, r->num_older_keys);
2291 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2292 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0);
2293 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2294 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
2295 }
2296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0);
2297 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2298 }
2299 if (ndr_flags & NDR_BUFFERS) {
2300 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2301 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2302 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2303 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2304 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2305 }
2306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2307 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2308 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
2309 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) {
2310 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->service_keys[cntr_service_keys_0]));
2311 }
2312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
2313 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2314 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2315 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2316 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2317 }
2318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2319 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2320 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0);
2321 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2322 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
2323 }
2324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0);
2325 }
2326 return NDR_ERR_SUCCESS;
2327}
2328
2329_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr4 *r)
2330{
2331 uint32_t cntr_keys_0;
2332 uint32_t cntr_service_keys_0;
2333 uint32_t cntr_old_keys_0;
2334 uint32_t cntr_older_keys_0;
2335 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr4");
2336 ndr->depth++;
2337 ndr_print_uint16(ndr, "num_keys", r->num_keys);
2338 ndr_print_uint16(ndr, "num_service_keys", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->num_service_keys);
2339 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys);
2340 ndr_print_uint16(ndr, "num_older_keys", r->num_older_keys);
2341 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt);
2342 ndr_print_uint32(ndr, "default_iteration_count", r->default_iteration_count);
2343 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys);
2344 ndr->depth++;
2345 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
2346 char *idx_0=NULL;
2347 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
2348 ndr_print_package_PrimaryKerberosKey4(ndr, "keys", &r->keys[cntr_keys_0]);
2349 free(idx_0);
2350 }
2351 }
2352 ndr->depth--;
2353 ndr->print(ndr, "%s: ARRAY(%d)", "service_keys", (int)r->num_service_keys);
2354 ndr->depth++;
2355 for (cntr_service_keys_0=0;cntr_service_keys_0<r->num_service_keys;cntr_service_keys_0++) {
2356 char *idx_0=NULL;
2357 if (asprintf(&idx_0, "[%d]", cntr_service_keys_0) != -1) {
2358 ndr_print_package_PrimaryKerberosKey4(ndr, "service_keys", &r->service_keys[cntr_service_keys_0]);
2359 free(idx_0);
2360 }
2361 }
2362 ndr->depth--;
2363 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys);
2364 ndr->depth++;
2365 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
2366 char *idx_0=NULL;
2367 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
2368 ndr_print_package_PrimaryKerberosKey4(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
2369 free(idx_0);
2370 }
2371 }
2372 ndr->depth--;
2373 ndr->print(ndr, "%s: ARRAY(%d)", "older_keys", (int)r->num_older_keys);
2374 ndr->depth++;
2375 for (cntr_older_keys_0=0;cntr_older_keys_0<r->num_older_keys;cntr_older_keys_0++) {
2376 char *idx_0=NULL;
2377 if (asprintf(&idx_0, "[%d]", cntr_older_keys_0) != -1) {
2378 ndr_print_package_PrimaryKerberosKey4(ndr, "older_keys", &r->older_keys[cntr_older_keys_0]);
2379 free(idx_0);
2380 }
2381 }
2382 ndr->depth--;
2383 ndr->depth--;
2384}
2385
2386static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr(struct ndr_push *ndr, int ndr_flags, const union package_PrimaryKerberosCtr *r)
2387{
2388 if (ndr_flags & NDR_SCALARS) {
2389 int level = ndr_push_get_switch_value(ndr, r);
2390 NDR_CHECK(ndr_push_union_align(ndr, 5));
2391 switch (level) {
2392 case 3: {
2393 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
2394 break; }
2395
2396 case 4: {
2397 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4));
2398 break; }
2399
2400 default:
2401 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2402 }
2403 }
2404 if (ndr_flags & NDR_BUFFERS) {
2405 int level = ndr_push_get_switch_value(ndr, r);
2406 switch (level) {
2407 case 3:
2408 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
2409 break;
2410
2411 case 4:
2412 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4));
2413 break;
2414
2415 default:
2416 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2417 }
2418 }
2419 return NDR_ERR_SUCCESS;
2420}
2421
2422static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull *ndr, int ndr_flags, union package_PrimaryKerberosCtr *r)
2423{
2424 int level;
2425 level = ndr_pull_get_switch_value(ndr, r);
2426 if (ndr_flags & NDR_SCALARS) {
2427 NDR_CHECK(ndr_pull_union_align(ndr, 5));
2428 switch (level) {
2429 case 3: {
2430 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
2431 break; }
2432
2433 case 4: {
2434 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4));
2435 break; }
2436
2437 default:
2438 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2439 }
2440 }
2441 if (ndr_flags & NDR_BUFFERS) {
2442 switch (level) {
2443 case 3:
2444 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
2445 break;
2446
2447 case 4:
2448 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4));
2449 break;
2450
2451 default:
2452 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2453 }
2454 }
2455 return NDR_ERR_SUCCESS;
2456}
2457
2458_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr(struct ndr_print *ndr, const char *name, const union package_PrimaryKerberosCtr *r)
2459{
2460 int level;
2461 level = ndr_print_get_switch_value(ndr, r);
2462 ndr_print_union(ndr, name, level, "package_PrimaryKerberosCtr");
2463 switch (level) {
2464 case 3:
2465 ndr_print_package_PrimaryKerberosCtr3(ndr, "ctr3", &r->ctr3);
2466 break;
2467
2468 case 4:
2469 ndr_print_package_PrimaryKerberosCtr4(ndr, "ctr4", &r->ctr4);
2470 break;
2471
2472 default:
2473 ndr_print_bad_level(ndr, name, level);
2474 }
2475}
2476
2477_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryKerberosBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosBlob *r)
2478{
2479 if (ndr_flags & NDR_SCALARS) {
2480 NDR_CHECK(ndr_push_align(ndr, 5));
2481 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version));
2482 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2483 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
2484 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
2485 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2486 }
2487 if (ndr_flags & NDR_BUFFERS) {
2488 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
2489 }
2490 return NDR_ERR_SUCCESS;
2491}
2492
2493_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosBlob *r)
2494{
2495 if (ndr_flags & NDR_SCALARS) {
2496 NDR_CHECK(ndr_pull_align(ndr, 5));
2497 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version));
2498 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
2499 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
2500 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
2501 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2502 }
2503 if (ndr_flags & NDR_BUFFERS) {
2504 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
2505 }
2506 return NDR_ERR_SUCCESS;
2507}
2508
2509_PUBLIC_ void ndr_print_package_PrimaryKerberosBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosBlob *r)
2510{
2511 ndr_print_struct(ndr, name, "package_PrimaryKerberosBlob");
2512 ndr->depth++;
2513 ndr_print_uint16(ndr, "version", r->version);
2514 ndr_print_uint16(ndr, "flags", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags);
2515 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
2516 ndr_print_package_PrimaryKerberosCtr(ndr, "ctr", &r->ctr);
2517 ndr->depth--;
2518}
2519
2520_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryCLEARTEXTBlob *r)
2521{
2522 if (ndr_flags & NDR_SCALARS) {
2523 NDR_CHECK(ndr_push_align(ndr, 4));
2524 {
2525 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2526 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2527 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->cleartext));
2528 ndr->flags = _flags_save_DATA_BLOB;
2529 }
2530 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2531 }
2532 if (ndr_flags & NDR_BUFFERS) {
2533 }
2534 return NDR_ERR_SUCCESS;
2535}
2536
2537_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryCLEARTEXTBlob *r)
2538{
2539 if (ndr_flags & NDR_SCALARS) {
2540 NDR_CHECK(ndr_pull_align(ndr, 4));
2541 {
2542 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2543 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2544 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->cleartext));
2545 ndr->flags = _flags_save_DATA_BLOB;
2546 }
2547 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2548 }
2549 if (ndr_flags & NDR_BUFFERS) {
2550 }
2551 return NDR_ERR_SUCCESS;
2552}
2553
2554_PUBLIC_ void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryCLEARTEXTBlob *r)
2555{
2556 ndr_print_struct(ndr, name, "package_PrimaryCLEARTEXTBlob");
2557 ndr->depth++;
2558 ndr_print_DATA_BLOB(ndr, "cleartext", r->cleartext);
2559 ndr->depth--;
2560}
2561
2562static enum ndr_err_code ndr_push_package_PrimaryWDigestHash(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestHash *r)
2563{
2564 {
2565 uint32_t _flags_save_STRUCT = ndr->flags;
2566 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2567 if (ndr_flags & NDR_SCALARS) {
2568 NDR_CHECK(ndr_push_align(ndr, 1));
2569 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2570 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2571 }
2572 if (ndr_flags & NDR_BUFFERS) {
2573 }
2574 ndr->flags = _flags_save_STRUCT;
2575 }
2576 return NDR_ERR_SUCCESS;
2577}
2578
2579static enum ndr_err_code ndr_pull_package_PrimaryWDigestHash(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestHash *r)
2580{
2581 {
2582 uint32_t _flags_save_STRUCT = ndr->flags;
2583 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2584 if (ndr_flags & NDR_SCALARS) {
2585 NDR_CHECK(ndr_pull_align(ndr, 1));
2586 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2587 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2588 }
2589 if (ndr_flags & NDR_BUFFERS) {
2590 }
2591 ndr->flags = _flags_save_STRUCT;
2592 }
2593 return NDR_ERR_SUCCESS;
2594}
2595
2596_PUBLIC_ void ndr_print_package_PrimaryWDigestHash(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestHash *r)
2597{
2598 ndr_print_struct(ndr, name, "package_PrimaryWDigestHash");
2599 {
2600 uint32_t _flags_save_STRUCT = ndr->flags;
2601 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2602 ndr->depth++;
2603 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2604 ndr->depth--;
2605 ndr->flags = _flags_save_STRUCT;
2606 }
2607}
2608
2609_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryWDigestBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestBlob *r)
2610{
2611 uint32_t cntr_hashes_0;
2612 if (ndr_flags & NDR_SCALARS) {
2613 NDR_CHECK(ndr_push_align(ndr, 4));
2614 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0x31));
2615 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0x01));
2616 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_hashes));
2617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2618 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, 0));
2619 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) {
2620 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0]));
2621 }
2622 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2623 }
2624 if (ndr_flags & NDR_BUFFERS) {
2625 }
2626 return NDR_ERR_SUCCESS;
2627}
2628
2629_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestBlob *r)
2630{
2631 uint32_t cntr_hashes_0;
2632 TALLOC_CTX *_mem_save_hashes_0;
2633 if (ndr_flags & NDR_SCALARS) {
2634 NDR_CHECK(ndr_pull_align(ndr, 4));
2635 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown1));
2636 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown2));
2637 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_hashes));
2638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2639 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->uuknown4));
2640 NDR_PULL_ALLOC_N(ndr, r->hashes, r->num_hashes);
2641 _mem_save_hashes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2642 NDR_PULL_SET_MEM_CTX(ndr, r->hashes, 0);
2643 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) {
2644 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0]));
2645 }
2646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hashes_0, 0);
2647 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2648 }
2649 if (ndr_flags & NDR_BUFFERS) {
2650 }
2651 return NDR_ERR_SUCCESS;
2652}
2653
2654_PUBLIC_ void ndr_print_package_PrimaryWDigestBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestBlob *r)
2655{
2656 uint32_t cntr_hashes_0;
2657 ndr_print_struct(ndr, name, "package_PrimaryWDigestBlob");
2658 ndr->depth++;
2659 ndr_print_uint16(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x31:r->unknown1);
2660 ndr_print_uint8(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x01:r->unknown2);
2661 ndr_print_uint8(ndr, "num_hashes", r->num_hashes);
2662 ndr_print_uint32(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3);
2663 ndr_print_udlong(ndr, "uuknown4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->uuknown4);
2664 ndr->print(ndr, "%s: ARRAY(%d)", "hashes", (int)r->num_hashes);
2665 ndr->depth++;
2666 for (cntr_hashes_0=0;cntr_hashes_0<r->num_hashes;cntr_hashes_0++) {
2667 char *idx_0=NULL;
2668 if (asprintf(&idx_0, "[%d]", cntr_hashes_0) != -1) {
2669 ndr_print_package_PrimaryWDigestHash(ndr, "hashes", &r->hashes[cntr_hashes_0]);
2670 free(idx_0);
2671 }
2672 }
2673 ndr->depth--;
2674 ndr->depth--;
2675}
2676
2677static enum ndr_err_code ndr_push_AuthInfoNone(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNone *r)
2678{
2679 if (ndr_flags & NDR_SCALARS) {
2680 NDR_CHECK(ndr_push_align(ndr, 4));
2681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2682 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2683 }
2684 if (ndr_flags & NDR_BUFFERS) {
2685 }
2686 return NDR_ERR_SUCCESS;
2687}
2688
2689static enum ndr_err_code ndr_pull_AuthInfoNone(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNone *r)
2690{
2691 if (ndr_flags & NDR_SCALARS) {
2692 NDR_CHECK(ndr_pull_align(ndr, 4));
2693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2694 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2695 }
2696 if (ndr_flags & NDR_BUFFERS) {
2697 }
2698 return NDR_ERR_SUCCESS;
2699}
2700
2701_PUBLIC_ void ndr_print_AuthInfoNone(struct ndr_print *ndr, const char *name, const struct AuthInfoNone *r)
2702{
2703 ndr_print_struct(ndr, name, "AuthInfoNone");
2704 ndr->depth++;
2705 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->size);
2706 ndr->depth--;
2707}
2708
2709static enum ndr_err_code ndr_push_AuthInfoNT4Owf(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNT4Owf *r)
2710{
2711 if (ndr_flags & NDR_SCALARS) {
2712 NDR_CHECK(ndr_push_align(ndr, 4));
2713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 16));
2714 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->password));
2715 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2716 }
2717 if (ndr_flags & NDR_BUFFERS) {
2718 }
2719 return NDR_ERR_SUCCESS;
2720}
2721
2722static enum ndr_err_code ndr_pull_AuthInfoNT4Owf(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNT4Owf *r)
2723{
2724 if (ndr_flags & NDR_SCALARS) {
2725 NDR_CHECK(ndr_pull_align(ndr, 4));
2726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2727 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->password));
2728 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2729 }
2730 if (ndr_flags & NDR_BUFFERS) {
2731 }
2732 return NDR_ERR_SUCCESS;
2733}
2734
2735_PUBLIC_ void ndr_print_AuthInfoNT4Owf(struct ndr_print *ndr, const char *name, const struct AuthInfoNT4Owf *r)
2736{
2737 ndr_print_struct(ndr, name, "AuthInfoNT4Owf");
2738 ndr->depth++;
2739 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?16:r->size);
2740 ndr_print_samr_Password(ndr, "password", &r->password);
2741 ndr->depth--;
2742}
2743
2744static enum ndr_err_code ndr_push_AuthInfoClear(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoClear *r)
2745{
2746 if (ndr_flags & NDR_SCALARS) {
2747 NDR_CHECK(ndr_push_align(ndr, 4));
2748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2749 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, r->size));
2750 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2751 }
2752 if (ndr_flags & NDR_BUFFERS) {
2753 }
2754 return NDR_ERR_SUCCESS;
2755}
2756
2757static enum ndr_err_code ndr_pull_AuthInfoClear(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoClear *r)
2758{
2759 if (ndr_flags & NDR_SCALARS) {
2760 NDR_CHECK(ndr_pull_align(ndr, 4));
2761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2762 NDR_PULL_ALLOC_N(ndr, r->password, r->size);
2763 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, r->size));
2764 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2765 }
2766 if (ndr_flags & NDR_BUFFERS) {
2767 }
2768 return NDR_ERR_SUCCESS;
2769}
2770
2771_PUBLIC_ void ndr_print_AuthInfoClear(struct ndr_print *ndr, const char *name, const struct AuthInfoClear *r)
2772{
2773 ndr_print_struct(ndr, name, "AuthInfoClear");
2774 ndr->depth++;
2775 ndr_print_uint32(ndr, "size", r->size);
2776 ndr_print_array_uint8(ndr, "password", r->password, r->size);
2777 ndr->depth--;
2778}
2779
2780static enum ndr_err_code ndr_push_AuthInfoVersion(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoVersion *r)
2781{
2782 if (ndr_flags & NDR_SCALARS) {
2783 NDR_CHECK(ndr_push_align(ndr, 4));
2784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 4));
2785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2786 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2787 }
2788 if (ndr_flags & NDR_BUFFERS) {
2789 }
2790 return NDR_ERR_SUCCESS;
2791}
2792
2793static enum ndr_err_code ndr_pull_AuthInfoVersion(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoVersion *r)
2794{
2795 if (ndr_flags & NDR_SCALARS) {
2796 NDR_CHECK(ndr_pull_align(ndr, 4));
2797 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2798 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2799 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2800 }
2801 if (ndr_flags & NDR_BUFFERS) {
2802 }
2803 return NDR_ERR_SUCCESS;
2804}
2805
2806_PUBLIC_ void ndr_print_AuthInfoVersion(struct ndr_print *ndr, const char *name, const struct AuthInfoVersion *r)
2807{
2808 ndr_print_struct(ndr, name, "AuthInfoVersion");
2809 ndr->depth++;
2810 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?4:r->size);
2811 ndr_print_uint32(ndr, "version", r->version);
2812 ndr->depth--;
2813}
2814
2815static enum ndr_err_code ndr_push_AuthInfo(struct ndr_push *ndr, int ndr_flags, const union AuthInfo *r)
2816{
2817 if (ndr_flags & NDR_SCALARS) {
2818 int level = ndr_push_get_switch_value(ndr, r);
2819 NDR_CHECK(ndr_push_union_align(ndr, 4));
2820 switch (level) {
2821 case TRUST_AUTH_TYPE_NONE: {
2822 NDR_CHECK(ndr_push_AuthInfoNone(ndr, NDR_SCALARS, &r->none));
2823 break; }
2824
2825 case TRUST_AUTH_TYPE_NT4OWF: {
2826 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf));
2827 break; }
2828
2829 case TRUST_AUTH_TYPE_CLEAR: {
2830 NDR_CHECK(ndr_push_AuthInfoClear(ndr, NDR_SCALARS, &r->clear));
2831 break; }
2832
2833 case TRUST_AUTH_TYPE_VERSION: {
2834 NDR_CHECK(ndr_push_AuthInfoVersion(ndr, NDR_SCALARS, &r->version));
2835 break; }
2836
2837 default:
2838 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2839 }
2840 }
2841 if (ndr_flags & NDR_BUFFERS) {
2842 int level = ndr_push_get_switch_value(ndr, r);
2843 switch (level) {
2844 case TRUST_AUTH_TYPE_NONE:
2845 break;
2846
2847 case TRUST_AUTH_TYPE_NT4OWF:
2848 break;
2849
2850 case TRUST_AUTH_TYPE_CLEAR:
2851 break;
2852
2853 case TRUST_AUTH_TYPE_VERSION:
2854 break;
2855
2856 default:
2857 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2858 }
2859 }
2860 return NDR_ERR_SUCCESS;
2861}
2862
2863static enum ndr_err_code ndr_pull_AuthInfo(struct ndr_pull *ndr, int ndr_flags, union AuthInfo *r)
2864{
2865 int level;
2866 level = ndr_pull_get_switch_value(ndr, r);
2867 if (ndr_flags & NDR_SCALARS) {
2868 NDR_CHECK(ndr_pull_union_align(ndr, 4));
2869 switch (level) {
2870 case TRUST_AUTH_TYPE_NONE: {
2871 NDR_CHECK(ndr_pull_AuthInfoNone(ndr, NDR_SCALARS, &r->none));
2872 break; }
2873
2874 case TRUST_AUTH_TYPE_NT4OWF: {
2875 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf));
2876 break; }
2877
2878 case TRUST_AUTH_TYPE_CLEAR: {
2879 NDR_CHECK(ndr_pull_AuthInfoClear(ndr, NDR_SCALARS, &r->clear));
2880 break; }
2881
2882 case TRUST_AUTH_TYPE_VERSION: {
2883 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr, NDR_SCALARS, &r->version));
2884 break; }
2885
2886 default:
2887 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2888 }
2889 }
2890 if (ndr_flags & NDR_BUFFERS) {
2891 switch (level) {
2892 case TRUST_AUTH_TYPE_NONE:
2893 break;
2894
2895 case TRUST_AUTH_TYPE_NT4OWF:
2896 break;
2897
2898 case TRUST_AUTH_TYPE_CLEAR:
2899 break;
2900
2901 case TRUST_AUTH_TYPE_VERSION:
2902 break;
2903
2904 default:
2905 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2906 }
2907 }
2908 return NDR_ERR_SUCCESS;
2909}
2910
2911_PUBLIC_ void ndr_print_AuthInfo(struct ndr_print *ndr, const char *name, const union AuthInfo *r)
2912{
2913 int level;
2914 level = ndr_print_get_switch_value(ndr, r);
2915 ndr_print_union(ndr, name, level, "AuthInfo");
2916 switch (level) {
2917 case TRUST_AUTH_TYPE_NONE:
2918 ndr_print_AuthInfoNone(ndr, "none", &r->none);
2919 break;
2920
2921 case TRUST_AUTH_TYPE_NT4OWF:
2922 ndr_print_AuthInfoNT4Owf(ndr, "nt4owf", &r->nt4owf);
2923 break;
2924
2925 case TRUST_AUTH_TYPE_CLEAR:
2926 ndr_print_AuthInfoClear(ndr, "clear", &r->clear);
2927 break;
2928
2929 case TRUST_AUTH_TYPE_VERSION:
2930 ndr_print_AuthInfoVersion(ndr, "version", &r->version);
2931 break;
2932
2933 default:
2934 ndr_print_bad_level(ndr, name, level);
2935 }
2936}
2937
2938_PUBLIC_ enum ndr_err_code ndr_push_AuthenticationInformation(struct ndr_push *ndr, int ndr_flags, const struct AuthenticationInformation *r)
2939{
2940 if (ndr_flags & NDR_SCALARS) {
2941 NDR_CHECK(ndr_push_align(ndr, 4));
2942 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->LastUpdateTime));
2943 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType));
2944 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->AuthInfo, r->AuthType));
2945 NDR_CHECK(ndr_push_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo));
2946 {
2947 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2948 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2949 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
2950 ndr->flags = _flags_save_DATA_BLOB;
2951 }
2952 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2953 }
2954 if (ndr_flags & NDR_BUFFERS) {
2955 }
2956 return NDR_ERR_SUCCESS;
2957}
2958
2959_PUBLIC_ enum ndr_err_code ndr_pull_AuthenticationInformation(struct ndr_pull *ndr, int ndr_flags, struct AuthenticationInformation *r)
2960{
2961 if (ndr_flags & NDR_SCALARS) {
2962 NDR_CHECK(ndr_pull_align(ndr, 4));
2963 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->LastUpdateTime));
2964 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType));
2965 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->AuthInfo, r->AuthType));
2966 NDR_CHECK(ndr_pull_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo));
2967 {
2968 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2969 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2970 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
2971 ndr->flags = _flags_save_DATA_BLOB;
2972 }
2973 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2974 }
2975 if (ndr_flags & NDR_BUFFERS) {
2976 }
2977 return NDR_ERR_SUCCESS;
2978}
2979
2980_PUBLIC_ void ndr_print_AuthenticationInformation(struct ndr_print *ndr, const char *name, const struct AuthenticationInformation *r)
2981{
2982 ndr_print_struct(ndr, name, "AuthenticationInformation");
2983 ndr->depth++;
2984 ndr_print_NTTIME(ndr, "LastUpdateTime", r->LastUpdateTime);
2985 ndr_print_lsa_TrustAuthType(ndr, "AuthType", r->AuthType);
2986 ndr_print_set_switch_value(ndr, &r->AuthInfo, r->AuthType);
2987 ndr_print_AuthInfo(ndr, "AuthInfo", &r->AuthInfo);
2988 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
2989 ndr->depth--;
2990}
2991
2992_PUBLIC_ size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob *r, struct smb_iconv_convenience *ic, int flags)
2993{
2994 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustAuthInOutBlob, ic);
2995}
2996
2997_PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustCurrentPasswords *r)
2998{
2999 uint32_t cntr_current_0;
3000 if (ndr_flags & NDR_SCALARS) {
3001 NDR_CHECK(ndr_push_align(ndr, 5));
3002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3003 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3004 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->current[cntr_current_0]));
3005 }
3006 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3007 }
3008 if (ndr_flags & NDR_BUFFERS) {
3009 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3010 if (r->current[cntr_current_0]) {
3011 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0]));
3012 NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
3013 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0]));
3014 }
3015 }
3016 }
3017 return NDR_ERR_SUCCESS;
3018}
3019
3020_PUBLIC_ enum ndr_err_code ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr, int ndr_flags, struct trustCurrentPasswords *r)
3021{
3022 uint32_t _ptr_current;
3023 uint32_t cntr_current_0;
3024 TALLOC_CTX *_mem_save_current_0;
3025 TALLOC_CTX *_mem_save_current_1;
3026 if (ndr_flags & NDR_SCALARS) {
3027 NDR_CHECK(ndr_pull_align(ndr, 5));
3028 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3029 NDR_PULL_ALLOC_N(ndr, r->current, r->count);
3030 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr);
3031 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0);
3032 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3033 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_current));
3034 if (_ptr_current) {
3035 NDR_PULL_ALLOC(ndr, r->current[cntr_current_0]);
3036 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->current[cntr_current_0], _ptr_current));
3037 } else {
3038 r->current[cntr_current_0] = NULL;
3039 }
3040 }
3041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0);
3042 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3043 }
3044 if (ndr_flags & NDR_BUFFERS) {
3045 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr);
3046 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0);
3047 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3048 if (r->current[cntr_current_0]) {
3049 uint32_t _relative_save_offset;
3050 _relative_save_offset = ndr->offset;
3051 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->current[cntr_current_0]));
3052 _mem_save_current_1 = NDR_PULL_GET_MEM_CTX(ndr);
3053 NDR_PULL_SET_MEM_CTX(ndr, r->current[cntr_current_0], 0);
3054 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
3055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_1, 0);
3056 ndr->offset = _relative_save_offset;
3057 }
3058 }
3059 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0);
3060 }
3061 return NDR_ERR_SUCCESS;
3062}
3063
3064_PUBLIC_ void ndr_print_trustCurrentPasswords(struct ndr_print *ndr, const char *name, const struct trustCurrentPasswords *r)
3065{
3066 uint32_t cntr_current_0;
3067 ndr_print_struct(ndr, name, "trustCurrentPasswords");
3068 ndr->depth++;
3069 ndr_print_uint32(ndr, "count", r->count);
3070 ndr->print(ndr, "%s: ARRAY(%d)", "current", (int)r->count);
3071 ndr->depth++;
3072 for (cntr_current_0=0;cntr_current_0<r->count;cntr_current_0++) {
3073 char *idx_0=NULL;
3074 if (asprintf(&idx_0, "[%d]", cntr_current_0) != -1) {
3075 ndr_print_ptr(ndr, "current", r->current[cntr_current_0]);
3076 ndr->depth++;
3077 if (r->current[cntr_current_0]) {
3078 ndr_print_AuthenticationInformation(ndr, "current", r->current[cntr_current_0]);
3079 }
3080 ndr->depth--;
3081 free(idx_0);
3082 }
3083 }
3084 ndr->depth--;
3085 ndr->depth--;
3086}
3087
3088_PUBLIC_ size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords *r, struct smb_iconv_convenience *ic, int flags)
3089{
3090 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustCurrentPasswords, ic);
3091}
3092
3093_PUBLIC_ enum ndr_err_code ndr_push_trustDomainPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustDomainPasswords *r)
3094{
3095 if (ndr_flags & NDR_SCALARS) {
3096 NDR_CHECK(ndr_push_align(ndr, 5));
3097 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->confounder, 512));
3098 {
3099 struct ndr_push *_ndr_outgoing;
3100 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3101 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing, NDR_SCALARS|NDR_BUFFERS, &r->outgoing));
3102 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3103 }
3104 {
3105 struct ndr_push *_ndr_incoming;
3106 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3107 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming, NDR_SCALARS|NDR_BUFFERS, &r->incoming));
3108 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3109 }
3110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3112 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3113 }
3114 if (ndr_flags & NDR_BUFFERS) {
3115 }
3116 return NDR_ERR_SUCCESS;
3117}
3118
3119_PUBLIC_ void ndr_print_trustDomainPasswords(struct ndr_print *ndr, const char *name, const struct trustDomainPasswords *r)
3120{
3121 ndr_print_struct(ndr, name, "trustDomainPasswords");
3122 ndr->depth++;
3123 ndr_print_array_uint8(ndr, "confounder", r->confounder, 512);
3124 ndr_print_trustCurrentPasswords(ndr, "outgoing", &r->outgoing);
3125 ndr_print_trustCurrentPasswords(ndr, "incoming", &r->incoming);
3126 ndr_print_uint32(ndr, "outgoing_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags):r->outgoing_size);
3127 ndr_print_uint32(ndr, "incoming_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags):r->incoming_size);
3128 ndr->depth--;
3129}
3130
3131_PUBLIC_ enum ndr_err_code ndr_push_DsCompressedChunk(struct ndr_push *ndr, int ndr_flags, const struct DsCompressedChunk *r)
3132{
3133 if (ndr_flags & NDR_SCALARS) {
3134 NDR_CHECK(ndr_push_align(ndr, 4));
3135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->marker));
3136 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
3137 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3138 }
3139 if (ndr_flags & NDR_BUFFERS) {
3140 }
3141 return NDR_ERR_SUCCESS;
3142}
3143
3144_PUBLIC_ enum ndr_err_code ndr_pull_DsCompressedChunk(struct ndr_pull *ndr, int ndr_flags, struct DsCompressedChunk *r)
3145{
3146 if (ndr_flags & NDR_SCALARS) {
3147 NDR_CHECK(ndr_pull_align(ndr, 4));
3148 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->marker));
3149 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
3150 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3151 }
3152 if (ndr_flags & NDR_BUFFERS) {
3153 }
3154 return NDR_ERR_SUCCESS;
3155}
3156
3157_PUBLIC_ void ndr_print_DsCompressedChunk(struct ndr_print *ndr, const char *name, const struct DsCompressedChunk *r)
3158{
3159 ndr_print_struct(ndr, name, "DsCompressedChunk");
3160 ndr->depth++;
3161 ndr_print_uint32(ndr, "marker", r->marker);
3162 ndr_print_DATA_BLOB(ndr, "data", r->data);
3163 ndr->depth--;
3164}
3165
3166static enum ndr_err_code ndr_push_ExtendedErrorAString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorAString *r)
3167{
3168 if (ndr_flags & NDR_SCALARS) {
3169 NDR_CHECK(ndr_push_align(ndr, 5));
3170 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size));
3171 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
3172 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3173 }
3174 if (ndr_flags & NDR_BUFFERS) {
3175 if (r->string) {
3176 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size));
3177 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint8_t), CH_DOS));
3178 }
3179 }
3180 return NDR_ERR_SUCCESS;
3181}
3182
3183static enum ndr_err_code ndr_pull_ExtendedErrorAString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorAString *r)
3184{
3185 uint32_t _ptr_string;
3186 TALLOC_CTX *_mem_save_string_0;
3187 if (ndr_flags & NDR_SCALARS) {
3188 NDR_CHECK(ndr_pull_align(ndr, 5));
3189 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size));
3190 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
3191 if (_ptr_string) {
3192 NDR_PULL_ALLOC(ndr, r->string);
3193 } else {
3194 r->string = NULL;
3195 }
3196 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3197 }
3198 if (ndr_flags & NDR_BUFFERS) {
3199 if (r->string) {
3200 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
3201 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
3202 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
3203 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint8_t), CH_DOS));
3204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
3205 }
3206 if (r->string) {
3207 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size));
3208 }
3209 }
3210 return NDR_ERR_SUCCESS;
3211}
3212
3213_PUBLIC_ void ndr_print_ExtendedErrorAString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorAString *r)
3214{
3215 ndr_print_struct(ndr, name, "ExtendedErrorAString");
3216 ndr->depth++;
3217 ndr_print_uint16(ndr, "__size", r->__size);
3218 ndr_print_ptr(ndr, "string", r->string);
3219 ndr->depth++;
3220 if (r->string) {
3221 ndr_print_string(ndr, "string", r->string);
3222 }
3223 ndr->depth--;
3224 ndr->depth--;
3225}
3226
3227static enum ndr_err_code ndr_push_ExtendedErrorUString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorUString *r)
3228{
3229 if (ndr_flags & NDR_SCALARS) {
3230 NDR_CHECK(ndr_push_align(ndr, 5));
3231 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size));
3232 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
3233 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3234 }
3235 if (ndr_flags & NDR_BUFFERS) {
3236 if (r->string) {
3237 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size));
3238 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint16_t), CH_UTF16));
3239 }
3240 }
3241 return NDR_ERR_SUCCESS;
3242}
3243
3244static enum ndr_err_code ndr_pull_ExtendedErrorUString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorUString *r)
3245{
3246 uint32_t _ptr_string;
3247 TALLOC_CTX *_mem_save_string_0;
3248 if (ndr_flags & NDR_SCALARS) {
3249 NDR_CHECK(ndr_pull_align(ndr, 5));
3250 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size));
3251 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
3252 if (_ptr_string) {
3253 NDR_PULL_ALLOC(ndr, r->string);
3254 } else {
3255 r->string = NULL;
3256 }
3257 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3258 }
3259 if (ndr_flags & NDR_BUFFERS) {
3260 if (r->string) {
3261 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
3262 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
3263 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
3264 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
3265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
3266 }
3267 if (r->string) {
3268 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size));
3269 }
3270 }
3271 return NDR_ERR_SUCCESS;
3272}
3273
3274_PUBLIC_ void ndr_print_ExtendedErrorUString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorUString *r)
3275{
3276 ndr_print_struct(ndr, name, "ExtendedErrorUString");
3277 ndr->depth++;
3278 ndr_print_uint16(ndr, "__size", r->__size);
3279 ndr_print_ptr(ndr, "string", r->string);
3280 ndr->depth++;
3281 if (r->string) {
3282 ndr_print_string(ndr, "string", r->string);
3283 }
3284 ndr->depth--;
3285 ndr->depth--;
3286}
3287
3288static enum ndr_err_code ndr_push_ExtendedErrorBlob(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorBlob *r)
3289{
3290 if (ndr_flags & NDR_SCALARS) {
3291 NDR_CHECK(ndr_push_align(ndr, 5));
3292 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
3293 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
3294 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3295 }
3296 if (ndr_flags & NDR_BUFFERS) {
3297 if (r->data) {
3298 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
3299 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
3300 }
3301 }
3302 return NDR_ERR_SUCCESS;
3303}
3304
3305static enum ndr_err_code ndr_pull_ExtendedErrorBlob(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorBlob *r)
3306{
3307 uint32_t _ptr_data;
3308 TALLOC_CTX *_mem_save_data_0;
3309 if (ndr_flags & NDR_SCALARS) {
3310 NDR_CHECK(ndr_pull_align(ndr, 5));
3311 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
3312 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
3313 if (_ptr_data) {
3314 NDR_PULL_ALLOC(ndr, r->data);
3315 } else {
3316 r->data = NULL;
3317 }
3318 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3319 }
3320 if (ndr_flags & NDR_BUFFERS) {
3321 if (r->data) {
3322 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3323 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
3324 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
3325 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
3326 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
3327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
3328 }
3329 if (r->data) {
3330 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
3331 }
3332 }
3333 return NDR_ERR_SUCCESS;
3334}
3335
3336_PUBLIC_ void ndr_print_ExtendedErrorBlob(struct ndr_print *ndr, const char *name, const struct ExtendedErrorBlob *r)
3337{
3338 ndr_print_struct(ndr, name, "ExtendedErrorBlob");
3339 ndr->depth++;
3340 ndr_print_uint16(ndr, "length", r->length);
3341 ndr_print_ptr(ndr, "data", r->data);
3342 ndr->depth++;
3343 if (r->data) {
3344 ndr_print_array_uint8(ndr, "data", r->data, r->length);
3345 }
3346 ndr->depth--;
3347 ndr->depth--;
3348}
3349
3350static enum ndr_err_code ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent r)
3351{
3352 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3353 return NDR_ERR_SUCCESS;
3354}
3355
3356static enum ndr_err_code ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent *r)
3357{
3358 uint16_t v;
3359 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3360 *r = v;
3361 return NDR_ERR_SUCCESS;
3362}
3363
3364_PUBLIC_ void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print *ndr, const char *name, enum ExtendedErrorComputerNamePresent r)
3365{
3366 const char *val = NULL;
3367
3368 switch (r) {
3369 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3370 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3371 }
3372 ndr_print_enum(ndr, name, "ENUM", val, r);
3373}
3374
3375static enum ndr_err_code ndr_push_ExtendedErrorComputerNameU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorComputerNameU *r)
3376{
3377 if (ndr_flags & NDR_SCALARS) {
3378 int level = ndr_push_get_switch_value(ndr, r);
3379 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, level));
3380 NDR_CHECK(ndr_push_union_align(ndr, 5));
3381 switch (level) {
3382 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: {
3383 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name));
3384 break; }
3385
3386 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: {
3387 break; }
3388
3389 default:
3390 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3391 }
3392 }
3393 if (ndr_flags & NDR_BUFFERS) {
3394 int level = ndr_push_get_switch_value(ndr, r);
3395 switch (level) {
3396 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3397 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name));
3398 break;
3399
3400 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3401 break;
3402
3403 default:
3404 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3405 }
3406 }
3407 return NDR_ERR_SUCCESS;
3408}
3409
3410static enum ndr_err_code ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorComputerNameU *r)
3411{
3412 int level;
3413 uint16_t _level;
3414 level = ndr_pull_get_switch_value(ndr, r);
3415 if (ndr_flags & NDR_SCALARS) {
3416 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3417 if (_level != level) {
3418 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3419 }
3420 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3421 switch (level) {
3422 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: {
3423 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name));
3424 break; }
3425
3426 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: {
3427 break; }
3428
3429 default:
3430 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3431 }
3432 }
3433 if (ndr_flags & NDR_BUFFERS) {
3434 switch (level) {
3435 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3436 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name));
3437 break;
3438
3439 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3440 break;
3441
3442 default:
3443 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3444 }
3445 }
3446 return NDR_ERR_SUCCESS;
3447}
3448
3449_PUBLIC_ void ndr_print_ExtendedErrorComputerNameU(struct ndr_print *ndr, const char *name, const union ExtendedErrorComputerNameU *r)
3450{
3451 int level;
3452 level = ndr_print_get_switch_value(ndr, r);
3453 ndr_print_union(ndr, name, level, "ExtendedErrorComputerNameU");
3454 switch (level) {
3455 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3456 ndr_print_ExtendedErrorUString(ndr, "name", &r->name);
3457 break;
3458
3459 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3460 break;
3461
3462 default:
3463 ndr_print_bad_level(ndr, name, level);
3464 }
3465}
3466
3467static enum ndr_err_code ndr_push_ExtendedErrorComputerName(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorComputerName *r)
3468{
3469 if (ndr_flags & NDR_SCALARS) {
3470 NDR_CHECK(ndr_push_align(ndr, 5));
3471 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, r->present));
3472 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->n, r->present));
3473 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n));
3474 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3475 }
3476 if (ndr_flags & NDR_BUFFERS) {
3477 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n));
3478 }
3479 return NDR_ERR_SUCCESS;
3480}
3481
3482static enum ndr_err_code ndr_pull_ExtendedErrorComputerName(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorComputerName *r)
3483{
3484 if (ndr_flags & NDR_SCALARS) {
3485 NDR_CHECK(ndr_pull_align(ndr, 5));
3486 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, &r->present));
3487 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->n, r->present));
3488 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n));
3489 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3490 }
3491 if (ndr_flags & NDR_BUFFERS) {
3492 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n));
3493 }
3494 return NDR_ERR_SUCCESS;
3495}
3496
3497_PUBLIC_ void ndr_print_ExtendedErrorComputerName(struct ndr_print *ndr, const char *name, const struct ExtendedErrorComputerName *r)
3498{
3499 ndr_print_struct(ndr, name, "ExtendedErrorComputerName");
3500 ndr->depth++;
3501 ndr_print_ExtendedErrorComputerNamePresent(ndr, "present", r->present);
3502 ndr_print_set_switch_value(ndr, &r->n, r->present);
3503 ndr_print_ExtendedErrorComputerNameU(ndr, "n", &r->n);
3504 ndr->depth--;
3505}
3506
3507static enum ndr_err_code ndr_push_ExtendedErrorParamType(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorParamType r)
3508{
3509 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3510 return NDR_ERR_SUCCESS;
3511}
3512
3513static enum ndr_err_code ndr_pull_ExtendedErrorParamType(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorParamType *r)
3514{
3515 uint16_t v;
3516 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3517 *r = v;
3518 return NDR_ERR_SUCCESS;
3519}
3520
3521_PUBLIC_ void ndr_print_ExtendedErrorParamType(struct ndr_print *ndr, const char *name, enum ExtendedErrorParamType r)
3522{
3523 const char *val = NULL;
3524
3525 switch (r) {
3526 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3527 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3528 case EXTENDED_ERROR_PARAM_TYPE_UINT32: val = "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3529 case EXTENDED_ERROR_PARAM_TYPE_UINT16: val = "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3530 case EXTENDED_ERROR_PARAM_TYPE_UINT64: val = "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3531 case EXTENDED_ERROR_PARAM_TYPE_NONE: val = "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3532 case EXTENDED_ERROR_PARAM_TYPE_BLOB: val = "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3533 }
3534 ndr_print_enum(ndr, name, "ENUM", val, r);
3535}
3536
3537static enum ndr_err_code ndr_push_ExtendedErrorParamU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorParamU *r)
3538{
3539 if (ndr_flags & NDR_SCALARS) {
3540 int level = ndr_push_get_switch_value(ndr, r);
3541 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, level));
3542 NDR_CHECK(ndr_push_union_align(ndr, 8));
3543 switch (level) {
3544 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: {
3545 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string));
3546 break; }
3547
3548 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: {
3549 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string));
3550 break; }
3551
3552 case EXTENDED_ERROR_PARAM_TYPE_UINT32: {
3553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->uint32));
3554 break; }
3555
3556 case EXTENDED_ERROR_PARAM_TYPE_UINT16: {
3557 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->uint16));
3558 break; }
3559
3560 case EXTENDED_ERROR_PARAM_TYPE_UINT64: {
3561 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uint64));
3562 break; }
3563
3564 case EXTENDED_ERROR_PARAM_TYPE_NONE: {
3565 break; }
3566
3567 case EXTENDED_ERROR_PARAM_TYPE_BLOB: {
3568 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob));
3569 break; }
3570
3571 default:
3572 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3573 }
3574 }
3575 if (ndr_flags & NDR_BUFFERS) {
3576 int level = ndr_push_get_switch_value(ndr, r);
3577 switch (level) {
3578 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3579 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string));
3580 break;
3581
3582 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3583 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string));
3584 break;
3585
3586 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3587 break;
3588
3589 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3590 break;
3591
3592 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3593 break;
3594
3595 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3596 break;
3597
3598 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3599 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob));
3600 break;
3601
3602 default:
3603 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3604 }
3605 }
3606 return NDR_ERR_SUCCESS;
3607}
3608
3609static enum ndr_err_code ndr_pull_ExtendedErrorParamU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorParamU *r)
3610{
3611 int level;
3612 uint16_t _level;
3613 level = ndr_pull_get_switch_value(ndr, r);
3614 if (ndr_flags & NDR_SCALARS) {
3615 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3616 if (_level != level) {
3617 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3618 }
3619 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3620 switch (level) {
3621 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: {
3622 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string));
3623 break; }
3624
3625 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: {
3626 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string));
3627 break; }
3628
3629 case EXTENDED_ERROR_PARAM_TYPE_UINT32: {
3630 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->uint32));
3631 break; }
3632
3633 case EXTENDED_ERROR_PARAM_TYPE_UINT16: {
3634 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->uint16));
3635 break; }
3636
3637 case EXTENDED_ERROR_PARAM_TYPE_UINT64: {
3638 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uint64));
3639 break; }
3640
3641 case EXTENDED_ERROR_PARAM_TYPE_NONE: {
3642 break; }
3643
3644 case EXTENDED_ERROR_PARAM_TYPE_BLOB: {
3645 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob));
3646 break; }
3647
3648 default:
3649 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3650 }
3651 }
3652 if (ndr_flags & NDR_BUFFERS) {
3653 switch (level) {
3654 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3655 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string));
3656 break;
3657
3658 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3659 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string));
3660 break;
3661
3662 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3663 break;
3664
3665 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3666 break;
3667
3668 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3669 break;
3670
3671 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3672 break;
3673
3674 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3675 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob));
3676 break;
3677
3678 default:
3679 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3680 }
3681 }
3682 return NDR_ERR_SUCCESS;
3683}
3684
3685_PUBLIC_ void ndr_print_ExtendedErrorParamU(struct ndr_print *ndr, const char *name, const union ExtendedErrorParamU *r)
3686{
3687 int level;
3688 level = ndr_print_get_switch_value(ndr, r);
3689 ndr_print_union(ndr, name, level, "ExtendedErrorParamU");
3690 switch (level) {
3691 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3692 ndr_print_ExtendedErrorAString(ndr, "a_string", &r->a_string);
3693 break;
3694
3695 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3696 ndr_print_ExtendedErrorUString(ndr, "u_string", &r->u_string);
3697 break;
3698
3699 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3700 ndr_print_uint32(ndr, "uint32", r->uint32);
3701 break;
3702
3703 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3704 ndr_print_uint16(ndr, "uint16", r->uint16);
3705 break;
3706
3707 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3708 ndr_print_hyper(ndr, "uint64", r->uint64);
3709 break;
3710
3711 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3712 break;
3713
3714 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3715 ndr_print_ExtendedErrorBlob(ndr, "blob", &r->blob);
3716 break;
3717
3718 default:
3719 ndr_print_bad_level(ndr, name, level);
3720 }
3721}
3722
3723static enum ndr_err_code ndr_push_ExtendedErrorParam(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorParam *r)
3724{
3725 if (ndr_flags & NDR_SCALARS) {
3726 NDR_CHECK(ndr_push_align(ndr, 8));
3727 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, r->type));
3728 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->p, r->type));
3729 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p));
3730 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3731 }
3732 if (ndr_flags & NDR_BUFFERS) {
3733 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p));
3734 }
3735 return NDR_ERR_SUCCESS;
3736}
3737
3738static enum ndr_err_code ndr_pull_ExtendedErrorParam(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorParam *r)
3739{
3740 if (ndr_flags & NDR_SCALARS) {
3741 NDR_CHECK(ndr_pull_align(ndr, 8));
3742 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr, NDR_SCALARS, &r->type));
3743 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->p, r->type));
3744 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p));
3745 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3746 }
3747 if (ndr_flags & NDR_BUFFERS) {
3748 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p));
3749 }
3750 return NDR_ERR_SUCCESS;
3751}
3752
3753_PUBLIC_ void ndr_print_ExtendedErrorParam(struct ndr_print *ndr, const char *name, const struct ExtendedErrorParam *r)
3754{
3755 ndr_print_struct(ndr, name, "ExtendedErrorParam");
3756 ndr->depth++;
3757 ndr_print_ExtendedErrorParamType(ndr, "type", r->type);
3758 ndr_print_set_switch_value(ndr, &r->p, r->type);
3759 ndr_print_ExtendedErrorParamU(ndr, "p", &r->p);
3760 ndr->depth--;
3761}
3762
3763_PUBLIC_ enum ndr_err_code ndr_push_ExtendedErrorInfo(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfo *r)
3764{
3765 uint32_t cntr_params_0;
3766 if (ndr_flags & NDR_SCALARS) {
3767 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_params));
3768 NDR_CHECK(ndr_push_align(ndr, 8));
3769 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
3770 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name));
3771 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pid));
3772 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
3773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->generating_component));
3774 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
3775 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->detection_location));
3776 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags));
3777 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_params));
3778 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3779 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0]));
3780 }
3781 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3782 }
3783 if (ndr_flags & NDR_BUFFERS) {
3784 if (r->next) {
3785 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
3786 }
3787 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name));
3788 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3789 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0]));
3790 }
3791 }
3792 return NDR_ERR_SUCCESS;
3793}
3794
3795_PUBLIC_ enum ndr_err_code ndr_pull_ExtendedErrorInfo(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfo *r)
3796{
3797 uint32_t _ptr_next;
3798 TALLOC_CTX *_mem_save_next_0;
3799 uint32_t cntr_params_0;
3800 TALLOC_CTX *_mem_save_params_0;
3801 if (ndr_flags & NDR_SCALARS) {
3802 NDR_CHECK(ndr_pull_array_size(ndr, &r->params));
3803 NDR_CHECK(ndr_pull_align(ndr, 8));
3804 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
3805 if (_ptr_next) {
3806 NDR_PULL_ALLOC(ndr, r->next);
3807 } else {
3808 r->next = NULL;
3809 }
3810 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name));
3811 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pid));
3812 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
3813 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->generating_component));
3814 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
3815 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->detection_location));
3816 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
3817 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_params));
3818 NDR_PULL_ALLOC_N(ndr, r->params, ndr_get_array_size(ndr, &r->params));
3819 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr);
3820 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0);
3821 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3822 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0]));
3823 }
3824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0);
3825 if (r->params) {
3826 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->params, r->num_params));
3827 }
3828 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3829 }
3830 if (ndr_flags & NDR_BUFFERS) {
3831 if (r->next) {
3832 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
3833 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
3834 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
3835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
3836 }
3837 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name));
3838 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr);
3839 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0);
3840 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3841 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0]));
3842 }
3843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0);
3844 }
3845 return NDR_ERR_SUCCESS;
3846}
3847
3848_PUBLIC_ void ndr_print_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfo *r)
3849{
3850 uint32_t cntr_params_0;
3851 ndr_print_struct(ndr, name, "ExtendedErrorInfo");
3852 ndr->depth++;
3853 ndr_print_ptr(ndr, "next", r->next);
3854 ndr->depth++;
3855 if (r->next) {
3856 ndr_print_ExtendedErrorInfo(ndr, "next", r->next);
3857 }
3858 ndr->depth--;
3859 ndr_print_ExtendedErrorComputerName(ndr, "computer_name", &r->computer_name);
3860 ndr_print_hyper(ndr, "pid", r->pid);
3861 ndr_print_NTTIME(ndr, "time", r->time);
3862 ndr_print_uint32(ndr, "generating_component", r->generating_component);
3863 ndr_print_WERROR(ndr, "status", r->status);
3864 ndr_print_uint16(ndr, "detection_location", r->detection_location);
3865 ndr_print_uint16(ndr, "flags", r->flags);
3866 ndr_print_uint16(ndr, "num_params", r->num_params);
3867 ndr->print(ndr, "%s: ARRAY(%d)", "params", (int)r->num_params);
3868 ndr->depth++;
3869 for (cntr_params_0=0;cntr_params_0<r->num_params;cntr_params_0++) {
3870 char *idx_0=NULL;
3871 if (asprintf(&idx_0, "[%d]", cntr_params_0) != -1) {
3872 ndr_print_ExtendedErrorParam(ndr, "params", &r->params[cntr_params_0]);
3873 free(idx_0);
3874 }
3875 }
3876 ndr->depth--;
3877 ndr->depth--;
3878}
3879
3880static enum ndr_err_code ndr_push_ExtendedErrorInfoPtr(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfoPtr *r)
3881{
3882 if (ndr_flags & NDR_SCALARS) {
3883 NDR_CHECK(ndr_push_align(ndr, 5));
3884 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
3885 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3886 }
3887 if (ndr_flags & NDR_BUFFERS) {
3888 if (r->info) {
3889 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
3890 }
3891 }
3892 return NDR_ERR_SUCCESS;
3893}
3894
3895static enum ndr_err_code ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfoPtr *r)
3896{
3897 uint32_t _ptr_info;
3898 TALLOC_CTX *_mem_save_info_0;
3899 if (ndr_flags & NDR_SCALARS) {
3900 NDR_CHECK(ndr_pull_align(ndr, 5));
3901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
3902 if (_ptr_info) {
3903 NDR_PULL_ALLOC(ndr, r->info);
3904 } else {
3905 r->info = NULL;
3906 }
3907 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3908 }
3909 if (ndr_flags & NDR_BUFFERS) {
3910 if (r->info) {
3911 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
3912 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
3913 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
3914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
3915 }
3916 }
3917 return NDR_ERR_SUCCESS;
3918}
3919
3920_PUBLIC_ void ndr_print_ExtendedErrorInfoPtr(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfoPtr *r)
3921{
3922 ndr_print_struct(ndr, name, "ExtendedErrorInfoPtr");
3923 ndr->depth++;
3924 ndr_print_ptr(ndr, "info", r->info);
3925 ndr->depth++;
3926 if (r->info) {
3927 ndr_print_ExtendedErrorInfo(ndr, "info", r->info);
3928 }
3929 ndr->depth--;
3930 ndr->depth--;
3931}
3932
3933static enum ndr_err_code ndr_push_decode_replPropertyMetaData(struct ndr_push *ndr, int flags, const struct decode_replPropertyMetaData *r)
3934{
3935 if (flags & NDR_IN) {
3936 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob));
3937 }
3938 if (flags & NDR_OUT) {
3939 }
3940 return NDR_ERR_SUCCESS;
3941}
3942
3943static enum ndr_err_code ndr_pull_decode_replPropertyMetaData(struct ndr_pull *ndr, int flags, struct decode_replPropertyMetaData *r)
3944{
3945 if (flags & NDR_IN) {
3946 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob));
3947 }
3948 if (flags & NDR_OUT) {
3949 }
3950 return NDR_ERR_SUCCESS;
3951}
3952
3953_PUBLIC_ void ndr_print_decode_replPropertyMetaData(struct ndr_print *ndr, const char *name, int flags, const struct decode_replPropertyMetaData *r)
3954{
3955 ndr_print_struct(ndr, name, "decode_replPropertyMetaData");
3956 ndr->depth++;
3957 if (flags & NDR_SET_VALUES) {
3958 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3959 }
3960 if (flags & NDR_IN) {
3961 ndr_print_struct(ndr, "in", "decode_replPropertyMetaData");
3962 ndr->depth++;
3963 ndr_print_replPropertyMetaDataBlob(ndr, "blob", &r->in.blob);
3964 ndr->depth--;
3965 }
3966 if (flags & NDR_OUT) {
3967 ndr_print_struct(ndr, "out", "decode_replPropertyMetaData");
3968 ndr->depth++;
3969 ndr->depth--;
3970 }
3971 ndr->depth--;
3972}
3973
3974static enum ndr_err_code ndr_push_decode_replUpToDateVector(struct ndr_push *ndr, int flags, const struct decode_replUpToDateVector *r)
3975{
3976 if (flags & NDR_IN) {
3977 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob));
3978 }
3979 if (flags & NDR_OUT) {
3980 }
3981 return NDR_ERR_SUCCESS;
3982}
3983
3984static enum ndr_err_code ndr_pull_decode_replUpToDateVector(struct ndr_pull *ndr, int flags, struct decode_replUpToDateVector *r)
3985{
3986 if (flags & NDR_IN) {
3987 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob));
3988 }
3989 if (flags & NDR_OUT) {
3990 }
3991 return NDR_ERR_SUCCESS;
3992}
3993
3994_PUBLIC_ void ndr_print_decode_replUpToDateVector(struct ndr_print *ndr, const char *name, int flags, const struct decode_replUpToDateVector *r)
3995{
3996 ndr_print_struct(ndr, name, "decode_replUpToDateVector");
3997 ndr->depth++;
3998 if (flags & NDR_SET_VALUES) {
3999 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4000 }
4001 if (flags & NDR_IN) {
4002 ndr_print_struct(ndr, "in", "decode_replUpToDateVector");
4003 ndr->depth++;
4004 ndr_print_replUpToDateVectorBlob(ndr, "blob", &r->in.blob);
4005 ndr->depth--;
4006 }
4007 if (flags & NDR_OUT) {
4008 ndr_print_struct(ndr, "out", "decode_replUpToDateVector");
4009 ndr->depth++;
4010 ndr->depth--;
4011 }
4012 ndr->depth--;
4013}
4014
4015static enum ndr_err_code ndr_push_decode_repsFromTo(struct ndr_push *ndr, int flags, const struct decode_repsFromTo *r)
4016{
4017 if (flags & NDR_IN) {
4018 NDR_CHECK(ndr_push_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4019 }
4020 if (flags & NDR_OUT) {
4021 }
4022 return NDR_ERR_SUCCESS;
4023}
4024
4025static enum ndr_err_code ndr_pull_decode_repsFromTo(struct ndr_pull *ndr, int flags, struct decode_repsFromTo *r)
4026{
4027 if (flags & NDR_IN) {
4028 NDR_CHECK(ndr_pull_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4029 }
4030 if (flags & NDR_OUT) {
4031 }
4032 return NDR_ERR_SUCCESS;
4033}
4034
4035_PUBLIC_ void ndr_print_decode_repsFromTo(struct ndr_print *ndr, const char *name, int flags, const struct decode_repsFromTo *r)
4036{
4037 ndr_print_struct(ndr, name, "decode_repsFromTo");
4038 ndr->depth++;
4039 if (flags & NDR_SET_VALUES) {
4040 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4041 }
4042 if (flags & NDR_IN) {
4043 ndr_print_struct(ndr, "in", "decode_repsFromTo");
4044 ndr->depth++;
4045 ndr_print_repsFromToBlob(ndr, "blob", &r->in.blob);
4046 ndr->depth--;
4047 }
4048 if (flags & NDR_OUT) {
4049 ndr_print_struct(ndr, "out", "decode_repsFromTo");
4050 ndr->depth++;
4051 ndr->depth--;
4052 }
4053 ndr->depth--;
4054}
4055
4056static enum ndr_err_code ndr_push_decode_partialAttributeSet(struct ndr_push *ndr, int flags, const struct decode_partialAttributeSet *r)
4057{
4058 if (flags & NDR_IN) {
4059 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob));
4060 }
4061 if (flags & NDR_OUT) {
4062 }
4063 return NDR_ERR_SUCCESS;
4064}
4065
4066static enum ndr_err_code ndr_pull_decode_partialAttributeSet(struct ndr_pull *ndr, int flags, struct decode_partialAttributeSet *r)
4067{
4068 if (flags & NDR_IN) {
4069 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob));
4070 }
4071 if (flags & NDR_OUT) {
4072 }
4073 return NDR_ERR_SUCCESS;
4074}
4075
4076_PUBLIC_ void ndr_print_decode_partialAttributeSet(struct ndr_print *ndr, const char *name, int flags, const struct decode_partialAttributeSet *r)
4077{
4078 ndr_print_struct(ndr, name, "decode_partialAttributeSet");
4079 ndr->depth++;
4080 if (flags & NDR_SET_VALUES) {
4081 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4082 }
4083 if (flags & NDR_IN) {
4084 ndr_print_struct(ndr, "in", "decode_partialAttributeSet");
4085 ndr->depth++;
4086 ndr_print_partialAttributeSetBlob(ndr, "blob", &r->in.blob);
4087 ndr->depth--;
4088 }
4089 if (flags & NDR_OUT) {
4090 ndr_print_struct(ndr, "out", "decode_partialAttributeSet");
4091 ndr->depth++;
4092 ndr->depth--;
4093 }
4094 ndr->depth--;
4095}
4096
4097static enum ndr_err_code ndr_push_decode_prefixMap(struct ndr_push *ndr, int flags, const struct decode_prefixMap *r)
4098{
4099 if (flags & NDR_IN) {
4100 NDR_CHECK(ndr_push_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4101 }
4102 if (flags & NDR_OUT) {
4103 }
4104 return NDR_ERR_SUCCESS;
4105}
4106
4107static enum ndr_err_code ndr_pull_decode_prefixMap(struct ndr_pull *ndr, int flags, struct decode_prefixMap *r)
4108{
4109 if (flags & NDR_IN) {
4110 NDR_CHECK(ndr_pull_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4111 }
4112 if (flags & NDR_OUT) {
4113 }
4114 return NDR_ERR_SUCCESS;
4115}
4116
4117_PUBLIC_ void ndr_print_decode_prefixMap(struct ndr_print *ndr, const char *name, int flags, const struct decode_prefixMap *r)
4118{
4119 ndr_print_struct(ndr, name, "decode_prefixMap");
4120 ndr->depth++;
4121 if (flags & NDR_SET_VALUES) {
4122 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4123 }
4124 if (flags & NDR_IN) {
4125 ndr_print_struct(ndr, "in", "decode_prefixMap");
4126 ndr->depth++;
4127 ndr_print_prefixMapBlob(ndr, "blob", &r->in.blob);
4128 ndr->depth--;
4129 }
4130 if (flags & NDR_OUT) {
4131 ndr_print_struct(ndr, "out", "decode_prefixMap");
4132 ndr->depth++;
4133 ndr->depth--;
4134 }
4135 ndr->depth--;
4136}
4137
4138static enum ndr_err_code ndr_push_decode_ldapControlDirSync(struct ndr_push *ndr, int flags, const struct decode_ldapControlDirSync *r)
4139{
4140 if (flags & NDR_IN) {
4141 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie));
4142 }
4143 if (flags & NDR_OUT) {
4144 }
4145 return NDR_ERR_SUCCESS;
4146}
4147
4148static enum ndr_err_code ndr_pull_decode_ldapControlDirSync(struct ndr_pull *ndr, int flags, struct decode_ldapControlDirSync *r)
4149{
4150 if (flags & NDR_IN) {
4151 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie));
4152 }
4153 if (flags & NDR_OUT) {
4154 }
4155 return NDR_ERR_SUCCESS;
4156}
4157
4158_PUBLIC_ void ndr_print_decode_ldapControlDirSync(struct ndr_print *ndr, const char *name, int flags, const struct decode_ldapControlDirSync *r)
4159{
4160 ndr_print_struct(ndr, name, "decode_ldapControlDirSync");
4161 ndr->depth++;
4162 if (flags & NDR_SET_VALUES) {
4163 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4164 }
4165 if (flags & NDR_IN) {
4166 ndr_print_struct(ndr, "in", "decode_ldapControlDirSync");
4167 ndr->depth++;
4168 ndr_print_ldapControlDirSyncCookie(ndr, "cookie", &r->in.cookie);
4169 ndr->depth--;
4170 }
4171 if (flags & NDR_OUT) {
4172 ndr_print_struct(ndr, "out", "decode_ldapControlDirSync");
4173 ndr->depth++;
4174 ndr->depth--;
4175 }
4176 ndr->depth--;
4177}
4178
4179static enum ndr_err_code ndr_push_decode_supplementalCredentials(struct ndr_push *ndr, int flags, const struct decode_supplementalCredentials *r)
4180{
4181 if (flags & NDR_IN) {
4182 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob));
4183 }
4184 if (flags & NDR_OUT) {
4185 }
4186 return NDR_ERR_SUCCESS;
4187}
4188
4189static enum ndr_err_code ndr_pull_decode_supplementalCredentials(struct ndr_pull *ndr, int flags, struct decode_supplementalCredentials *r)
4190{
4191 if (flags & NDR_IN) {
4192 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob));
4193 }
4194 if (flags & NDR_OUT) {
4195 }
4196 return NDR_ERR_SUCCESS;
4197}
4198
4199_PUBLIC_ void ndr_print_decode_supplementalCredentials(struct ndr_print *ndr, const char *name, int flags, const struct decode_supplementalCredentials *r)
4200{
4201 ndr_print_struct(ndr, name, "decode_supplementalCredentials");
4202 ndr->depth++;
4203 if (flags & NDR_SET_VALUES) {
4204 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4205 }
4206 if (flags & NDR_IN) {
4207 ndr_print_struct(ndr, "in", "decode_supplementalCredentials");
4208 ndr->depth++;
4209 ndr_print_supplementalCredentialsBlob(ndr, "blob", &r->in.blob);
4210 ndr->depth--;
4211 }
4212 if (flags & NDR_OUT) {
4213 ndr_print_struct(ndr, "out", "decode_supplementalCredentials");
4214 ndr->depth++;
4215 ndr->depth--;
4216 }
4217 ndr->depth--;
4218}
4219
4220static enum ndr_err_code ndr_push_decode_Packages(struct ndr_push *ndr, int flags, const struct decode_Packages *r)
4221{
4222 if (flags & NDR_IN) {
4223 NDR_CHECK(ndr_push_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob));
4224 }
4225 if (flags & NDR_OUT) {
4226 }
4227 return NDR_ERR_SUCCESS;
4228}
4229
4230static enum ndr_err_code ndr_pull_decode_Packages(struct ndr_pull *ndr, int flags, struct decode_Packages *r)
4231{
4232 if (flags & NDR_IN) {
4233 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob));
4234 }
4235 if (flags & NDR_OUT) {
4236 }
4237 return NDR_ERR_SUCCESS;
4238}
4239
4240_PUBLIC_ void ndr_print_decode_Packages(struct ndr_print *ndr, const char *name, int flags, const struct decode_Packages *r)
4241{
4242 ndr_print_struct(ndr, name, "decode_Packages");
4243 ndr->depth++;
4244 if (flags & NDR_SET_VALUES) {
4245 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4246 }
4247 if (flags & NDR_IN) {
4248 ndr_print_struct(ndr, "in", "decode_Packages");
4249 ndr->depth++;
4250 ndr_print_package_PackagesBlob(ndr, "blob", &r->in.blob);
4251 ndr->depth--;
4252 }
4253 if (flags & NDR_OUT) {
4254 ndr_print_struct(ndr, "out", "decode_Packages");
4255 ndr->depth++;
4256 ndr->depth--;
4257 }
4258 ndr->depth--;
4259}
4260
4261static enum ndr_err_code ndr_push_decode_PrimaryKerberos(struct ndr_push *ndr, int flags, const struct decode_PrimaryKerberos *r)
4262{
4263 if (flags & NDR_IN) {
4264 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4265 }
4266 if (flags & NDR_OUT) {
4267 }
4268 return NDR_ERR_SUCCESS;
4269}
4270
4271static enum ndr_err_code ndr_pull_decode_PrimaryKerberos(struct ndr_pull *ndr, int flags, struct decode_PrimaryKerberos *r)
4272{
4273 if (flags & NDR_IN) {
4274 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4275 }
4276 if (flags & NDR_OUT) {
4277 }
4278 return NDR_ERR_SUCCESS;
4279}
4280
4281_PUBLIC_ void ndr_print_decode_PrimaryKerberos(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryKerberos *r)
4282{
4283 ndr_print_struct(ndr, name, "decode_PrimaryKerberos");
4284 ndr->depth++;
4285 if (flags & NDR_SET_VALUES) {
4286 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4287 }
4288 if (flags & NDR_IN) {
4289 ndr_print_struct(ndr, "in", "decode_PrimaryKerberos");
4290 ndr->depth++;
4291 ndr_print_package_PrimaryKerberosBlob(ndr, "blob", &r->in.blob);
4292 ndr->depth--;
4293 }
4294 if (flags & NDR_OUT) {
4295 ndr_print_struct(ndr, "out", "decode_PrimaryKerberos");
4296 ndr->depth++;
4297 ndr->depth--;
4298 }
4299 ndr->depth--;
4300}
4301
4302static enum ndr_err_code ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push *ndr, int flags, const struct decode_PrimaryCLEARTEXT *r)
4303{
4304 if (flags & NDR_IN) {
4305 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob));
4306 }
4307 if (flags & NDR_OUT) {
4308 }
4309 return NDR_ERR_SUCCESS;
4310}
4311
4312static enum ndr_err_code ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull *ndr, int flags, struct decode_PrimaryCLEARTEXT *r)
4313{
4314 if (flags & NDR_IN) {
4315 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob));
4316 }
4317 if (flags & NDR_OUT) {
4318 }
4319 return NDR_ERR_SUCCESS;
4320}
4321
4322_PUBLIC_ void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryCLEARTEXT *r)
4323{
4324 ndr_print_struct(ndr, name, "decode_PrimaryCLEARTEXT");
4325 ndr->depth++;
4326 if (flags & NDR_SET_VALUES) {
4327 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4328 }
4329 if (flags & NDR_IN) {
4330 ndr_print_struct(ndr, "in", "decode_PrimaryCLEARTEXT");
4331 ndr->depth++;
4332 ndr_print_package_PrimaryCLEARTEXTBlob(ndr, "blob", &r->in.blob);
4333 ndr->depth--;
4334 }
4335 if (flags & NDR_OUT) {
4336 ndr_print_struct(ndr, "out", "decode_PrimaryCLEARTEXT");
4337 ndr->depth++;
4338 ndr->depth--;
4339 }
4340 ndr->depth--;
4341}
4342
4343static enum ndr_err_code ndr_push_decode_PrimaryWDigest(struct ndr_push *ndr, int flags, const struct decode_PrimaryWDigest *r)
4344{
4345 if (flags & NDR_IN) {
4346 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob));
4347 }
4348 if (flags & NDR_OUT) {
4349 }
4350 return NDR_ERR_SUCCESS;
4351}
4352
4353static enum ndr_err_code ndr_pull_decode_PrimaryWDigest(struct ndr_pull *ndr, int flags, struct decode_PrimaryWDigest *r)
4354{
4355 if (flags & NDR_IN) {
4356 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob));
4357 }
4358 if (flags & NDR_OUT) {
4359 }
4360 return NDR_ERR_SUCCESS;
4361}
4362
4363_PUBLIC_ void ndr_print_decode_PrimaryWDigest(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryWDigest *r)
4364{
4365 ndr_print_struct(ndr, name, "decode_PrimaryWDigest");
4366 ndr->depth++;
4367 if (flags & NDR_SET_VALUES) {
4368 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4369 }
4370 if (flags & NDR_IN) {
4371 ndr_print_struct(ndr, "in", "decode_PrimaryWDigest");
4372 ndr->depth++;
4373 ndr_print_package_PrimaryWDigestBlob(ndr, "blob", &r->in.blob);
4374 ndr->depth--;
4375 }
4376 if (flags & NDR_OUT) {
4377 ndr_print_struct(ndr, "out", "decode_PrimaryWDigest");
4378 ndr->depth++;
4379 ndr->depth--;
4380 }
4381 ndr->depth--;
4382}
4383
4384static enum ndr_err_code ndr_push_decode_trustAuthInOut(struct ndr_push *ndr, int flags, const struct decode_trustAuthInOut *r)
4385{
4386 if (flags & NDR_IN) {
4387 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4388 }
4389 if (flags & NDR_OUT) {
4390 }
4391 return NDR_ERR_SUCCESS;
4392}
4393
4394static enum ndr_err_code ndr_pull_decode_trustAuthInOut(struct ndr_pull *ndr, int flags, struct decode_trustAuthInOut *r)
4395{
4396 if (flags & NDR_IN) {
4397 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4398 }
4399 if (flags & NDR_OUT) {
4400 }
4401 return NDR_ERR_SUCCESS;
4402}
4403
4404_PUBLIC_ void ndr_print_decode_trustAuthInOut(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustAuthInOut *r)
4405{
4406 ndr_print_struct(ndr, name, "decode_trustAuthInOut");
4407 ndr->depth++;
4408 if (flags & NDR_SET_VALUES) {
4409 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4410 }
4411 if (flags & NDR_IN) {
4412 ndr_print_struct(ndr, "in", "decode_trustAuthInOut");
4413 ndr->depth++;
4414 ndr_print_trustAuthInOutBlob(ndr, "blob", &r->in.blob);
4415 ndr->depth--;
4416 }
4417 if (flags & NDR_OUT) {
4418 ndr_print_struct(ndr, "out", "decode_trustAuthInOut");
4419 ndr->depth++;
4420 ndr->depth--;
4421 }
4422 ndr->depth--;
4423}
4424
4425static enum ndr_err_code ndr_push_decode_trustDomainPasswords(struct ndr_push *ndr, int flags, const struct decode_trustDomainPasswords *r)
4426{
4427 if (flags & NDR_IN) {
4428 NDR_CHECK(ndr_push_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4429 }
4430 if (flags & NDR_OUT) {
4431 }
4432 return NDR_ERR_SUCCESS;
4433}
4434
4435static enum ndr_err_code ndr_pull_decode_trustDomainPasswords(struct ndr_pull *ndr, int flags, struct decode_trustDomainPasswords *r)
4436{
4437 if (flags & NDR_IN) {
4438 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4439 }
4440 if (flags & NDR_OUT) {
4441 }
4442 return NDR_ERR_SUCCESS;
4443}
4444
4445_PUBLIC_ void ndr_print_decode_trustDomainPasswords(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustDomainPasswords *r)
4446{
4447 ndr_print_struct(ndr, name, "decode_trustDomainPasswords");
4448 ndr->depth++;
4449 if (flags & NDR_SET_VALUES) {
4450 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4451 }
4452 if (flags & NDR_IN) {
4453 ndr_print_struct(ndr, "in", "decode_trustDomainPasswords");
4454 ndr->depth++;
4455 ndr_print_trustDomainPasswords(ndr, "blob", &r->in.blob);
4456 ndr->depth--;
4457 }
4458 if (flags & NDR_OUT) {
4459 ndr_print_struct(ndr, "out", "decode_trustDomainPasswords");
4460 ndr->depth++;
4461 ndr->depth--;
4462 }
4463 ndr->depth--;
4464}
4465
4466static enum ndr_err_code ndr_push_decode_ExtendedErrorInfo(struct ndr_push *ndr, int flags, const struct decode_ExtendedErrorInfo *r)
4467{
4468 if (flags & NDR_IN) {
4469 {
4470 struct ndr_push *_ndr_ptr;
4471 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1));
4472 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr));
4473 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1));
4474 }
4475 }
4476 if (flags & NDR_OUT) {
4477 }
4478 return NDR_ERR_SUCCESS;
4479}
4480
4481static enum ndr_err_code ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull *ndr, int flags, struct decode_ExtendedErrorInfo *r)
4482{
4483 if (flags & NDR_IN) {
4484 {
4485 struct ndr_pull *_ndr_ptr;
4486 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1));
4487 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr));
4488 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1));
4489 }
4490 }
4491 if (flags & NDR_OUT) {
4492 }
4493 return NDR_ERR_SUCCESS;
4494}
4495
4496_PUBLIC_ void ndr_print_decode_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ExtendedErrorInfo *r)
4497{
4498 ndr_print_struct(ndr, name, "decode_ExtendedErrorInfo");
4499 ndr->depth++;
4500 if (flags & NDR_SET_VALUES) {
4501 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4502 }
4503 if (flags & NDR_IN) {
4504 ndr_print_struct(ndr, "in", "decode_ExtendedErrorInfo");
4505 ndr->depth++;
4506 ndr_print_ExtendedErrorInfoPtr(ndr, "ptr", &r->in.ptr);
4507 ndr->depth--;
4508 }
4509 if (flags & NDR_OUT) {
4510 ndr_print_struct(ndr, "out", "decode_ExtendedErrorInfo");
4511 ndr->depth++;
4512 ndr->depth--;
4513 }
4514 ndr->depth--;
4515}
4516
4517static const struct ndr_interface_call drsblobs_calls[] = {
4518 {
4519 "decode_replPropertyMetaData",
4520 sizeof(struct decode_replPropertyMetaData),
4521 (ndr_push_flags_fn_t) ndr_push_decode_replPropertyMetaData,
4522 (ndr_pull_flags_fn_t) ndr_pull_decode_replPropertyMetaData,
4523 (ndr_print_function_t) ndr_print_decode_replPropertyMetaData,
4524 false,
4525 },
4526 {
4527 "decode_replUpToDateVector",
4528 sizeof(struct decode_replUpToDateVector),
4529 (ndr_push_flags_fn_t) ndr_push_decode_replUpToDateVector,
4530 (ndr_pull_flags_fn_t) ndr_pull_decode_replUpToDateVector,
4531 (ndr_print_function_t) ndr_print_decode_replUpToDateVector,
4532 false,
4533 },
4534 {
4535 "decode_repsFromTo",
4536 sizeof(struct decode_repsFromTo),
4537 (ndr_push_flags_fn_t) ndr_push_decode_repsFromTo,
4538 (ndr_pull_flags_fn_t) ndr_pull_decode_repsFromTo,
4539 (ndr_print_function_t) ndr_print_decode_repsFromTo,
4540 false,
4541 },
4542 {
4543 "decode_partialAttributeSet",
4544 sizeof(struct decode_partialAttributeSet),
4545 (ndr_push_flags_fn_t) ndr_push_decode_partialAttributeSet,
4546 (ndr_pull_flags_fn_t) ndr_pull_decode_partialAttributeSet,
4547 (ndr_print_function_t) ndr_print_decode_partialAttributeSet,
4548 false,
4549 },
4550 {
4551 "decode_prefixMap",
4552 sizeof(struct decode_prefixMap),
4553 (ndr_push_flags_fn_t) ndr_push_decode_prefixMap,
4554 (ndr_pull_flags_fn_t) ndr_pull_decode_prefixMap,
4555 (ndr_print_function_t) ndr_print_decode_prefixMap,
4556 false,
4557 },
4558 {
4559 "decode_ldapControlDirSync",
4560 sizeof(struct decode_ldapControlDirSync),
4561 (ndr_push_flags_fn_t) ndr_push_decode_ldapControlDirSync,
4562 (ndr_pull_flags_fn_t) ndr_pull_decode_ldapControlDirSync,
4563 (ndr_print_function_t) ndr_print_decode_ldapControlDirSync,
4564 false,
4565 },
4566 {
4567 "decode_supplementalCredentials",
4568 sizeof(struct decode_supplementalCredentials),
4569 (ndr_push_flags_fn_t) ndr_push_decode_supplementalCredentials,
4570 (ndr_pull_flags_fn_t) ndr_pull_decode_supplementalCredentials,
4571 (ndr_print_function_t) ndr_print_decode_supplementalCredentials,
4572 false,
4573 },
4574 {
4575 "decode_Packages",
4576 sizeof(struct decode_Packages),
4577 (ndr_push_flags_fn_t) ndr_push_decode_Packages,
4578 (ndr_pull_flags_fn_t) ndr_pull_decode_Packages,
4579 (ndr_print_function_t) ndr_print_decode_Packages,
4580 false,
4581 },
4582 {
4583 "decode_PrimaryKerberos",
4584 sizeof(struct decode_PrimaryKerberos),
4585 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryKerberos,
4586 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryKerberos,
4587 (ndr_print_function_t) ndr_print_decode_PrimaryKerberos,
4588 false,
4589 },
4590 {
4591 "decode_PrimaryCLEARTEXT",
4592 sizeof(struct decode_PrimaryCLEARTEXT),
4593 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryCLEARTEXT,
4594 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryCLEARTEXT,
4595 (ndr_print_function_t) ndr_print_decode_PrimaryCLEARTEXT,
4596 false,
4597 },
4598 {
4599 "decode_PrimaryWDigest",
4600 sizeof(struct decode_PrimaryWDigest),
4601 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryWDigest,
4602 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryWDigest,
4603 (ndr_print_function_t) ndr_print_decode_PrimaryWDigest,
4604 false,
4605 },
4606 {
4607 "decode_trustAuthInOut",
4608 sizeof(struct decode_trustAuthInOut),
4609 (ndr_push_flags_fn_t) ndr_push_decode_trustAuthInOut,
4610 (ndr_pull_flags_fn_t) ndr_pull_decode_trustAuthInOut,
4611 (ndr_print_function_t) ndr_print_decode_trustAuthInOut,
4612 false,
4613 },
4614 {
4615 "decode_trustDomainPasswords",
4616 sizeof(struct decode_trustDomainPasswords),
4617 (ndr_push_flags_fn_t) ndr_push_decode_trustDomainPasswords,
4618 (ndr_pull_flags_fn_t) ndr_pull_decode_trustDomainPasswords,
4619 (ndr_print_function_t) ndr_print_decode_trustDomainPasswords,
4620 false,
4621 },
4622 {
4623 "decode_ExtendedErrorInfo",
4624 sizeof(struct decode_ExtendedErrorInfo),
4625 (ndr_push_flags_fn_t) ndr_push_decode_ExtendedErrorInfo,
4626 (ndr_pull_flags_fn_t) ndr_pull_decode_ExtendedErrorInfo,
4627 (ndr_print_function_t) ndr_print_decode_ExtendedErrorInfo,
4628 false,
4629 },
4630 { NULL, 0, NULL, NULL, NULL, false }
4631};
4632
4633static const char * const drsblobs_endpoint_strings[] = {
4634 "ncacn_np:[\\pipe\\drsblobs]",
4635};
4636
4637static const struct ndr_interface_string_array drsblobs_endpoints = {
4638 .count = 1,
4639 .names = drsblobs_endpoint_strings
4640};
4641
4642static const char * const drsblobs_authservice_strings[] = {
4643 "host",
4644};
4645
4646static const struct ndr_interface_string_array drsblobs_authservices = {
4647 .count = 1,
4648 .names = drsblobs_authservice_strings
4649};
4650
4651
4652const struct ndr_interface_table ndr_table_drsblobs = {
4653 .name = "drsblobs",
4654 .syntax_id = {
4655 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
4656 NDR_DRSBLOBS_VERSION
4657 },
4658 .helpstring = NDR_DRSBLOBS_HELPSTRING,
4659 .num_calls = 14,
4660 .calls = drsblobs_calls,
4661 .endpoints = &drsblobs_endpoints,
4662 .authservices = &drsblobs_authservices
4663};
4664
Note: See TracBrowser for help on using the repository browser.