s4-drs: additional delete test cases
[Samba/eduardoll.git] / librpc / gen_ndr / ndr_drsblobs.c
blob7de1de72ea61ba19541e64064ec64f12ccf261b9
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "../librpc/gen_ndr/ndr_drsblobs.h"
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"
10 #include "librpc/gen_ndr/ndr_security.h"
11 static enum ndr_err_code ndr_push_replPropertyMetaData1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaData1 *r)
13 if (ndr_flags & NDR_SCALARS) {
14 NDR_CHECK(ndr_push_align(ndr, 8));
15 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
17 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
18 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
19 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
20 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
21 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
23 if (ndr_flags & NDR_BUFFERS) {
25 return NDR_ERR_SUCCESS;
28 static enum ndr_err_code ndr_pull_replPropertyMetaData1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaData1 *r)
30 if (ndr_flags & NDR_SCALARS) {
31 NDR_CHECK(ndr_pull_align(ndr, 8));
32 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
33 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
34 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
35 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
36 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
37 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
38 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
40 if (ndr_flags & NDR_BUFFERS) {
42 return NDR_ERR_SUCCESS;
45 _PUBLIC_ void ndr_print_replPropertyMetaData1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaData1 *r)
47 ndr_print_struct(ndr, name, "replPropertyMetaData1");
48 ndr->depth++;
49 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
50 ndr_print_uint32(ndr, "version", r->version);
51 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
52 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
53 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
54 ndr_print_hyper(ndr, "local_usn", r->local_usn);
55 ndr->depth--;
58 static enum ndr_err_code ndr_push_replPropertyMetaDataCtr1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataCtr1 *r)
60 uint32_t cntr_array_0;
61 if (ndr_flags & NDR_SCALARS) {
62 NDR_CHECK(ndr_push_align(ndr, 8));
63 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
64 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
65 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
66 NDR_CHECK(ndr_push_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
68 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
70 if (ndr_flags & NDR_BUFFERS) {
72 return NDR_ERR_SUCCESS;
75 static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataCtr1 *r)
77 uint32_t cntr_array_0;
78 TALLOC_CTX *_mem_save_array_0;
79 if (ndr_flags & NDR_SCALARS) {
80 NDR_CHECK(ndr_pull_align(ndr, 8));
81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
82 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
83 NDR_PULL_ALLOC_N(ndr, r->array, r->count);
84 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
85 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
86 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
87 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
89 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
90 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
92 if (ndr_flags & NDR_BUFFERS) {
94 return NDR_ERR_SUCCESS;
97 _PUBLIC_ void ndr_print_replPropertyMetaDataCtr1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataCtr1 *r)
99 uint32_t cntr_array_0;
100 ndr_print_struct(ndr, name, "replPropertyMetaDataCtr1");
101 ndr->depth++;
102 ndr_print_uint32(ndr, "count", r->count);
103 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
104 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
105 ndr->depth++;
106 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
107 char *idx_0=NULL;
108 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
109 ndr_print_replPropertyMetaData1(ndr, "array", &r->array[cntr_array_0]);
110 free(idx_0);
113 ndr->depth--;
114 ndr->depth--;
117 static enum ndr_err_code ndr_push_replPropertyMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const union replPropertyMetaDataCtr *r)
119 if (ndr_flags & NDR_SCALARS) {
120 int level = ndr_push_get_switch_value(ndr, r);
121 NDR_CHECK(ndr_push_union_align(ndr, 8));
122 switch (level) {
123 case 1: {
124 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1));
125 break; }
127 default:
128 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
131 if (ndr_flags & NDR_BUFFERS) {
132 int level = ndr_push_get_switch_value(ndr, r);
133 switch (level) {
134 case 1:
135 break;
137 default:
138 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
141 return NDR_ERR_SUCCESS;
144 static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, union replPropertyMetaDataCtr *r)
146 int level;
147 level = ndr_pull_get_switch_value(ndr, r);
148 if (ndr_flags & NDR_SCALARS) {
149 NDR_CHECK(ndr_pull_union_align(ndr, 8));
150 switch (level) {
151 case 1: {
152 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1));
153 break; }
155 default:
156 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
159 if (ndr_flags & NDR_BUFFERS) {
160 switch (level) {
161 case 1:
162 break;
164 default:
165 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
168 return NDR_ERR_SUCCESS;
171 _PUBLIC_ void ndr_print_replPropertyMetaDataCtr(struct ndr_print *ndr, const char *name, const union replPropertyMetaDataCtr *r)
173 int level;
174 level = ndr_print_get_switch_value(ndr, r);
175 ndr_print_union(ndr, name, level, "replPropertyMetaDataCtr");
176 switch (level) {
177 case 1:
178 ndr_print_replPropertyMetaDataCtr1(ndr, "ctr1", &r->ctr1);
179 break;
181 default:
182 ndr_print_bad_level(ndr, name, level);
186 _PUBLIC_ enum ndr_err_code ndr_push_replPropertyMetaDataBlob(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataBlob *r)
188 if (ndr_flags & NDR_SCALARS) {
189 NDR_CHECK(ndr_push_align(ndr, 8));
190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
192 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
193 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr));
194 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
196 if (ndr_flags & NDR_BUFFERS) {
198 return NDR_ERR_SUCCESS;
201 _PUBLIC_ enum ndr_err_code ndr_pull_replPropertyMetaDataBlob(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataBlob *r)
203 if (ndr_flags & NDR_SCALARS) {
204 NDR_CHECK(ndr_pull_align(ndr, 8));
205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
206 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
207 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
208 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr));
209 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
211 if (ndr_flags & NDR_BUFFERS) {
213 return NDR_ERR_SUCCESS;
216 _PUBLIC_ void ndr_print_replPropertyMetaDataBlob(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataBlob *r)
218 ndr_print_struct(ndr, name, "replPropertyMetaDataBlob");
219 ndr->depth++;
220 ndr_print_uint32(ndr, "version", r->version);
221 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
222 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
223 ndr_print_replPropertyMetaDataCtr(ndr, "ctr", &r->ctr);
224 ndr->depth--;
227 static enum ndr_err_code ndr_push_replUpToDateVectorCtr1(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr1 *r)
229 uint32_t cntr_cursors_0;
230 if (ndr_flags & NDR_SCALARS) {
231 NDR_CHECK(ndr_push_align(ndr, 8));
232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
234 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
235 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
237 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
239 if (ndr_flags & NDR_BUFFERS) {
241 return NDR_ERR_SUCCESS;
244 static enum ndr_err_code ndr_pull_replUpToDateVectorCtr1(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr1 *r)
246 uint32_t cntr_cursors_0;
247 TALLOC_CTX *_mem_save_cursors_0;
248 if (ndr_flags & NDR_SCALARS) {
249 NDR_CHECK(ndr_pull_align(ndr, 8));
250 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
251 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
252 NDR_PULL_ALLOC_N(ndr, r->cursors, r->count);
253 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
254 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
255 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
258 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
259 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
261 if (ndr_flags & NDR_BUFFERS) {
263 return NDR_ERR_SUCCESS;
266 _PUBLIC_ void ndr_print_replUpToDateVectorCtr1(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr1 *r)
268 uint32_t cntr_cursors_0;
269 ndr_print_struct(ndr, name, "replUpToDateVectorCtr1");
270 ndr->depth++;
271 ndr_print_uint32(ndr, "count", r->count);
272 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
273 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
274 ndr->depth++;
275 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
276 char *idx_0=NULL;
277 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
278 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
279 free(idx_0);
282 ndr->depth--;
283 ndr->depth--;
286 static enum ndr_err_code ndr_push_replUpToDateVectorCtr2(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr2 *r)
288 uint32_t cntr_cursors_0;
289 if (ndr_flags & NDR_SCALARS) {
290 NDR_CHECK(ndr_push_align(ndr, 8));
291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
293 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
294 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
296 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
298 if (ndr_flags & NDR_BUFFERS) {
300 return NDR_ERR_SUCCESS;
303 static enum ndr_err_code ndr_pull_replUpToDateVectorCtr2(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr2 *r)
305 uint32_t cntr_cursors_0;
306 TALLOC_CTX *_mem_save_cursors_0;
307 if (ndr_flags & NDR_SCALARS) {
308 NDR_CHECK(ndr_pull_align(ndr, 8));
309 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
310 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
311 NDR_PULL_ALLOC_N(ndr, r->cursors, r->count);
312 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
313 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
314 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
315 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
318 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
320 if (ndr_flags & NDR_BUFFERS) {
322 return NDR_ERR_SUCCESS;
325 _PUBLIC_ void ndr_print_replUpToDateVectorCtr2(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr2 *r)
327 uint32_t cntr_cursors_0;
328 ndr_print_struct(ndr, name, "replUpToDateVectorCtr2");
329 ndr->depth++;
330 ndr_print_uint32(ndr, "count", r->count);
331 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
332 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
333 ndr->depth++;
334 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
335 char *idx_0=NULL;
336 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
337 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
338 free(idx_0);
341 ndr->depth--;
342 ndr->depth--;
345 static enum ndr_err_code ndr_push_replUpToDateVectorCtr(struct ndr_push *ndr, int ndr_flags, const union replUpToDateVectorCtr *r)
347 if (ndr_flags & NDR_SCALARS) {
348 int level = ndr_push_get_switch_value(ndr, r);
349 NDR_CHECK(ndr_push_union_align(ndr, 8));
350 switch (level) {
351 case 1: {
352 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1));
353 break; }
355 case 2: {
356 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2));
357 break; }
359 default:
360 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
363 if (ndr_flags & NDR_BUFFERS) {
364 int level = ndr_push_get_switch_value(ndr, r);
365 switch (level) {
366 case 1:
367 break;
369 case 2:
370 break;
372 default:
373 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
376 return NDR_ERR_SUCCESS;
379 static enum ndr_err_code ndr_pull_replUpToDateVectorCtr(struct ndr_pull *ndr, int ndr_flags, union replUpToDateVectorCtr *r)
381 int level;
382 level = ndr_pull_get_switch_value(ndr, r);
383 if (ndr_flags & NDR_SCALARS) {
384 NDR_CHECK(ndr_pull_union_align(ndr, 8));
385 switch (level) {
386 case 1: {
387 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1));
388 break; }
390 case 2: {
391 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2));
392 break; }
394 default:
395 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
398 if (ndr_flags & NDR_BUFFERS) {
399 switch (level) {
400 case 1:
401 break;
403 case 2:
404 break;
406 default:
407 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
410 return NDR_ERR_SUCCESS;
413 _PUBLIC_ void ndr_print_replUpToDateVectorCtr(struct ndr_print *ndr, const char *name, const union replUpToDateVectorCtr *r)
415 int level;
416 level = ndr_print_get_switch_value(ndr, r);
417 ndr_print_union(ndr, name, level, "replUpToDateVectorCtr");
418 switch (level) {
419 case 1:
420 ndr_print_replUpToDateVectorCtr1(ndr, "ctr1", &r->ctr1);
421 break;
423 case 2:
424 ndr_print_replUpToDateVectorCtr2(ndr, "ctr2", &r->ctr2);
425 break;
427 default:
428 ndr_print_bad_level(ndr, name, level);
432 _PUBLIC_ enum ndr_err_code ndr_push_replUpToDateVectorBlob(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorBlob *r)
434 if (ndr_flags & NDR_SCALARS) {
435 NDR_CHECK(ndr_push_align(ndr, 8));
436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
438 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
439 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr));
440 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
442 if (ndr_flags & NDR_BUFFERS) {
444 return NDR_ERR_SUCCESS;
447 _PUBLIC_ enum ndr_err_code ndr_pull_replUpToDateVectorBlob(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorBlob *r)
449 if (ndr_flags & NDR_SCALARS) {
450 NDR_CHECK(ndr_pull_align(ndr, 8));
451 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
452 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
453 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
454 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr));
455 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
457 if (ndr_flags & NDR_BUFFERS) {
459 return NDR_ERR_SUCCESS;
462 _PUBLIC_ void ndr_print_replUpToDateVectorBlob(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorBlob *r)
464 ndr_print_struct(ndr, name, "replUpToDateVectorBlob");
465 ndr->depth++;
466 ndr_print_uint32(ndr, "version", r->version);
467 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
468 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
469 ndr_print_replUpToDateVectorCtr(ndr, "ctr", &r->ctr);
470 ndr->depth--;
473 _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1OtherInfo *r)
475 if (ndr_flags & NDR_SCALARS) {
476 NDR_CHECK(ndr_push_align(ndr, 4));
477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->dns_name) + 1));
478 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, strlen(r->dns_name) + 1, sizeof(uint8_t), CH_DOS));
479 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
481 if (ndr_flags & NDR_BUFFERS) {
483 return NDR_ERR_SUCCESS;
486 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1OtherInfo *r)
488 if (ndr_flags & NDR_SCALARS) {
489 NDR_CHECK(ndr_pull_align(ndr, 4));
490 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__dns_name_size));
491 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, r->__dns_name_size, sizeof(uint8_t), CH_DOS));
492 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
494 if (ndr_flags & NDR_BUFFERS) {
496 return NDR_ERR_SUCCESS;
499 _PUBLIC_ void ndr_print_repsFromTo1OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo1OtherInfo *r)
501 ndr_print_struct(ndr, name, "repsFromTo1OtherInfo");
502 ndr->depth++;
503 ndr_print_uint32(ndr, "__dns_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->dns_name) + 1:r->__dns_name_size);
504 ndr_print_string(ndr, "dns_name", r->dns_name);
505 ndr->depth--;
508 _PUBLIC_ size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo *r, struct smb_iconv_convenience *ic, int flags)
510 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1OtherInfo, ic);
513 _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1 *r)
516 uint32_t _flags_save_STRUCT = ndr->flags;
517 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
518 if (ndr_flags & NDR_SCALARS) {
519 NDR_CHECK(ndr_push_align(ndr, 8));
520 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8));
521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
522 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success));
523 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt));
524 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
525 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info));
526 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags)));
527 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
528 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
530 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
531 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
532 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
533 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid));
534 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
536 if (ndr_flags & NDR_BUFFERS) {
537 if (r->other_info) {
538 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
539 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
540 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
543 ndr->flags = _flags_save_STRUCT;
545 return NDR_ERR_SUCCESS;
548 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1 *r)
550 uint32_t _ptr_other_info;
551 TALLOC_CTX *_mem_save_other_info_0;
553 uint32_t _flags_save_STRUCT = ndr->flags;
554 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
555 if (ndr_flags & NDR_SCALARS) {
556 NDR_CHECK(ndr_pull_align(ndr, 8));
557 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize));
558 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
559 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success));
560 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt));
561 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
562 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
563 if (_ptr_other_info) {
564 NDR_PULL_ALLOC(ndr, r->other_info);
565 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info));
566 } else {
567 r->other_info = NULL;
569 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length));
570 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
571 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
572 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
573 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
574 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
575 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
576 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid));
577 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
579 if (ndr_flags & NDR_BUFFERS) {
580 if (r->other_info) {
581 uint32_t _relative_save_offset;
582 _relative_save_offset = ndr->offset;
583 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info));
584 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
585 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
586 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
587 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
588 if (ndr->offset > ndr->relative_highest_offset) {
589 ndr->relative_highest_offset = ndr->offset;
591 ndr->offset = _relative_save_offset;
594 ndr->flags = _flags_save_STRUCT;
596 return NDR_ERR_SUCCESS;
599 _PUBLIC_ void ndr_print_repsFromTo1(struct ndr_print *ndr, const char *name, const struct repsFromTo1 *r)
601 ndr_print_struct(ndr, name, "repsFromTo1");
603 uint32_t _flags_save_STRUCT = ndr->flags;
604 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
605 ndr->depth++;
606 ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize);
607 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
608 ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success);
609 ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt);
610 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
611 ndr_print_ptr(ndr, "other_info", r->other_info);
612 ndr->depth++;
613 if (r->other_info) {
614 ndr_print_repsFromTo1OtherInfo(ndr, "other_info", r->other_info);
616 ndr->depth--;
617 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);
618 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
619 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
620 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
621 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
622 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
623 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
624 ndr_print_GUID(ndr, "transport_guid", &r->transport_guid);
625 ndr->depth--;
626 ndr->flags = _flags_save_STRUCT;
630 _PUBLIC_ size_t ndr_size_repsFromTo1(const struct repsFromTo1 *r, struct smb_iconv_convenience *ic, int flags)
632 flags |= LIBNDR_PRINT_ARRAY_HEX;
633 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1, ic);
636 _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2OtherInfo *r)
638 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
639 if (ndr_flags & NDR_SCALARS) {
640 NDR_CHECK(ndr_push_align(ndr, 8));
641 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags)));
644 uint32_t _flags_save_string = ndr->flags;
645 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
646 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name1));
647 ndr->flags = _flags_save_string;
649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
651 uint32_t _flags_save_string = ndr->flags;
652 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
653 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name2));
654 ndr->flags = _flags_save_string;
656 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown2));
657 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
659 if (ndr_flags & NDR_BUFFERS) {
660 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
662 uint32_t _flags_save_string = ndr->flags;
663 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
664 if (r->dns_name1) {
665 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name1));
666 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name1));
667 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name1));
669 ndr->flags = _flags_save_string;
672 uint32_t _flags_save_string = ndr->flags;
673 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
674 if (r->dns_name2) {
675 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name2));
676 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name2));
677 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name2));
679 ndr->flags = _flags_save_string;
682 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
683 return NDR_ERR_SUCCESS;
686 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2OtherInfo *r)
688 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
689 uint32_t _ptr_dns_name1;
690 TALLOC_CTX *_mem_save_dns_name1_0;
691 uint32_t _ptr_dns_name2;
692 TALLOC_CTX *_mem_save_dns_name2_0;
693 if (ndr_flags & NDR_SCALARS) {
694 NDR_CHECK(ndr_pull_align(ndr, 8));
695 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
696 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
698 uint32_t _flags_save_string = ndr->flags;
699 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
700 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name1));
701 if (_ptr_dns_name1) {
702 NDR_PULL_ALLOC(ndr, r->dns_name1);
703 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name1, _ptr_dns_name1));
704 } else {
705 r->dns_name1 = NULL;
707 ndr->flags = _flags_save_string;
709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
711 uint32_t _flags_save_string = ndr->flags;
712 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
713 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name2));
714 if (_ptr_dns_name2) {
715 NDR_PULL_ALLOC(ndr, r->dns_name2);
716 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name2, _ptr_dns_name2));
717 } else {
718 r->dns_name2 = NULL;
720 ndr->flags = _flags_save_string;
722 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown2));
723 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
725 if (ndr_flags & NDR_BUFFERS) {
726 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
728 uint32_t _flags_save_string = ndr->flags;
729 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
730 if (r->dns_name1) {
731 uint32_t _relative_save_offset;
732 _relative_save_offset = ndr->offset;
733 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name1));
734 _mem_save_dns_name1_0 = NDR_PULL_GET_MEM_CTX(ndr);
735 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name1, 0);
736 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name1));
737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name1_0, 0);
738 if (ndr->offset > ndr->relative_highest_offset) {
739 ndr->relative_highest_offset = ndr->offset;
741 ndr->offset = _relative_save_offset;
743 ndr->flags = _flags_save_string;
746 uint32_t _flags_save_string = ndr->flags;
747 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
748 if (r->dns_name2) {
749 uint32_t _relative_save_offset;
750 _relative_save_offset = ndr->offset;
751 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name2));
752 _mem_save_dns_name2_0 = NDR_PULL_GET_MEM_CTX(ndr);
753 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name2, 0);
754 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name2));
755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name2_0, 0);
756 if (ndr->offset > ndr->relative_highest_offset) {
757 ndr->relative_highest_offset = ndr->offset;
759 ndr->offset = _relative_save_offset;
761 ndr->flags = _flags_save_string;
764 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
765 return NDR_ERR_SUCCESS;
768 _PUBLIC_ void ndr_print_repsFromTo2OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo2OtherInfo *r)
770 ndr_print_struct(ndr, name, "repsFromTo2OtherInfo");
771 ndr->depth++;
772 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
773 ndr_print_ptr(ndr, "dns_name1", r->dns_name1);
774 ndr->depth++;
775 if (r->dns_name1) {
776 ndr_print_string(ndr, "dns_name1", r->dns_name1);
778 ndr->depth--;
779 ndr_print_uint32(ndr, "unknown1", r->unknown1);
780 ndr_print_ptr(ndr, "dns_name2", r->dns_name2);
781 ndr->depth++;
782 if (r->dns_name2) {
783 ndr_print_string(ndr, "dns_name2", r->dns_name2);
785 ndr->depth--;
786 ndr_print_hyper(ndr, "unknown2", r->unknown2);
787 ndr->depth--;
790 _PUBLIC_ size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo *r, struct smb_iconv_convenience *ic, int flags)
792 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2OtherInfo, ic);
795 _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2 *r)
798 uint32_t _flags_save_STRUCT = ndr->flags;
799 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
800 if (ndr_flags & NDR_SCALARS) {
801 NDR_CHECK(ndr_push_align(ndr, 8));
802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8));
803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
804 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success));
805 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt));
806 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
807 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info));
808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags)));
809 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags));
810 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
812 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
813 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
814 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
815 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid));
816 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
817 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
819 if (ndr_flags & NDR_BUFFERS) {
820 if (r->other_info) {
821 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
822 NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info));
823 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
826 ndr->flags = _flags_save_STRUCT;
828 return NDR_ERR_SUCCESS;
831 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2 *r)
833 uint32_t _ptr_other_info;
834 TALLOC_CTX *_mem_save_other_info_0;
836 uint32_t _flags_save_STRUCT = ndr->flags;
837 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
838 if (ndr_flags & NDR_SCALARS) {
839 NDR_CHECK(ndr_pull_align(ndr, 8));
840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize));
841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
842 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success));
843 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt));
844 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
845 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
846 if (_ptr_other_info) {
847 NDR_PULL_ALLOC(ndr, r->other_info);
848 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info));
849 } else {
850 r->other_info = NULL;
852 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length));
853 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags));
854 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
855 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
856 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
857 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
858 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
859 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid));
860 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
861 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
863 if (ndr_flags & NDR_BUFFERS) {
864 if (r->other_info) {
865 uint32_t _relative_save_offset;
866 _relative_save_offset = ndr->offset;
867 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info));
868 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
869 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
870 NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info));
871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
872 if (ndr->offset > ndr->relative_highest_offset) {
873 ndr->relative_highest_offset = ndr->offset;
875 ndr->offset = _relative_save_offset;
878 ndr->flags = _flags_save_STRUCT;
880 return NDR_ERR_SUCCESS;
883 _PUBLIC_ void ndr_print_repsFromTo2(struct ndr_print *ndr, const char *name, const struct repsFromTo2 *r)
885 ndr_print_struct(ndr, name, "repsFromTo2");
887 uint32_t _flags_save_STRUCT = ndr->flags;
888 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
889 ndr->depth++;
890 ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize);
891 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
892 ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success);
893 ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt);
894 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
895 ndr_print_ptr(ndr, "other_info", r->other_info);
896 ndr->depth++;
897 if (r->other_info) {
898 ndr_print_repsFromTo2OtherInfo(ndr, "other_info", r->other_info);
900 ndr->depth--;
901 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);
902 ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags);
903 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
904 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
905 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
906 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
907 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
908 ndr_print_GUID(ndr, "transport_guid", &r->transport_guid);
909 ndr_print_hyper(ndr, "unknown1", r->unknown1);
910 ndr->depth--;
911 ndr->flags = _flags_save_STRUCT;
915 _PUBLIC_ size_t ndr_size_repsFromTo2(const struct repsFromTo2 *r, struct smb_iconv_convenience *ic, int flags)
917 flags |= LIBNDR_PRINT_ARRAY_HEX;
918 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2, ic);
921 static enum ndr_err_code ndr_push_repsFromTo(struct ndr_push *ndr, int ndr_flags, const union repsFromTo *r)
923 if (ndr_flags & NDR_SCALARS) {
924 int level = ndr_push_get_switch_value(ndr, r);
925 NDR_CHECK(ndr_push_union_align(ndr, 8));
926 switch (level) {
927 case 1: {
928 NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1));
929 break; }
931 case 2: {
932 NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2));
933 break; }
935 default:
936 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
939 if (ndr_flags & NDR_BUFFERS) {
940 int level = ndr_push_get_switch_value(ndr, r);
941 switch (level) {
942 case 1:
943 NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1));
944 break;
946 case 2:
947 NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2));
948 break;
950 default:
951 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
954 return NDR_ERR_SUCCESS;
957 static enum ndr_err_code ndr_pull_repsFromTo(struct ndr_pull *ndr, int ndr_flags, union repsFromTo *r)
959 int level;
960 level = ndr_pull_get_switch_value(ndr, r);
961 if (ndr_flags & NDR_SCALARS) {
962 NDR_CHECK(ndr_pull_union_align(ndr, 8));
963 switch (level) {
964 case 1: {
965 NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1));
966 break; }
968 case 2: {
969 NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2));
970 break; }
972 default:
973 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
976 if (ndr_flags & NDR_BUFFERS) {
977 switch (level) {
978 case 1:
979 NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1));
980 break;
982 case 2:
983 NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2));
984 break;
986 default:
987 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
990 return NDR_ERR_SUCCESS;
993 _PUBLIC_ void ndr_print_repsFromTo(struct ndr_print *ndr, const char *name, const union repsFromTo *r)
995 int level;
996 level = ndr_print_get_switch_value(ndr, r);
997 ndr_print_union(ndr, name, level, "repsFromTo");
998 switch (level) {
999 case 1:
1000 ndr_print_repsFromTo1(ndr, "ctr1", &r->ctr1);
1001 break;
1003 case 2:
1004 ndr_print_repsFromTo2(ndr, "ctr2", &r->ctr2);
1005 break;
1007 default:
1008 ndr_print_bad_level(ndr, name, level);
1012 _PUBLIC_ enum ndr_err_code ndr_push_repsFromToBlob(struct ndr_push *ndr, int ndr_flags, const struct repsFromToBlob *r)
1014 if (ndr_flags & NDR_SCALARS) {
1015 NDR_CHECK(ndr_push_align(ndr, 8));
1016 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1018 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1019 NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_SCALARS, &r->ctr));
1020 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1022 if (ndr_flags & NDR_BUFFERS) {
1023 NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_BUFFERS, &r->ctr));
1025 return NDR_ERR_SUCCESS;
1028 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromToBlob(struct ndr_pull *ndr, int ndr_flags, struct repsFromToBlob *r)
1030 if (ndr_flags & NDR_SCALARS) {
1031 NDR_CHECK(ndr_pull_align(ndr, 8));
1032 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1033 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1034 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1035 NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_SCALARS, &r->ctr));
1036 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1038 if (ndr_flags & NDR_BUFFERS) {
1039 NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_BUFFERS, &r->ctr));
1041 return NDR_ERR_SUCCESS;
1044 _PUBLIC_ void ndr_print_repsFromToBlob(struct ndr_print *ndr, const char *name, const struct repsFromToBlob *r)
1046 ndr_print_struct(ndr, name, "repsFromToBlob");
1047 ndr->depth++;
1048 ndr_print_uint32(ndr, "version", r->version);
1049 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
1050 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1051 ndr_print_repsFromTo(ndr, "ctr", &r->ctr);
1052 ndr->depth--;
1055 static enum ndr_err_code ndr_push_partialAttributeSetCtr1(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetCtr1 *r)
1057 uint32_t cntr_array_0;
1058 if (ndr_flags & NDR_SCALARS) {
1059 NDR_CHECK(ndr_push_align(ndr, 4));
1060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1061 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
1062 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->array[cntr_array_0]));
1064 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1066 if (ndr_flags & NDR_BUFFERS) {
1068 return NDR_ERR_SUCCESS;
1071 static enum ndr_err_code ndr_pull_partialAttributeSetCtr1(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetCtr1 *r)
1073 uint32_t cntr_array_0;
1074 TALLOC_CTX *_mem_save_array_0;
1075 if (ndr_flags & NDR_SCALARS) {
1076 NDR_CHECK(ndr_pull_align(ndr, 4));
1077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1078 NDR_PULL_ALLOC_N(ndr, r->array, r->count);
1079 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
1080 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
1081 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
1082 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
1084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
1085 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1087 if (ndr_flags & NDR_BUFFERS) {
1089 return NDR_ERR_SUCCESS;
1092 _PUBLIC_ void ndr_print_partialAttributeSetCtr1(struct ndr_print *ndr, const char *name, const struct partialAttributeSetCtr1 *r)
1094 uint32_t cntr_array_0;
1095 ndr_print_struct(ndr, name, "partialAttributeSetCtr1");
1096 ndr->depth++;
1097 ndr_print_uint32(ndr, "count", r->count);
1098 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
1099 ndr->depth++;
1100 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
1101 char *idx_0=NULL;
1102 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
1103 ndr_print_drsuapi_DsAttributeId(ndr, "array", r->array[cntr_array_0]);
1104 free(idx_0);
1107 ndr->depth--;
1108 ndr->depth--;
1111 static enum ndr_err_code ndr_push_partialAttributeSetCtr(struct ndr_push *ndr, int ndr_flags, const union partialAttributeSetCtr *r)
1113 if (ndr_flags & NDR_SCALARS) {
1114 int level = ndr_push_get_switch_value(ndr, r);
1115 NDR_CHECK(ndr_push_union_align(ndr, 4));
1116 switch (level) {
1117 case 1: {
1118 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1));
1119 break; }
1121 default:
1122 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1125 if (ndr_flags & NDR_BUFFERS) {
1126 int level = ndr_push_get_switch_value(ndr, r);
1127 switch (level) {
1128 case 1:
1129 break;
1131 default:
1132 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1135 return NDR_ERR_SUCCESS;
1138 static enum ndr_err_code ndr_pull_partialAttributeSetCtr(struct ndr_pull *ndr, int ndr_flags, union partialAttributeSetCtr *r)
1140 int level;
1141 level = ndr_pull_get_switch_value(ndr, r);
1142 if (ndr_flags & NDR_SCALARS) {
1143 NDR_CHECK(ndr_pull_union_align(ndr, 4));
1144 switch (level) {
1145 case 1: {
1146 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1));
1147 break; }
1149 default:
1150 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1153 if (ndr_flags & NDR_BUFFERS) {
1154 switch (level) {
1155 case 1:
1156 break;
1158 default:
1159 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1162 return NDR_ERR_SUCCESS;
1165 _PUBLIC_ void ndr_print_partialAttributeSetCtr(struct ndr_print *ndr, const char *name, const union partialAttributeSetCtr *r)
1167 int level;
1168 level = ndr_print_get_switch_value(ndr, r);
1169 ndr_print_union(ndr, name, level, "partialAttributeSetCtr");
1170 switch (level) {
1171 case 1:
1172 ndr_print_partialAttributeSetCtr1(ndr, "ctr1", &r->ctr1);
1173 break;
1175 default:
1176 ndr_print_bad_level(ndr, name, level);
1180 _PUBLIC_ enum ndr_err_code ndr_push_partialAttributeSetBlob(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetBlob *r)
1182 if (ndr_flags & NDR_SCALARS) {
1183 NDR_CHECK(ndr_push_align(ndr, 4));
1184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1186 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1187 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr));
1188 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1190 if (ndr_flags & NDR_BUFFERS) {
1192 return NDR_ERR_SUCCESS;
1195 _PUBLIC_ enum ndr_err_code ndr_pull_partialAttributeSetBlob(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetBlob *r)
1197 if (ndr_flags & NDR_SCALARS) {
1198 NDR_CHECK(ndr_pull_align(ndr, 4));
1199 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1200 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1201 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1202 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr));
1203 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1205 if (ndr_flags & NDR_BUFFERS) {
1207 return NDR_ERR_SUCCESS;
1210 _PUBLIC_ void ndr_print_partialAttributeSetBlob(struct ndr_print *ndr, const char *name, const struct partialAttributeSetBlob *r)
1212 ndr_print_struct(ndr, name, "partialAttributeSetBlob");
1213 ndr->depth++;
1214 ndr_print_uint32(ndr, "version", r->version);
1215 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
1216 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1217 ndr_print_partialAttributeSetCtr(ndr, "ctr", &r->ctr);
1218 ndr->depth--;
1221 static enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Entry(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Entry *r)
1224 uint32_t _flags_save_STRUCT = ndr->flags;
1225 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1226 if (ndr_flags & NDR_SCALARS) {
1227 NDR_CHECK(ndr_push_align(ndr, 2));
1228 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->entryID));
1229 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1230 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1231 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
1233 if (ndr_flags & NDR_BUFFERS) {
1235 ndr->flags = _flags_save_STRUCT;
1237 return NDR_ERR_SUCCESS;
1240 static enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Entry(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Entry *r)
1243 uint32_t _flags_save_STRUCT = ndr->flags;
1244 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1245 if (ndr_flags & NDR_SCALARS) {
1246 NDR_CHECK(ndr_pull_align(ndr, 2));
1247 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->entryID));
1248 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1249 NDR_PULL_ALLOC_N(ndr, r->binary_oid, r->length);
1250 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1251 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
1253 if (ndr_flags & NDR_BUFFERS) {
1255 ndr->flags = _flags_save_STRUCT;
1257 return NDR_ERR_SUCCESS;
1260 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Ctr *r)
1262 uint32_t cntr_entries_0;
1263 if (ndr_flags & NDR_SCALARS) {
1264 NDR_CHECK(ndr_push_align(ndr, 4));
1265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_entries));
1266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->iconv_convenience, ndr->flags)));
1267 for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
1268 NDR_CHECK(ndr_push_drsuapi_MSPrefixMap_Entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
1270 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1272 if (ndr_flags & NDR_BUFFERS) {
1274 return NDR_ERR_SUCCESS;
1277 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Ctr *r)
1279 uint32_t cntr_entries_0;
1280 TALLOC_CTX *_mem_save_entries_0;
1281 if (ndr_flags & NDR_SCALARS) {
1282 NDR_CHECK(ndr_pull_align(ndr, 4));
1283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_entries));
1284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1285 NDR_PULL_ALLOC_N(ndr, r->entries, r->num_entries);
1286 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
1287 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
1288 for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
1289 NDR_CHECK(ndr_pull_drsuapi_MSPrefixMap_Entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
1291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
1292 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1294 if (ndr_flags & NDR_BUFFERS) {
1296 return NDR_ERR_SUCCESS;
1299 _PUBLIC_ void ndr_print_drsuapi_MSPrefixMap_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_MSPrefixMap_Ctr *r)
1301 uint32_t cntr_entries_0;
1302 ndr_print_struct(ndr, name, "drsuapi_MSPrefixMap_Ctr");
1303 ndr->depth++;
1304 ndr_print_uint32(ndr, "num_entries", r->num_entries);
1305 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
1306 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->num_entries);
1307 ndr->depth++;
1308 for (cntr_entries_0=0;cntr_entries_0<r->num_entries;cntr_entries_0++) {
1309 char *idx_0=NULL;
1310 if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) {
1311 ndr_print_drsuapi_MSPrefixMap_Entry(ndr, "entries", &r->entries[cntr_entries_0]);
1312 free(idx_0);
1315 ndr->depth--;
1316 ndr->depth--;
1319 _PUBLIC_ size_t ndr_size_drsuapi_MSPrefixMap_Ctr(const struct drsuapi_MSPrefixMap_Ctr *r, struct smb_iconv_convenience *ic, int flags)
1321 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_MSPrefixMap_Ctr, ic);
1324 static enum ndr_err_code ndr_push_prefixMapVersion(struct ndr_push *ndr, int ndr_flags, enum prefixMapVersion r)
1326 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1327 return NDR_ERR_SUCCESS;
1330 static enum ndr_err_code ndr_pull_prefixMapVersion(struct ndr_pull *ndr, int ndr_flags, enum prefixMapVersion *r)
1332 uint32_t v;
1333 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1334 *r = v;
1335 return NDR_ERR_SUCCESS;
1338 _PUBLIC_ void ndr_print_prefixMapVersion(struct ndr_print *ndr, const char *name, enum prefixMapVersion r)
1340 const char *val = NULL;
1342 switch (r) {
1343 case PREFIX_MAP_VERSION_DSDB: val = "PREFIX_MAP_VERSION_DSDB"; break;
1345 ndr_print_enum(ndr, name, "ENUM", val, r);
1348 static enum ndr_err_code ndr_push_prefixMapCtr(struct ndr_push *ndr, int ndr_flags, const union prefixMapCtr *r)
1350 if (ndr_flags & NDR_SCALARS) {
1351 int level = ndr_push_get_switch_value(ndr, r);
1352 NDR_CHECK(ndr_push_union_align(ndr, 5));
1353 switch (level) {
1354 case PREFIX_MAP_VERSION_DSDB: {
1355 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb));
1356 break; }
1358 default:
1359 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1362 if (ndr_flags & NDR_BUFFERS) {
1363 int level = ndr_push_get_switch_value(ndr, r);
1364 switch (level) {
1365 case PREFIX_MAP_VERSION_DSDB:
1366 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb));
1367 break;
1369 default:
1370 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1373 return NDR_ERR_SUCCESS;
1376 static enum ndr_err_code ndr_pull_prefixMapCtr(struct ndr_pull *ndr, int ndr_flags, union prefixMapCtr *r)
1378 int level;
1379 level = ndr_pull_get_switch_value(ndr, r);
1380 if (ndr_flags & NDR_SCALARS) {
1381 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1382 switch (level) {
1383 case PREFIX_MAP_VERSION_DSDB: {
1384 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb));
1385 break; }
1387 default:
1388 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1391 if (ndr_flags & NDR_BUFFERS) {
1392 switch (level) {
1393 case PREFIX_MAP_VERSION_DSDB:
1394 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb));
1395 break;
1397 default:
1398 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1401 return NDR_ERR_SUCCESS;
1404 _PUBLIC_ void ndr_print_prefixMapCtr(struct ndr_print *ndr, const char *name, const union prefixMapCtr *r)
1406 int level;
1407 level = ndr_print_get_switch_value(ndr, r);
1408 ndr_print_union(ndr, name, level, "prefixMapCtr");
1409 switch (level) {
1410 case PREFIX_MAP_VERSION_DSDB:
1411 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "dsdb", &r->dsdb);
1412 break;
1414 default:
1415 ndr_print_bad_level(ndr, name, level);
1419 _PUBLIC_ enum ndr_err_code ndr_push_prefixMapBlob(struct ndr_push *ndr, int ndr_flags, const struct prefixMapBlob *r)
1421 if (ndr_flags & NDR_SCALARS) {
1422 NDR_CHECK(ndr_push_align(ndr, 5));
1423 NDR_CHECK(ndr_push_prefixMapVersion(ndr, NDR_SCALARS, r->version));
1424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1425 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1426 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
1427 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1429 if (ndr_flags & NDR_BUFFERS) {
1430 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr));
1432 return NDR_ERR_SUCCESS;
1435 _PUBLIC_ enum ndr_err_code ndr_pull_prefixMapBlob(struct ndr_pull *ndr, int ndr_flags, struct prefixMapBlob *r)
1437 if (ndr_flags & NDR_SCALARS) {
1438 NDR_CHECK(ndr_pull_align(ndr, 5));
1439 NDR_CHECK(ndr_pull_prefixMapVersion(ndr, NDR_SCALARS, &r->version));
1440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1441 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1442 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
1443 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1445 if (ndr_flags & NDR_BUFFERS) {
1446 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr));
1448 return NDR_ERR_SUCCESS;
1451 _PUBLIC_ void ndr_print_prefixMapBlob(struct ndr_print *ndr, const char *name, const struct prefixMapBlob *r)
1453 ndr_print_struct(ndr, name, "prefixMapBlob");
1454 ndr->depth++;
1455 ndr_print_prefixMapVersion(ndr, "version", r->version);
1456 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
1457 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1458 ndr_print_prefixMapCtr(ndr, "ctr", &r->ctr);
1459 ndr->depth--;
1462 static enum ndr_err_code ndr_push_ldapControlDirSyncExtra(struct ndr_push *ndr, int ndr_flags, const union ldapControlDirSyncExtra *r)
1464 if (ndr_flags & NDR_SCALARS) {
1465 int level = ndr_push_get_switch_value(ndr, r);
1466 NDR_CHECK(ndr_push_union_align(ndr, 8));
1467 switch (level) {
1468 case 0: {
1469 break; }
1471 default: {
1472 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector));
1473 break; }
1477 if (ndr_flags & NDR_BUFFERS) {
1478 int level = ndr_push_get_switch_value(ndr, r);
1479 switch (level) {
1480 case 0:
1481 break;
1483 default:
1484 break;
1488 return NDR_ERR_SUCCESS;
1491 static enum ndr_err_code ndr_pull_ldapControlDirSyncExtra(struct ndr_pull *ndr, int ndr_flags, union ldapControlDirSyncExtra *r)
1493 int level;
1494 level = ndr_pull_get_switch_value(ndr, r);
1495 if (ndr_flags & NDR_SCALARS) {
1496 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1497 switch (level) {
1498 case 0: {
1499 break; }
1501 default: {
1502 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector));
1503 break; }
1507 if (ndr_flags & NDR_BUFFERS) {
1508 switch (level) {
1509 case 0:
1510 break;
1512 default:
1513 break;
1517 return NDR_ERR_SUCCESS;
1520 _PUBLIC_ void ndr_print_ldapControlDirSyncExtra(struct ndr_print *ndr, const char *name, const union ldapControlDirSyncExtra *r)
1522 int level;
1523 level = ndr_print_get_switch_value(ndr, r);
1524 ndr_print_union(ndr, name, level, "ldapControlDirSyncExtra");
1525 switch (level) {
1526 case 0:
1527 break;
1529 default:
1530 ndr_print_replUpToDateVectorBlob(ndr, "uptodateness_vector", &r->uptodateness_vector);
1531 break;
1536 static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
1538 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_ldapControlDirSyncExtra, ic);
1541 static enum ndr_err_code ndr_push_ldapControlDirSyncBlob(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncBlob *r)
1543 if (ndr_flags & NDR_SCALARS) {
1544 NDR_CHECK(ndr_push_align(ndr, 8));
1545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 3));
1546 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
1547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
1548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
1549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0)));
1550 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1551 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
1552 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->extra, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0)));
1553 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra));
1554 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1556 if (ndr_flags & NDR_BUFFERS) {
1557 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra));
1559 return NDR_ERR_SUCCESS;
1562 static enum ndr_err_code ndr_pull_ldapControlDirSyncBlob(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncBlob *r)
1564 if (ndr_flags & NDR_SCALARS) {
1565 NDR_CHECK(ndr_pull_align(ndr, 8));
1566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
1567 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
1568 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
1569 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
1570 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extra_length));
1571 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1572 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
1573 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->extra, r->extra_length));
1574 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra));
1575 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1577 if (ndr_flags & NDR_BUFFERS) {
1578 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra));
1580 return NDR_ERR_SUCCESS;
1583 _PUBLIC_ void ndr_print_ldapControlDirSyncBlob(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncBlob *r)
1585 ndr_print_struct(ndr, name, "ldapControlDirSyncBlob");
1586 ndr->depth++;
1587 ndr_print_uint32(ndr, "u1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->u1);
1588 ndr_print_NTTIME(ndr, "time", r->time);
1589 ndr_print_uint32(ndr, "u2", r->u2);
1590 ndr_print_uint32(ndr, "u3", r->u3);
1591 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);
1592 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1593 ndr_print_GUID(ndr, "guid1", &r->guid1);
1594 ndr_print_set_switch_value(ndr, &r->extra, r->extra_length);
1595 ndr_print_ldapControlDirSyncExtra(ndr, "extra", &r->extra);
1596 ndr->depth--;
1599 _PUBLIC_ enum ndr_err_code ndr_push_ldapControlDirSyncCookie(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncCookie *r)
1601 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
1602 if (ndr_flags & NDR_SCALARS) {
1603 NDR_CHECK(ndr_push_align(ndr, 8));
1604 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1605 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "MSDS", 4, sizeof(uint8_t), CH_DOS));
1607 struct ndr_push *_ndr_blob;
1608 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_blob, 0, -1));
1609 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob));
1610 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_blob, 0, -1));
1612 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1614 if (ndr_flags & NDR_BUFFERS) {
1615 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
1617 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
1618 return NDR_ERR_SUCCESS;
1621 _PUBLIC_ enum ndr_err_code ndr_pull_ldapControlDirSyncCookie(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncCookie *r)
1623 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
1624 if (ndr_flags & NDR_SCALARS) {
1625 NDR_CHECK(ndr_pull_align(ndr, 8));
1626 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
1627 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->msds, 4, sizeof(uint8_t), CH_DOS));
1629 struct ndr_pull *_ndr_blob;
1630 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_blob, 0, -1));
1631 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob));
1632 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_blob, 0, -1));
1634 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1636 if (ndr_flags & NDR_BUFFERS) {
1637 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
1639 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
1640 return NDR_ERR_SUCCESS;
1643 _PUBLIC_ void ndr_print_ldapControlDirSyncCookie(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncCookie *r)
1645 ndr_print_struct(ndr, name, "ldapControlDirSyncCookie");
1646 ndr->depth++;
1647 ndr_print_string(ndr, "msds", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"MSDS":r->msds);
1648 ndr_print_ldapControlDirSyncBlob(ndr, "blob", &r->blob);
1649 ndr->depth--;
1652 static enum ndr_err_code ndr_push_supplementalCredentialsPackage(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsPackage *r)
1654 if (ndr_flags & NDR_SCALARS) {
1655 NDR_CHECK(ndr_push_align(ndr, 2));
1656 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->name)));
1657 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->data)));
1658 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved));
1659 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 2 * strlen_m(r->name), sizeof(uint8_t), CH_UTF16));
1660 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data, strlen(r->data), sizeof(uint8_t), CH_DOS));
1661 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
1663 if (ndr_flags & NDR_BUFFERS) {
1665 return NDR_ERR_SUCCESS;
1668 static enum ndr_err_code ndr_pull_supplementalCredentialsPackage(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsPackage *r)
1670 if (ndr_flags & NDR_SCALARS) {
1671 NDR_CHECK(ndr_pull_align(ndr, 2));
1672 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len));
1673 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_len));
1674 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved));
1675 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, r->name_len, sizeof(uint8_t), CH_UTF16));
1676 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data, r->data_len, sizeof(uint8_t), CH_DOS));
1677 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
1679 if (ndr_flags & NDR_BUFFERS) {
1681 return NDR_ERR_SUCCESS;
1684 _PUBLIC_ void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsPackage *r)
1686 ndr_print_struct(ndr, name, "supplementalCredentialsPackage");
1687 ndr->depth++;
1688 ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->name):r->name_len);
1689 ndr_print_uint16(ndr, "data_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->data):r->data_len);
1690 ndr_print_uint16(ndr, "reserved", r->reserved);
1691 ndr_print_string(ndr, "name", r->name);
1692 ndr_print_string(ndr, "data", r->data);
1693 ndr->depth--;
1696 static enum ndr_err_code ndr_push_supplementalCredentialsSignature(struct ndr_push *ndr, int ndr_flags, enum supplementalCredentialsSignature r)
1699 uint32_t _flags_save_ENUM = ndr->flags;
1700 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1701 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1702 ndr->flags = _flags_save_ENUM;
1704 return NDR_ERR_SUCCESS;
1707 static enum ndr_err_code ndr_pull_supplementalCredentialsSignature(struct ndr_pull *ndr, int ndr_flags, enum supplementalCredentialsSignature *r)
1709 uint16_t v;
1711 uint32_t _flags_save_ENUM = ndr->flags;
1712 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1713 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1714 *r = v;
1715 ndr->flags = _flags_save_ENUM;
1717 return NDR_ERR_SUCCESS;
1720 _PUBLIC_ void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r)
1722 const char *val = NULL;
1725 uint32_t _flags_save_ENUM = ndr->flags;
1726 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1727 switch (r) {
1728 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE: val = "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1730 ndr_print_enum(ndr, name, "ENUM", val, r);
1731 ndr->flags = _flags_save_ENUM;
1735 static enum ndr_err_code ndr_push_supplementalCredentialsSubBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsSubBlob *r)
1737 uint32_t cntr_packages_0;
1738 if (ndr_flags & NDR_SCALARS) {
1739 NDR_CHECK(ndr_push_align(ndr, 3));
1740 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_PREFIX, 0x30, sizeof(uint16_t), CH_UTF16));
1741 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_SIGNATURE));
1742 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_packages));
1743 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) {
1744 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0]));
1746 NDR_CHECK(ndr_push_trailer_align(ndr, 3));
1748 if (ndr_flags & NDR_BUFFERS) {
1750 return NDR_ERR_SUCCESS;
1753 static enum ndr_err_code ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsSubBlob *r)
1755 uint32_t cntr_packages_0;
1756 TALLOC_CTX *_mem_save_packages_0;
1757 if (ndr_flags & NDR_SCALARS) {
1758 NDR_CHECK(ndr_pull_align(ndr, 3));
1759 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->prefix, 0x30, sizeof(uint16_t), CH_UTF16));
1760 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr, NDR_SCALARS, &r->signature));
1761 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_packages));
1762 NDR_PULL_ALLOC_N(ndr, r->packages, r->num_packages);
1763 _mem_save_packages_0 = NDR_PULL_GET_MEM_CTX(ndr);
1764 NDR_PULL_SET_MEM_CTX(ndr, r->packages, 0);
1765 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) {
1766 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0]));
1768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_packages_0, 0);
1769 NDR_CHECK(ndr_pull_trailer_align(ndr, 3));
1771 if (ndr_flags & NDR_BUFFERS) {
1773 return NDR_ERR_SUCCESS;
1776 _PUBLIC_ void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsSubBlob *r)
1778 uint32_t cntr_packages_0;
1779 ndr_print_struct(ndr, name, "supplementalCredentialsSubBlob");
1780 ndr->depth++;
1781 ndr_print_string(ndr, "prefix", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_PREFIX:r->prefix);
1782 ndr_print_supplementalCredentialsSignature(ndr, "signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE:r->signature);
1783 ndr_print_uint16(ndr, "num_packages", r->num_packages);
1784 ndr->print(ndr, "%s: ARRAY(%d)", "packages", (int)r->num_packages);
1785 ndr->depth++;
1786 for (cntr_packages_0=0;cntr_packages_0<r->num_packages;cntr_packages_0++) {
1787 char *idx_0=NULL;
1788 if (asprintf(&idx_0, "[%d]", cntr_packages_0) != -1) {
1789 ndr_print_supplementalCredentialsPackage(ndr, "packages", &r->packages[cntr_packages_0]);
1790 free(idx_0);
1793 ndr->depth--;
1794 ndr->depth--;
1797 static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob *r, struct smb_iconv_convenience *ic, int flags)
1799 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_supplementalCredentialsSubBlob, ic);
1802 _PUBLIC_ enum ndr_err_code ndr_push_supplementalCredentialsBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsBlob *r)
1804 if (ndr_flags & NDR_SCALARS) {
1805 NDR_CHECK(ndr_push_align(ndr, 4));
1806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1810 struct ndr_push *_ndr_sub;
1811 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1812 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub));
1813 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1815 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0));
1816 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1818 if (ndr_flags & NDR_BUFFERS) {
1820 return NDR_ERR_SUCCESS;
1823 _PUBLIC_ enum ndr_err_code ndr_pull_supplementalCredentialsBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsBlob *r)
1825 if (ndr_flags & NDR_SCALARS) {
1826 NDR_CHECK(ndr_pull_align(ndr, 4));
1827 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
1828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1829 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
1831 struct ndr_pull *_ndr_sub;
1832 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sub, 0, r->__ndr_size));
1833 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub));
1834 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sub, 0, r->__ndr_size));
1836 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown3));
1837 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1839 if (ndr_flags & NDR_BUFFERS) {
1841 return NDR_ERR_SUCCESS;
1844 _PUBLIC_ void ndr_print_supplementalCredentialsBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsBlob *r)
1846 ndr_print_struct(ndr, name, "supplementalCredentialsBlob");
1847 ndr->depth++;
1848 ndr_print_uint32(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown1);
1849 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);
1850 ndr_print_uint32(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown2);
1851 ndr_print_supplementalCredentialsSubBlob(ndr, "sub", &r->sub);
1852 ndr_print_uint8(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3);
1853 ndr->depth--;
1856 _PUBLIC_ enum ndr_err_code ndr_push_package_PackagesBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PackagesBlob *r)
1858 if (ndr_flags & NDR_SCALARS) {
1859 NDR_CHECK(ndr_push_align(ndr, 4));
1861 uint32_t _flags_save_string_array = ndr->flags;
1862 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1863 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->names));
1864 ndr->flags = _flags_save_string_array;
1866 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1868 if (ndr_flags & NDR_BUFFERS) {
1870 return NDR_ERR_SUCCESS;
1873 _PUBLIC_ enum ndr_err_code ndr_pull_package_PackagesBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PackagesBlob *r)
1875 if (ndr_flags & NDR_SCALARS) {
1876 NDR_CHECK(ndr_pull_align(ndr, 4));
1878 uint32_t _flags_save_string_array = ndr->flags;
1879 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1880 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->names));
1881 ndr->flags = _flags_save_string_array;
1883 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1885 if (ndr_flags & NDR_BUFFERS) {
1887 return NDR_ERR_SUCCESS;
1890 _PUBLIC_ void ndr_print_package_PackagesBlob(struct ndr_print *ndr, const char *name, const struct package_PackagesBlob *r)
1892 ndr_print_struct(ndr, name, "package_PackagesBlob");
1893 ndr->depth++;
1894 ndr_print_string_array(ndr, "names", r->names);
1895 ndr->depth--;
1898 static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosString *r)
1900 if (ndr_flags & NDR_SCALARS) {
1901 NDR_CHECK(ndr_push_align(ndr, 5));
1902 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
1903 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
1905 uint32_t _flags_save_string = ndr->flags;
1906 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1907 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->string));
1908 ndr->flags = _flags_save_string;
1910 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1912 if (ndr_flags & NDR_BUFFERS) {
1914 uint32_t _flags_save_string = ndr->flags;
1915 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1916 if (r->string) {
1917 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string));
1919 struct ndr_push *_ndr_string;
1920 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string)));
1921 NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string));
1922 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string)));
1924 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string));
1926 ndr->flags = _flags_save_string;
1929 return NDR_ERR_SUCCESS;
1932 static enum ndr_err_code ndr_pull_package_PrimaryKerberosString(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosString *r)
1934 uint32_t _ptr_string;
1935 TALLOC_CTX *_mem_save_string_0;
1936 if (ndr_flags & NDR_SCALARS) {
1937 NDR_CHECK(ndr_pull_align(ndr, 5));
1938 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1939 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1941 uint32_t _flags_save_string = ndr->flags;
1942 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1943 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
1944 if (_ptr_string) {
1945 NDR_PULL_ALLOC(ndr, r->string);
1946 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->string, _ptr_string));
1947 } else {
1948 r->string = NULL;
1950 ndr->flags = _flags_save_string;
1952 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1954 if (ndr_flags & NDR_BUFFERS) {
1956 uint32_t _flags_save_string = ndr->flags;
1957 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1958 if (r->string) {
1959 uint32_t _relative_save_offset;
1960 _relative_save_offset = ndr->offset;
1961 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->string));
1962 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
1963 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
1965 struct ndr_pull *_ndr_string;
1966 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_string, 0, r->size));
1967 NDR_CHECK(ndr_pull_string(_ndr_string, NDR_SCALARS, &r->string));
1968 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_string, 0, r->size));
1970 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
1971 if (ndr->offset > ndr->relative_highest_offset) {
1972 ndr->relative_highest_offset = ndr->offset;
1974 ndr->offset = _relative_save_offset;
1976 ndr->flags = _flags_save_string;
1979 return NDR_ERR_SUCCESS;
1982 _PUBLIC_ void ndr_print_package_PrimaryKerberosString(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosString *r)
1984 ndr_print_struct(ndr, name, "package_PrimaryKerberosString");
1985 ndr->depth++;
1986 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length);
1987 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size);
1988 ndr_print_ptr(ndr, "string", r->string);
1989 ndr->depth++;
1990 if (r->string) {
1991 ndr_print_string(ndr, "string", r->string);
1993 ndr->depth--;
1994 ndr->depth--;
1997 static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey3 *r)
1999 if (ndr_flags & NDR_SCALARS) {
2000 NDR_CHECK(ndr_push_align(ndr, 5));
2001 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2002 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
2005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
2007 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2008 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2009 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value));
2010 ndr->flags = _flags_save_DATA_BLOB;
2012 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2014 if (ndr_flags & NDR_BUFFERS) {
2016 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2017 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2018 if (r->value) {
2019 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
2021 struct ndr_push *_ndr_value;
2022 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
2023 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
2024 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
2026 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
2028 ndr->flags = _flags_save_DATA_BLOB;
2031 return NDR_ERR_SUCCESS;
2034 static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey3 *r)
2036 uint32_t _ptr_value;
2037 TALLOC_CTX *_mem_save_value_0;
2038 if (ndr_flags & NDR_SCALARS) {
2039 NDR_CHECK(ndr_pull_align(ndr, 5));
2040 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
2041 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
2042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
2043 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
2044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
2046 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2047 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2048 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
2049 if (_ptr_value) {
2050 NDR_PULL_ALLOC(ndr, r->value);
2051 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value));
2052 } else {
2053 r->value = NULL;
2055 ndr->flags = _flags_save_DATA_BLOB;
2057 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2059 if (ndr_flags & NDR_BUFFERS) {
2061 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2062 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2063 if (r->value) {
2064 uint32_t _relative_save_offset;
2065 _relative_save_offset = ndr->offset;
2066 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value));
2067 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
2068 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0);
2070 struct ndr_pull *_ndr_value;
2071 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len));
2072 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value));
2073 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
2075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
2076 if (ndr->offset > ndr->relative_highest_offset) {
2077 ndr->relative_highest_offset = ndr->offset;
2079 ndr->offset = _relative_save_offset;
2081 ndr->flags = _flags_save_DATA_BLOB;
2084 return NDR_ERR_SUCCESS;
2087 _PUBLIC_ void ndr_print_package_PrimaryKerberosKey3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey3 *r)
2089 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey3");
2090 ndr->depth++;
2091 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2092 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2093 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
2094 ndr_print_uint32(ndr, "keytype", r->keytype);
2095 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
2096 ndr_print_ptr(ndr, "value", r->value);
2097 ndr->depth++;
2098 if (r->value) {
2099 ndr_print_DATA_BLOB(ndr, "value", *r->value);
2101 ndr->depth--;
2102 ndr->depth--;
2105 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr3 *r)
2107 uint32_t cntr_keys_0;
2108 uint32_t cntr_old_keys_0;
2109 if (ndr_flags & NDR_SCALARS) {
2110 NDR_CHECK(ndr_push_align(ndr, 5));
2111 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
2112 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
2113 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2114 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2115 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2117 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2118 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2125 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2127 if (ndr_flags & NDR_BUFFERS) {
2128 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2129 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2130 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2132 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2133 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2136 return NDR_ERR_SUCCESS;
2139 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr3 *r)
2141 uint32_t cntr_keys_0;
2142 TALLOC_CTX *_mem_save_keys_0;
2143 uint32_t cntr_old_keys_0;
2144 TALLOC_CTX *_mem_save_old_keys_0;
2145 if (ndr_flags & NDR_SCALARS) {
2146 NDR_CHECK(ndr_pull_align(ndr, 5));
2147 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
2148 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
2149 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2150 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys);
2151 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2152 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2153 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2154 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2157 NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys);
2158 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2159 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2160 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2161 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2164 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding1));
2165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding2));
2166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding3));
2167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding4));
2168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding5));
2169 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2171 if (ndr_flags & NDR_BUFFERS) {
2172 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2173 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2174 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2175 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2176 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2179 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2180 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2181 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2182 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2184 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2186 return NDR_ERR_SUCCESS;
2189 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr3 *r)
2191 uint32_t cntr_keys_0;
2192 uint32_t cntr_old_keys_0;
2193 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr3");
2194 ndr->depth++;
2195 ndr_print_uint16(ndr, "num_keys", r->num_keys);
2196 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys);
2197 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt);
2198 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys);
2199 ndr->depth++;
2200 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
2201 char *idx_0=NULL;
2202 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
2203 ndr_print_package_PrimaryKerberosKey3(ndr, "keys", &r->keys[cntr_keys_0]);
2204 free(idx_0);
2207 ndr->depth--;
2208 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys);
2209 ndr->depth++;
2210 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
2211 char *idx_0=NULL;
2212 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
2213 ndr_print_package_PrimaryKerberosKey3(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
2214 free(idx_0);
2217 ndr->depth--;
2218 ndr_print_uint32(ndr, "padding1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding1);
2219 ndr_print_uint32(ndr, "padding2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding2);
2220 ndr_print_uint32(ndr, "padding3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding3);
2221 ndr_print_uint32(ndr, "padding4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding4);
2222 ndr_print_uint32(ndr, "padding5", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding5);
2223 ndr->depth--;
2226 static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey4 *r)
2228 if (ndr_flags & NDR_SCALARS) {
2229 NDR_CHECK(ndr_push_align(ndr, 5));
2230 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2231 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iteration_count));
2234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
2235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
2237 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2238 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2239 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value));
2240 ndr->flags = _flags_save_DATA_BLOB;
2242 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2244 if (ndr_flags & NDR_BUFFERS) {
2246 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2247 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2248 if (r->value) {
2249 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
2251 struct ndr_push *_ndr_value;
2252 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
2253 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
2254 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
2256 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
2258 ndr->flags = _flags_save_DATA_BLOB;
2261 return NDR_ERR_SUCCESS;
2264 static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey4 *r)
2266 uint32_t _ptr_value;
2267 TALLOC_CTX *_mem_save_value_0;
2268 if (ndr_flags & NDR_SCALARS) {
2269 NDR_CHECK(ndr_pull_align(ndr, 5));
2270 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
2271 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
2272 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
2273 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iteration_count));
2274 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
2275 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
2277 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2278 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2279 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
2280 if (_ptr_value) {
2281 NDR_PULL_ALLOC(ndr, r->value);
2282 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value));
2283 } else {
2284 r->value = NULL;
2286 ndr->flags = _flags_save_DATA_BLOB;
2288 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2290 if (ndr_flags & NDR_BUFFERS) {
2292 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2293 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2294 if (r->value) {
2295 uint32_t _relative_save_offset;
2296 _relative_save_offset = ndr->offset;
2297 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value));
2298 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
2299 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0);
2301 struct ndr_pull *_ndr_value;
2302 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len));
2303 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value));
2304 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
2306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
2307 if (ndr->offset > ndr->relative_highest_offset) {
2308 ndr->relative_highest_offset = ndr->offset;
2310 ndr->offset = _relative_save_offset;
2312 ndr->flags = _flags_save_DATA_BLOB;
2315 return NDR_ERR_SUCCESS;
2318 _PUBLIC_ void ndr_print_package_PrimaryKerberosKey4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey4 *r)
2320 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey4");
2321 ndr->depth++;
2322 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2323 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2324 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
2325 ndr_print_uint32(ndr, "iteration_count", r->iteration_count);
2326 ndr_print_uint32(ndr, "keytype", r->keytype);
2327 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
2328 ndr_print_ptr(ndr, "value", r->value);
2329 ndr->depth++;
2330 if (r->value) {
2331 ndr_print_DATA_BLOB(ndr, "value", *r->value);
2333 ndr->depth--;
2334 ndr->depth--;
2337 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr4 *r)
2339 uint32_t cntr_keys_0;
2340 uint32_t cntr_old_keys_0;
2341 uint32_t cntr_older_keys_0;
2342 if (ndr_flags & NDR_SCALARS) {
2343 NDR_CHECK(ndr_push_align(ndr, 5));
2344 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
2345 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2346 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
2347 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_older_keys));
2348 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->default_iteration_count));
2350 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2351 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2353 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2354 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2356 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2357 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
2359 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2361 if (ndr_flags & NDR_BUFFERS) {
2362 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2363 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2364 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2366 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2367 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2369 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2370 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
2373 return NDR_ERR_SUCCESS;
2376 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr4 *r)
2378 uint32_t cntr_keys_0;
2379 TALLOC_CTX *_mem_save_keys_0;
2380 uint32_t cntr_service_keys_0;
2381 TALLOC_CTX *_mem_save_service_keys_0;
2382 uint32_t cntr_old_keys_0;
2383 TALLOC_CTX *_mem_save_old_keys_0;
2384 uint32_t cntr_older_keys_0;
2385 TALLOC_CTX *_mem_save_older_keys_0;
2386 if (ndr_flags & NDR_SCALARS) {
2387 NDR_CHECK(ndr_pull_align(ndr, 5));
2388 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
2389 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_service_keys));
2390 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
2391 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_older_keys));
2392 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2393 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->default_iteration_count));
2394 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys);
2395 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2396 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2397 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2398 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2401 NDR_PULL_ALLOC_N(ndr, r->service_keys, r->num_service_keys);
2402 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2403 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
2404 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) {
2405 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->service_keys[cntr_service_keys_0]));
2407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
2408 NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys);
2409 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2410 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2411 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2412 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2414 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2415 NDR_PULL_ALLOC_N(ndr, r->older_keys, r->num_older_keys);
2416 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2417 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0);
2418 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2419 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
2421 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0);
2422 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2424 if (ndr_flags & NDR_BUFFERS) {
2425 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2426 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2427 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2428 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2429 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2432 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2433 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
2434 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) {
2435 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->service_keys[cntr_service_keys_0]));
2437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
2438 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2439 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2440 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2441 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2444 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2445 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0);
2446 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2447 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
2449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0);
2451 return NDR_ERR_SUCCESS;
2454 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr4 *r)
2456 uint32_t cntr_keys_0;
2457 uint32_t cntr_service_keys_0;
2458 uint32_t cntr_old_keys_0;
2459 uint32_t cntr_older_keys_0;
2460 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr4");
2461 ndr->depth++;
2462 ndr_print_uint16(ndr, "num_keys", r->num_keys);
2463 ndr_print_uint16(ndr, "num_service_keys", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->num_service_keys);
2464 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys);
2465 ndr_print_uint16(ndr, "num_older_keys", r->num_older_keys);
2466 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt);
2467 ndr_print_uint32(ndr, "default_iteration_count", r->default_iteration_count);
2468 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys);
2469 ndr->depth++;
2470 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
2471 char *idx_0=NULL;
2472 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
2473 ndr_print_package_PrimaryKerberosKey4(ndr, "keys", &r->keys[cntr_keys_0]);
2474 free(idx_0);
2477 ndr->depth--;
2478 ndr->print(ndr, "%s: ARRAY(%d)", "service_keys", (int)r->num_service_keys);
2479 ndr->depth++;
2480 for (cntr_service_keys_0=0;cntr_service_keys_0<r->num_service_keys;cntr_service_keys_0++) {
2481 char *idx_0=NULL;
2482 if (asprintf(&idx_0, "[%d]", cntr_service_keys_0) != -1) {
2483 ndr_print_package_PrimaryKerberosKey4(ndr, "service_keys", &r->service_keys[cntr_service_keys_0]);
2484 free(idx_0);
2487 ndr->depth--;
2488 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys);
2489 ndr->depth++;
2490 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
2491 char *idx_0=NULL;
2492 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
2493 ndr_print_package_PrimaryKerberosKey4(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
2494 free(idx_0);
2497 ndr->depth--;
2498 ndr->print(ndr, "%s: ARRAY(%d)", "older_keys", (int)r->num_older_keys);
2499 ndr->depth++;
2500 for (cntr_older_keys_0=0;cntr_older_keys_0<r->num_older_keys;cntr_older_keys_0++) {
2501 char *idx_0=NULL;
2502 if (asprintf(&idx_0, "[%d]", cntr_older_keys_0) != -1) {
2503 ndr_print_package_PrimaryKerberosKey4(ndr, "older_keys", &r->older_keys[cntr_older_keys_0]);
2504 free(idx_0);
2507 ndr->depth--;
2508 ndr->depth--;
2511 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr(struct ndr_push *ndr, int ndr_flags, const union package_PrimaryKerberosCtr *r)
2513 if (ndr_flags & NDR_SCALARS) {
2514 int level = ndr_push_get_switch_value(ndr, r);
2515 NDR_CHECK(ndr_push_union_align(ndr, 5));
2516 switch (level) {
2517 case 3: {
2518 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
2519 break; }
2521 case 4: {
2522 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4));
2523 break; }
2525 default:
2526 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2529 if (ndr_flags & NDR_BUFFERS) {
2530 int level = ndr_push_get_switch_value(ndr, r);
2531 switch (level) {
2532 case 3:
2533 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
2534 break;
2536 case 4:
2537 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4));
2538 break;
2540 default:
2541 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2544 return NDR_ERR_SUCCESS;
2547 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull *ndr, int ndr_flags, union package_PrimaryKerberosCtr *r)
2549 int level;
2550 level = ndr_pull_get_switch_value(ndr, r);
2551 if (ndr_flags & NDR_SCALARS) {
2552 NDR_CHECK(ndr_pull_union_align(ndr, 5));
2553 switch (level) {
2554 case 3: {
2555 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
2556 break; }
2558 case 4: {
2559 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4));
2560 break; }
2562 default:
2563 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2566 if (ndr_flags & NDR_BUFFERS) {
2567 switch (level) {
2568 case 3:
2569 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
2570 break;
2572 case 4:
2573 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4));
2574 break;
2576 default:
2577 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2580 return NDR_ERR_SUCCESS;
2583 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr(struct ndr_print *ndr, const char *name, const union package_PrimaryKerberosCtr *r)
2585 int level;
2586 level = ndr_print_get_switch_value(ndr, r);
2587 ndr_print_union(ndr, name, level, "package_PrimaryKerberosCtr");
2588 switch (level) {
2589 case 3:
2590 ndr_print_package_PrimaryKerberosCtr3(ndr, "ctr3", &r->ctr3);
2591 break;
2593 case 4:
2594 ndr_print_package_PrimaryKerberosCtr4(ndr, "ctr4", &r->ctr4);
2595 break;
2597 default:
2598 ndr_print_bad_level(ndr, name, level);
2602 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryKerberosBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosBlob *r)
2604 if (ndr_flags & NDR_SCALARS) {
2605 NDR_CHECK(ndr_push_align(ndr, 5));
2606 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version));
2607 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2608 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
2609 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
2610 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2612 if (ndr_flags & NDR_BUFFERS) {
2613 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
2615 return NDR_ERR_SUCCESS;
2618 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosBlob *r)
2620 if (ndr_flags & NDR_SCALARS) {
2621 NDR_CHECK(ndr_pull_align(ndr, 5));
2622 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version));
2623 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
2624 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
2625 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
2626 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2628 if (ndr_flags & NDR_BUFFERS) {
2629 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
2631 return NDR_ERR_SUCCESS;
2634 _PUBLIC_ void ndr_print_package_PrimaryKerberosBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosBlob *r)
2636 ndr_print_struct(ndr, name, "package_PrimaryKerberosBlob");
2637 ndr->depth++;
2638 ndr_print_uint16(ndr, "version", r->version);
2639 ndr_print_uint16(ndr, "flags", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags);
2640 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
2641 ndr_print_package_PrimaryKerberosCtr(ndr, "ctr", &r->ctr);
2642 ndr->depth--;
2645 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryCLEARTEXTBlob *r)
2647 if (ndr_flags & NDR_SCALARS) {
2648 NDR_CHECK(ndr_push_align(ndr, 4));
2650 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2651 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2652 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->cleartext));
2653 ndr->flags = _flags_save_DATA_BLOB;
2655 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2657 if (ndr_flags & NDR_BUFFERS) {
2659 return NDR_ERR_SUCCESS;
2662 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryCLEARTEXTBlob *r)
2664 if (ndr_flags & NDR_SCALARS) {
2665 NDR_CHECK(ndr_pull_align(ndr, 4));
2667 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2668 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2669 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->cleartext));
2670 ndr->flags = _flags_save_DATA_BLOB;
2672 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2674 if (ndr_flags & NDR_BUFFERS) {
2676 return NDR_ERR_SUCCESS;
2679 _PUBLIC_ void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryCLEARTEXTBlob *r)
2681 ndr_print_struct(ndr, name, "package_PrimaryCLEARTEXTBlob");
2682 ndr->depth++;
2683 ndr_print_DATA_BLOB(ndr, "cleartext", r->cleartext);
2684 ndr->depth--;
2687 static enum ndr_err_code ndr_push_package_PrimaryWDigestHash(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestHash *r)
2690 uint32_t _flags_save_STRUCT = ndr->flags;
2691 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2692 if (ndr_flags & NDR_SCALARS) {
2693 NDR_CHECK(ndr_push_align(ndr, 1));
2694 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2695 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2697 if (ndr_flags & NDR_BUFFERS) {
2699 ndr->flags = _flags_save_STRUCT;
2701 return NDR_ERR_SUCCESS;
2704 static enum ndr_err_code ndr_pull_package_PrimaryWDigestHash(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestHash *r)
2707 uint32_t _flags_save_STRUCT = ndr->flags;
2708 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2709 if (ndr_flags & NDR_SCALARS) {
2710 NDR_CHECK(ndr_pull_align(ndr, 1));
2711 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2712 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2714 if (ndr_flags & NDR_BUFFERS) {
2716 ndr->flags = _flags_save_STRUCT;
2718 return NDR_ERR_SUCCESS;
2721 _PUBLIC_ void ndr_print_package_PrimaryWDigestHash(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestHash *r)
2723 ndr_print_struct(ndr, name, "package_PrimaryWDigestHash");
2725 uint32_t _flags_save_STRUCT = ndr->flags;
2726 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2727 ndr->depth++;
2728 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2729 ndr->depth--;
2730 ndr->flags = _flags_save_STRUCT;
2734 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryWDigestBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestBlob *r)
2736 uint32_t cntr_hashes_0;
2737 if (ndr_flags & NDR_SCALARS) {
2738 NDR_CHECK(ndr_push_align(ndr, 4));
2739 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0x31));
2740 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0x01));
2741 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_hashes));
2742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2743 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, 0));
2744 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) {
2745 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0]));
2747 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2749 if (ndr_flags & NDR_BUFFERS) {
2751 return NDR_ERR_SUCCESS;
2754 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestBlob *r)
2756 uint32_t cntr_hashes_0;
2757 TALLOC_CTX *_mem_save_hashes_0;
2758 if (ndr_flags & NDR_SCALARS) {
2759 NDR_CHECK(ndr_pull_align(ndr, 4));
2760 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown1));
2761 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown2));
2762 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_hashes));
2763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2764 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->uuknown4));
2765 NDR_PULL_ALLOC_N(ndr, r->hashes, r->num_hashes);
2766 _mem_save_hashes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2767 NDR_PULL_SET_MEM_CTX(ndr, r->hashes, 0);
2768 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) {
2769 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0]));
2771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hashes_0, 0);
2772 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2774 if (ndr_flags & NDR_BUFFERS) {
2776 return NDR_ERR_SUCCESS;
2779 _PUBLIC_ void ndr_print_package_PrimaryWDigestBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestBlob *r)
2781 uint32_t cntr_hashes_0;
2782 ndr_print_struct(ndr, name, "package_PrimaryWDigestBlob");
2783 ndr->depth++;
2784 ndr_print_uint16(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x31:r->unknown1);
2785 ndr_print_uint8(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x01:r->unknown2);
2786 ndr_print_uint8(ndr, "num_hashes", r->num_hashes);
2787 ndr_print_uint32(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3);
2788 ndr_print_udlong(ndr, "uuknown4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->uuknown4);
2789 ndr->print(ndr, "%s: ARRAY(%d)", "hashes", (int)r->num_hashes);
2790 ndr->depth++;
2791 for (cntr_hashes_0=0;cntr_hashes_0<r->num_hashes;cntr_hashes_0++) {
2792 char *idx_0=NULL;
2793 if (asprintf(&idx_0, "[%d]", cntr_hashes_0) != -1) {
2794 ndr_print_package_PrimaryWDigestHash(ndr, "hashes", &r->hashes[cntr_hashes_0]);
2795 free(idx_0);
2798 ndr->depth--;
2799 ndr->depth--;
2802 static enum ndr_err_code ndr_push_AuthInfoNone(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNone *r)
2804 if (ndr_flags & NDR_SCALARS) {
2805 NDR_CHECK(ndr_push_align(ndr, 4));
2806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2807 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2809 if (ndr_flags & NDR_BUFFERS) {
2811 return NDR_ERR_SUCCESS;
2814 static enum ndr_err_code ndr_pull_AuthInfoNone(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNone *r)
2816 if (ndr_flags & NDR_SCALARS) {
2817 NDR_CHECK(ndr_pull_align(ndr, 4));
2818 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2819 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2821 if (ndr_flags & NDR_BUFFERS) {
2823 return NDR_ERR_SUCCESS;
2826 _PUBLIC_ void ndr_print_AuthInfoNone(struct ndr_print *ndr, const char *name, const struct AuthInfoNone *r)
2828 ndr_print_struct(ndr, name, "AuthInfoNone");
2829 ndr->depth++;
2830 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->size);
2831 ndr->depth--;
2834 static enum ndr_err_code ndr_push_AuthInfoNT4Owf(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNT4Owf *r)
2836 if (ndr_flags & NDR_SCALARS) {
2837 NDR_CHECK(ndr_push_align(ndr, 4));
2838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 16));
2839 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->password));
2840 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2842 if (ndr_flags & NDR_BUFFERS) {
2844 return NDR_ERR_SUCCESS;
2847 static enum ndr_err_code ndr_pull_AuthInfoNT4Owf(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNT4Owf *r)
2849 if (ndr_flags & NDR_SCALARS) {
2850 NDR_CHECK(ndr_pull_align(ndr, 4));
2851 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2852 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->password));
2853 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2855 if (ndr_flags & NDR_BUFFERS) {
2857 return NDR_ERR_SUCCESS;
2860 _PUBLIC_ void ndr_print_AuthInfoNT4Owf(struct ndr_print *ndr, const char *name, const struct AuthInfoNT4Owf *r)
2862 ndr_print_struct(ndr, name, "AuthInfoNT4Owf");
2863 ndr->depth++;
2864 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?16:r->size);
2865 ndr_print_samr_Password(ndr, "password", &r->password);
2866 ndr->depth--;
2869 static enum ndr_err_code ndr_push_AuthInfoClear(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoClear *r)
2871 if (ndr_flags & NDR_SCALARS) {
2872 NDR_CHECK(ndr_push_align(ndr, 4));
2873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2874 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, r->size));
2875 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2877 if (ndr_flags & NDR_BUFFERS) {
2879 return NDR_ERR_SUCCESS;
2882 static enum ndr_err_code ndr_pull_AuthInfoClear(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoClear *r)
2884 if (ndr_flags & NDR_SCALARS) {
2885 NDR_CHECK(ndr_pull_align(ndr, 4));
2886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2887 NDR_PULL_ALLOC_N(ndr, r->password, r->size);
2888 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, r->size));
2889 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2891 if (ndr_flags & NDR_BUFFERS) {
2893 return NDR_ERR_SUCCESS;
2896 _PUBLIC_ void ndr_print_AuthInfoClear(struct ndr_print *ndr, const char *name, const struct AuthInfoClear *r)
2898 ndr_print_struct(ndr, name, "AuthInfoClear");
2899 ndr->depth++;
2900 ndr_print_uint32(ndr, "size", r->size);
2901 ndr_print_array_uint8(ndr, "password", r->password, r->size);
2902 ndr->depth--;
2905 static enum ndr_err_code ndr_push_AuthInfoVersion(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoVersion *r)
2907 if (ndr_flags & NDR_SCALARS) {
2908 NDR_CHECK(ndr_push_align(ndr, 4));
2909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 4));
2910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2911 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2913 if (ndr_flags & NDR_BUFFERS) {
2915 return NDR_ERR_SUCCESS;
2918 static enum ndr_err_code ndr_pull_AuthInfoVersion(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoVersion *r)
2920 if (ndr_flags & NDR_SCALARS) {
2921 NDR_CHECK(ndr_pull_align(ndr, 4));
2922 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2923 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2924 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2926 if (ndr_flags & NDR_BUFFERS) {
2928 return NDR_ERR_SUCCESS;
2931 _PUBLIC_ void ndr_print_AuthInfoVersion(struct ndr_print *ndr, const char *name, const struct AuthInfoVersion *r)
2933 ndr_print_struct(ndr, name, "AuthInfoVersion");
2934 ndr->depth++;
2935 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?4:r->size);
2936 ndr_print_uint32(ndr, "version", r->version);
2937 ndr->depth--;
2940 static enum ndr_err_code ndr_push_AuthInfo(struct ndr_push *ndr, int ndr_flags, const union AuthInfo *r)
2942 if (ndr_flags & NDR_SCALARS) {
2943 int level = ndr_push_get_switch_value(ndr, r);
2944 NDR_CHECK(ndr_push_union_align(ndr, 4));
2945 switch (level) {
2946 case TRUST_AUTH_TYPE_NONE: {
2947 NDR_CHECK(ndr_push_AuthInfoNone(ndr, NDR_SCALARS, &r->none));
2948 break; }
2950 case TRUST_AUTH_TYPE_NT4OWF: {
2951 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf));
2952 break; }
2954 case TRUST_AUTH_TYPE_CLEAR: {
2955 NDR_CHECK(ndr_push_AuthInfoClear(ndr, NDR_SCALARS, &r->clear));
2956 break; }
2958 case TRUST_AUTH_TYPE_VERSION: {
2959 NDR_CHECK(ndr_push_AuthInfoVersion(ndr, NDR_SCALARS, &r->version));
2960 break; }
2962 default:
2963 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2966 if (ndr_flags & NDR_BUFFERS) {
2967 int level = ndr_push_get_switch_value(ndr, r);
2968 switch (level) {
2969 case TRUST_AUTH_TYPE_NONE:
2970 break;
2972 case TRUST_AUTH_TYPE_NT4OWF:
2973 break;
2975 case TRUST_AUTH_TYPE_CLEAR:
2976 break;
2978 case TRUST_AUTH_TYPE_VERSION:
2979 break;
2981 default:
2982 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2985 return NDR_ERR_SUCCESS;
2988 static enum ndr_err_code ndr_pull_AuthInfo(struct ndr_pull *ndr, int ndr_flags, union AuthInfo *r)
2990 int level;
2991 level = ndr_pull_get_switch_value(ndr, r);
2992 if (ndr_flags & NDR_SCALARS) {
2993 NDR_CHECK(ndr_pull_union_align(ndr, 4));
2994 switch (level) {
2995 case TRUST_AUTH_TYPE_NONE: {
2996 NDR_CHECK(ndr_pull_AuthInfoNone(ndr, NDR_SCALARS, &r->none));
2997 break; }
2999 case TRUST_AUTH_TYPE_NT4OWF: {
3000 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf));
3001 break; }
3003 case TRUST_AUTH_TYPE_CLEAR: {
3004 NDR_CHECK(ndr_pull_AuthInfoClear(ndr, NDR_SCALARS, &r->clear));
3005 break; }
3007 case TRUST_AUTH_TYPE_VERSION: {
3008 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr, NDR_SCALARS, &r->version));
3009 break; }
3011 default:
3012 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3015 if (ndr_flags & NDR_BUFFERS) {
3016 switch (level) {
3017 case TRUST_AUTH_TYPE_NONE:
3018 break;
3020 case TRUST_AUTH_TYPE_NT4OWF:
3021 break;
3023 case TRUST_AUTH_TYPE_CLEAR:
3024 break;
3026 case TRUST_AUTH_TYPE_VERSION:
3027 break;
3029 default:
3030 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3033 return NDR_ERR_SUCCESS;
3036 _PUBLIC_ void ndr_print_AuthInfo(struct ndr_print *ndr, const char *name, const union AuthInfo *r)
3038 int level;
3039 level = ndr_print_get_switch_value(ndr, r);
3040 ndr_print_union(ndr, name, level, "AuthInfo");
3041 switch (level) {
3042 case TRUST_AUTH_TYPE_NONE:
3043 ndr_print_AuthInfoNone(ndr, "none", &r->none);
3044 break;
3046 case TRUST_AUTH_TYPE_NT4OWF:
3047 ndr_print_AuthInfoNT4Owf(ndr, "nt4owf", &r->nt4owf);
3048 break;
3050 case TRUST_AUTH_TYPE_CLEAR:
3051 ndr_print_AuthInfoClear(ndr, "clear", &r->clear);
3052 break;
3054 case TRUST_AUTH_TYPE_VERSION:
3055 ndr_print_AuthInfoVersion(ndr, "version", &r->version);
3056 break;
3058 default:
3059 ndr_print_bad_level(ndr, name, level);
3063 _PUBLIC_ enum ndr_err_code ndr_push_AuthenticationInformation(struct ndr_push *ndr, int ndr_flags, const struct AuthenticationInformation *r)
3065 if (ndr_flags & NDR_SCALARS) {
3066 NDR_CHECK(ndr_push_align(ndr, 4));
3067 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->LastUpdateTime));
3068 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType));
3069 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->AuthInfo, r->AuthType));
3070 NDR_CHECK(ndr_push_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo));
3072 uint32_t _flags_save_DATA_BLOB = ndr->flags;
3073 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3074 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
3075 ndr->flags = _flags_save_DATA_BLOB;
3077 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3079 if (ndr_flags & NDR_BUFFERS) {
3081 return NDR_ERR_SUCCESS;
3084 _PUBLIC_ enum ndr_err_code ndr_pull_AuthenticationInformation(struct ndr_pull *ndr, int ndr_flags, struct AuthenticationInformation *r)
3086 if (ndr_flags & NDR_SCALARS) {
3087 NDR_CHECK(ndr_pull_align(ndr, 4));
3088 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->LastUpdateTime));
3089 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType));
3090 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->AuthInfo, r->AuthType));
3091 NDR_CHECK(ndr_pull_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo));
3093 uint32_t _flags_save_DATA_BLOB = ndr->flags;
3094 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3095 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
3096 ndr->flags = _flags_save_DATA_BLOB;
3098 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3100 if (ndr_flags & NDR_BUFFERS) {
3102 return NDR_ERR_SUCCESS;
3105 _PUBLIC_ void ndr_print_AuthenticationInformation(struct ndr_print *ndr, const char *name, const struct AuthenticationInformation *r)
3107 ndr_print_struct(ndr, name, "AuthenticationInformation");
3108 ndr->depth++;
3109 ndr_print_NTTIME(ndr, "LastUpdateTime", r->LastUpdateTime);
3110 ndr_print_lsa_TrustAuthType(ndr, "AuthType", r->AuthType);
3111 ndr_print_set_switch_value(ndr, &r->AuthInfo, r->AuthType);
3112 ndr_print_AuthInfo(ndr, "AuthInfo", &r->AuthInfo);
3113 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
3114 ndr->depth--;
3117 _PUBLIC_ size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob *r, struct smb_iconv_convenience *ic, int flags)
3119 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustAuthInOutBlob, ic);
3122 _PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustCurrentPasswords *r)
3124 uint32_t cntr_current_0;
3125 if (ndr_flags & NDR_SCALARS) {
3126 NDR_CHECK(ndr_push_align(ndr, 5));
3127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3128 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3129 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->current[cntr_current_0]));
3131 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3133 if (ndr_flags & NDR_BUFFERS) {
3134 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3135 if (r->current[cntr_current_0]) {
3136 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0]));
3137 NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
3138 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0]));
3142 return NDR_ERR_SUCCESS;
3145 _PUBLIC_ enum ndr_err_code ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr, int ndr_flags, struct trustCurrentPasswords *r)
3147 uint32_t _ptr_current;
3148 uint32_t cntr_current_0;
3149 TALLOC_CTX *_mem_save_current_0;
3150 TALLOC_CTX *_mem_save_current_1;
3151 if (ndr_flags & NDR_SCALARS) {
3152 NDR_CHECK(ndr_pull_align(ndr, 5));
3153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3154 NDR_PULL_ALLOC_N(ndr, r->current, r->count);
3155 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr);
3156 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0);
3157 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3158 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_current));
3159 if (_ptr_current) {
3160 NDR_PULL_ALLOC(ndr, r->current[cntr_current_0]);
3161 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->current[cntr_current_0], _ptr_current));
3162 } else {
3163 r->current[cntr_current_0] = NULL;
3166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0);
3167 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3169 if (ndr_flags & NDR_BUFFERS) {
3170 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr);
3171 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0);
3172 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3173 if (r->current[cntr_current_0]) {
3174 uint32_t _relative_save_offset;
3175 _relative_save_offset = ndr->offset;
3176 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->current[cntr_current_0]));
3177 _mem_save_current_1 = NDR_PULL_GET_MEM_CTX(ndr);
3178 NDR_PULL_SET_MEM_CTX(ndr, r->current[cntr_current_0], 0);
3179 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
3180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_1, 0);
3181 if (ndr->offset > ndr->relative_highest_offset) {
3182 ndr->relative_highest_offset = ndr->offset;
3184 ndr->offset = _relative_save_offset;
3187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0);
3189 return NDR_ERR_SUCCESS;
3192 _PUBLIC_ void ndr_print_trustCurrentPasswords(struct ndr_print *ndr, const char *name, const struct trustCurrentPasswords *r)
3194 uint32_t cntr_current_0;
3195 ndr_print_struct(ndr, name, "trustCurrentPasswords");
3196 ndr->depth++;
3197 ndr_print_uint32(ndr, "count", r->count);
3198 ndr->print(ndr, "%s: ARRAY(%d)", "current", (int)r->count);
3199 ndr->depth++;
3200 for (cntr_current_0=0;cntr_current_0<r->count;cntr_current_0++) {
3201 char *idx_0=NULL;
3202 if (asprintf(&idx_0, "[%d]", cntr_current_0) != -1) {
3203 ndr_print_ptr(ndr, "current", r->current[cntr_current_0]);
3204 ndr->depth++;
3205 if (r->current[cntr_current_0]) {
3206 ndr_print_AuthenticationInformation(ndr, "current", r->current[cntr_current_0]);
3208 ndr->depth--;
3209 free(idx_0);
3212 ndr->depth--;
3213 ndr->depth--;
3216 _PUBLIC_ size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords *r, struct smb_iconv_convenience *ic, int flags)
3218 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustCurrentPasswords, ic);
3221 _PUBLIC_ enum ndr_err_code ndr_push_trustDomainPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustDomainPasswords *r)
3223 if (ndr_flags & NDR_SCALARS) {
3224 NDR_CHECK(ndr_push_align(ndr, 5));
3225 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->confounder, 512));
3227 struct ndr_push *_ndr_outgoing;
3228 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3229 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing, NDR_SCALARS|NDR_BUFFERS, &r->outgoing));
3230 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3233 struct ndr_push *_ndr_incoming;
3234 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3235 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming, NDR_SCALARS|NDR_BUFFERS, &r->incoming));
3236 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3240 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3242 if (ndr_flags & NDR_BUFFERS) {
3244 return NDR_ERR_SUCCESS;
3247 _PUBLIC_ void ndr_print_trustDomainPasswords(struct ndr_print *ndr, const char *name, const struct trustDomainPasswords *r)
3249 ndr_print_struct(ndr, name, "trustDomainPasswords");
3250 ndr->depth++;
3251 ndr_print_array_uint8(ndr, "confounder", r->confounder, 512);
3252 ndr_print_trustCurrentPasswords(ndr, "outgoing", &r->outgoing);
3253 ndr_print_trustCurrentPasswords(ndr, "incoming", &r->incoming);
3254 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);
3255 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);
3256 ndr->depth--;
3259 _PUBLIC_ enum ndr_err_code ndr_push_DsCompressedChunk(struct ndr_push *ndr, int ndr_flags, const struct DsCompressedChunk *r)
3261 if (ndr_flags & NDR_SCALARS) {
3262 NDR_CHECK(ndr_push_align(ndr, 4));
3263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->marker));
3264 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
3265 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3267 if (ndr_flags & NDR_BUFFERS) {
3269 return NDR_ERR_SUCCESS;
3272 _PUBLIC_ enum ndr_err_code ndr_pull_DsCompressedChunk(struct ndr_pull *ndr, int ndr_flags, struct DsCompressedChunk *r)
3274 if (ndr_flags & NDR_SCALARS) {
3275 NDR_CHECK(ndr_pull_align(ndr, 4));
3276 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->marker));
3277 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
3278 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3280 if (ndr_flags & NDR_BUFFERS) {
3282 return NDR_ERR_SUCCESS;
3285 _PUBLIC_ void ndr_print_DsCompressedChunk(struct ndr_print *ndr, const char *name, const struct DsCompressedChunk *r)
3287 ndr_print_struct(ndr, name, "DsCompressedChunk");
3288 ndr->depth++;
3289 ndr_print_uint32(ndr, "marker", r->marker);
3290 ndr_print_DATA_BLOB(ndr, "data", r->data);
3291 ndr->depth--;
3294 static enum ndr_err_code ndr_push_ExtendedErrorAString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorAString *r)
3296 if (ndr_flags & NDR_SCALARS) {
3297 NDR_CHECK(ndr_push_align(ndr, 5));
3298 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size));
3299 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
3300 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3302 if (ndr_flags & NDR_BUFFERS) {
3303 if (r->string) {
3304 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size));
3305 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint8_t), CH_DOS));
3308 return NDR_ERR_SUCCESS;
3311 static enum ndr_err_code ndr_pull_ExtendedErrorAString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorAString *r)
3313 uint32_t _ptr_string;
3314 TALLOC_CTX *_mem_save_string_0;
3315 if (ndr_flags & NDR_SCALARS) {
3316 NDR_CHECK(ndr_pull_align(ndr, 5));
3317 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size));
3318 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
3319 if (_ptr_string) {
3320 NDR_PULL_ALLOC(ndr, r->string);
3321 } else {
3322 r->string = NULL;
3324 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3326 if (ndr_flags & NDR_BUFFERS) {
3327 if (r->string) {
3328 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
3329 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
3330 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
3331 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint8_t), CH_DOS));
3332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
3334 if (r->string) {
3335 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size));
3338 return NDR_ERR_SUCCESS;
3341 _PUBLIC_ void ndr_print_ExtendedErrorAString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorAString *r)
3343 ndr_print_struct(ndr, name, "ExtendedErrorAString");
3344 ndr->depth++;
3345 ndr_print_uint16(ndr, "__size", r->__size);
3346 ndr_print_ptr(ndr, "string", r->string);
3347 ndr->depth++;
3348 if (r->string) {
3349 ndr_print_string(ndr, "string", r->string);
3351 ndr->depth--;
3352 ndr->depth--;
3355 static enum ndr_err_code ndr_push_ExtendedErrorUString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorUString *r)
3357 if (ndr_flags & NDR_SCALARS) {
3358 NDR_CHECK(ndr_push_align(ndr, 5));
3359 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size));
3360 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
3361 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3363 if (ndr_flags & NDR_BUFFERS) {
3364 if (r->string) {
3365 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size));
3366 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint16_t), CH_UTF16));
3369 return NDR_ERR_SUCCESS;
3372 static enum ndr_err_code ndr_pull_ExtendedErrorUString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorUString *r)
3374 uint32_t _ptr_string;
3375 TALLOC_CTX *_mem_save_string_0;
3376 if (ndr_flags & NDR_SCALARS) {
3377 NDR_CHECK(ndr_pull_align(ndr, 5));
3378 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size));
3379 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
3380 if (_ptr_string) {
3381 NDR_PULL_ALLOC(ndr, r->string);
3382 } else {
3383 r->string = NULL;
3385 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3387 if (ndr_flags & NDR_BUFFERS) {
3388 if (r->string) {
3389 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
3390 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
3391 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
3392 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
3393 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
3395 if (r->string) {
3396 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size));
3399 return NDR_ERR_SUCCESS;
3402 _PUBLIC_ void ndr_print_ExtendedErrorUString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorUString *r)
3404 ndr_print_struct(ndr, name, "ExtendedErrorUString");
3405 ndr->depth++;
3406 ndr_print_uint16(ndr, "__size", r->__size);
3407 ndr_print_ptr(ndr, "string", r->string);
3408 ndr->depth++;
3409 if (r->string) {
3410 ndr_print_string(ndr, "string", r->string);
3412 ndr->depth--;
3413 ndr->depth--;
3416 static enum ndr_err_code ndr_push_ExtendedErrorBlob(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorBlob *r)
3418 if (ndr_flags & NDR_SCALARS) {
3419 NDR_CHECK(ndr_push_align(ndr, 5));
3420 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
3421 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
3422 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3424 if (ndr_flags & NDR_BUFFERS) {
3425 if (r->data) {
3426 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
3427 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
3430 return NDR_ERR_SUCCESS;
3433 static enum ndr_err_code ndr_pull_ExtendedErrorBlob(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorBlob *r)
3435 uint32_t _ptr_data;
3436 TALLOC_CTX *_mem_save_data_0;
3437 if (ndr_flags & NDR_SCALARS) {
3438 NDR_CHECK(ndr_pull_align(ndr, 5));
3439 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
3440 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
3441 if (_ptr_data) {
3442 NDR_PULL_ALLOC(ndr, r->data);
3443 } else {
3444 r->data = NULL;
3446 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3448 if (ndr_flags & NDR_BUFFERS) {
3449 if (r->data) {
3450 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3451 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
3452 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
3453 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
3454 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
3455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
3457 if (r->data) {
3458 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
3461 return NDR_ERR_SUCCESS;
3464 _PUBLIC_ void ndr_print_ExtendedErrorBlob(struct ndr_print *ndr, const char *name, const struct ExtendedErrorBlob *r)
3466 ndr_print_struct(ndr, name, "ExtendedErrorBlob");
3467 ndr->depth++;
3468 ndr_print_uint16(ndr, "length", r->length);
3469 ndr_print_ptr(ndr, "data", r->data);
3470 ndr->depth++;
3471 if (r->data) {
3472 ndr_print_array_uint8(ndr, "data", r->data, r->length);
3474 ndr->depth--;
3475 ndr->depth--;
3478 static enum ndr_err_code ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent r)
3480 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3481 return NDR_ERR_SUCCESS;
3484 static enum ndr_err_code ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent *r)
3486 uint16_t v;
3487 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3488 *r = v;
3489 return NDR_ERR_SUCCESS;
3492 _PUBLIC_ void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print *ndr, const char *name, enum ExtendedErrorComputerNamePresent r)
3494 const char *val = NULL;
3496 switch (r) {
3497 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3498 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3500 ndr_print_enum(ndr, name, "ENUM", val, r);
3503 static enum ndr_err_code ndr_push_ExtendedErrorComputerNameU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorComputerNameU *r)
3505 if (ndr_flags & NDR_SCALARS) {
3506 int level = ndr_push_get_switch_value(ndr, r);
3507 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, level));
3508 NDR_CHECK(ndr_push_union_align(ndr, 5));
3509 switch (level) {
3510 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: {
3511 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name));
3512 break; }
3514 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: {
3515 break; }
3517 default:
3518 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3521 if (ndr_flags & NDR_BUFFERS) {
3522 int level = ndr_push_get_switch_value(ndr, r);
3523 switch (level) {
3524 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3525 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name));
3526 break;
3528 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3529 break;
3531 default:
3532 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3535 return NDR_ERR_SUCCESS;
3538 static enum ndr_err_code ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorComputerNameU *r)
3540 int level;
3541 uint16_t _level;
3542 level = ndr_pull_get_switch_value(ndr, r);
3543 if (ndr_flags & NDR_SCALARS) {
3544 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3545 if (_level != level) {
3546 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3548 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3549 switch (level) {
3550 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: {
3551 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name));
3552 break; }
3554 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: {
3555 break; }
3557 default:
3558 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3561 if (ndr_flags & NDR_BUFFERS) {
3562 switch (level) {
3563 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3564 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name));
3565 break;
3567 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3568 break;
3570 default:
3571 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3574 return NDR_ERR_SUCCESS;
3577 _PUBLIC_ void ndr_print_ExtendedErrorComputerNameU(struct ndr_print *ndr, const char *name, const union ExtendedErrorComputerNameU *r)
3579 int level;
3580 level = ndr_print_get_switch_value(ndr, r);
3581 ndr_print_union(ndr, name, level, "ExtendedErrorComputerNameU");
3582 switch (level) {
3583 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3584 ndr_print_ExtendedErrorUString(ndr, "name", &r->name);
3585 break;
3587 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3588 break;
3590 default:
3591 ndr_print_bad_level(ndr, name, level);
3595 static enum ndr_err_code ndr_push_ExtendedErrorComputerName(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorComputerName *r)
3597 if (ndr_flags & NDR_SCALARS) {
3598 NDR_CHECK(ndr_push_align(ndr, 5));
3599 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, r->present));
3600 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->n, r->present));
3601 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n));
3602 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3604 if (ndr_flags & NDR_BUFFERS) {
3605 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n));
3607 return NDR_ERR_SUCCESS;
3610 static enum ndr_err_code ndr_pull_ExtendedErrorComputerName(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorComputerName *r)
3612 if (ndr_flags & NDR_SCALARS) {
3613 NDR_CHECK(ndr_pull_align(ndr, 5));
3614 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, &r->present));
3615 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->n, r->present));
3616 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n));
3617 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3619 if (ndr_flags & NDR_BUFFERS) {
3620 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n));
3622 return NDR_ERR_SUCCESS;
3625 _PUBLIC_ void ndr_print_ExtendedErrorComputerName(struct ndr_print *ndr, const char *name, const struct ExtendedErrorComputerName *r)
3627 ndr_print_struct(ndr, name, "ExtendedErrorComputerName");
3628 ndr->depth++;
3629 ndr_print_ExtendedErrorComputerNamePresent(ndr, "present", r->present);
3630 ndr_print_set_switch_value(ndr, &r->n, r->present);
3631 ndr_print_ExtendedErrorComputerNameU(ndr, "n", &r->n);
3632 ndr->depth--;
3635 static enum ndr_err_code ndr_push_ExtendedErrorParamType(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorParamType r)
3637 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3638 return NDR_ERR_SUCCESS;
3641 static enum ndr_err_code ndr_pull_ExtendedErrorParamType(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorParamType *r)
3643 uint16_t v;
3644 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3645 *r = v;
3646 return NDR_ERR_SUCCESS;
3649 _PUBLIC_ void ndr_print_ExtendedErrorParamType(struct ndr_print *ndr, const char *name, enum ExtendedErrorParamType r)
3651 const char *val = NULL;
3653 switch (r) {
3654 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3655 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3656 case EXTENDED_ERROR_PARAM_TYPE_UINT32: val = "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3657 case EXTENDED_ERROR_PARAM_TYPE_UINT16: val = "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3658 case EXTENDED_ERROR_PARAM_TYPE_UINT64: val = "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3659 case EXTENDED_ERROR_PARAM_TYPE_NONE: val = "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3660 case EXTENDED_ERROR_PARAM_TYPE_BLOB: val = "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3662 ndr_print_enum(ndr, name, "ENUM", val, r);
3665 static enum ndr_err_code ndr_push_ExtendedErrorParamU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorParamU *r)
3667 if (ndr_flags & NDR_SCALARS) {
3668 int level = ndr_push_get_switch_value(ndr, r);
3669 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, level));
3670 NDR_CHECK(ndr_push_union_align(ndr, 8));
3671 switch (level) {
3672 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: {
3673 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string));
3674 break; }
3676 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: {
3677 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string));
3678 break; }
3680 case EXTENDED_ERROR_PARAM_TYPE_UINT32: {
3681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->uint32));
3682 break; }
3684 case EXTENDED_ERROR_PARAM_TYPE_UINT16: {
3685 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->uint16));
3686 break; }
3688 case EXTENDED_ERROR_PARAM_TYPE_UINT64: {
3689 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uint64));
3690 break; }
3692 case EXTENDED_ERROR_PARAM_TYPE_NONE: {
3693 break; }
3695 case EXTENDED_ERROR_PARAM_TYPE_BLOB: {
3696 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob));
3697 break; }
3699 default:
3700 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3703 if (ndr_flags & NDR_BUFFERS) {
3704 int level = ndr_push_get_switch_value(ndr, r);
3705 switch (level) {
3706 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3707 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string));
3708 break;
3710 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3711 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string));
3712 break;
3714 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3715 break;
3717 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3718 break;
3720 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3721 break;
3723 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3724 break;
3726 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3727 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob));
3728 break;
3730 default:
3731 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3734 return NDR_ERR_SUCCESS;
3737 static enum ndr_err_code ndr_pull_ExtendedErrorParamU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorParamU *r)
3739 int level;
3740 uint16_t _level;
3741 level = ndr_pull_get_switch_value(ndr, r);
3742 if (ndr_flags & NDR_SCALARS) {
3743 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3744 if (_level != level) {
3745 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3747 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3748 switch (level) {
3749 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: {
3750 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string));
3751 break; }
3753 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: {
3754 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string));
3755 break; }
3757 case EXTENDED_ERROR_PARAM_TYPE_UINT32: {
3758 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->uint32));
3759 break; }
3761 case EXTENDED_ERROR_PARAM_TYPE_UINT16: {
3762 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->uint16));
3763 break; }
3765 case EXTENDED_ERROR_PARAM_TYPE_UINT64: {
3766 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uint64));
3767 break; }
3769 case EXTENDED_ERROR_PARAM_TYPE_NONE: {
3770 break; }
3772 case EXTENDED_ERROR_PARAM_TYPE_BLOB: {
3773 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob));
3774 break; }
3776 default:
3777 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3780 if (ndr_flags & NDR_BUFFERS) {
3781 switch (level) {
3782 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3783 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string));
3784 break;
3786 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3787 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string));
3788 break;
3790 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3791 break;
3793 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3794 break;
3796 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3797 break;
3799 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3800 break;
3802 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3803 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob));
3804 break;
3806 default:
3807 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3810 return NDR_ERR_SUCCESS;
3813 _PUBLIC_ void ndr_print_ExtendedErrorParamU(struct ndr_print *ndr, const char *name, const union ExtendedErrorParamU *r)
3815 int level;
3816 level = ndr_print_get_switch_value(ndr, r);
3817 ndr_print_union(ndr, name, level, "ExtendedErrorParamU");
3818 switch (level) {
3819 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3820 ndr_print_ExtendedErrorAString(ndr, "a_string", &r->a_string);
3821 break;
3823 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3824 ndr_print_ExtendedErrorUString(ndr, "u_string", &r->u_string);
3825 break;
3827 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3828 ndr_print_uint32(ndr, "uint32", r->uint32);
3829 break;
3831 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3832 ndr_print_uint16(ndr, "uint16", r->uint16);
3833 break;
3835 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3836 ndr_print_hyper(ndr, "uint64", r->uint64);
3837 break;
3839 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3840 break;
3842 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3843 ndr_print_ExtendedErrorBlob(ndr, "blob", &r->blob);
3844 break;
3846 default:
3847 ndr_print_bad_level(ndr, name, level);
3851 static enum ndr_err_code ndr_push_ExtendedErrorParam(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorParam *r)
3853 if (ndr_flags & NDR_SCALARS) {
3854 NDR_CHECK(ndr_push_align(ndr, 8));
3855 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, r->type));
3856 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->p, r->type));
3857 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p));
3858 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3860 if (ndr_flags & NDR_BUFFERS) {
3861 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p));
3863 return NDR_ERR_SUCCESS;
3866 static enum ndr_err_code ndr_pull_ExtendedErrorParam(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorParam *r)
3868 if (ndr_flags & NDR_SCALARS) {
3869 NDR_CHECK(ndr_pull_align(ndr, 8));
3870 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr, NDR_SCALARS, &r->type));
3871 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->p, r->type));
3872 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p));
3873 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3875 if (ndr_flags & NDR_BUFFERS) {
3876 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p));
3878 return NDR_ERR_SUCCESS;
3881 _PUBLIC_ void ndr_print_ExtendedErrorParam(struct ndr_print *ndr, const char *name, const struct ExtendedErrorParam *r)
3883 ndr_print_struct(ndr, name, "ExtendedErrorParam");
3884 ndr->depth++;
3885 ndr_print_ExtendedErrorParamType(ndr, "type", r->type);
3886 ndr_print_set_switch_value(ndr, &r->p, r->type);
3887 ndr_print_ExtendedErrorParamU(ndr, "p", &r->p);
3888 ndr->depth--;
3891 _PUBLIC_ enum ndr_err_code ndr_push_ExtendedErrorInfo(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfo *r)
3893 uint32_t cntr_params_0;
3894 if (ndr_flags & NDR_SCALARS) {
3895 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_params));
3896 NDR_CHECK(ndr_push_align(ndr, 8));
3897 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
3898 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name));
3899 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pid));
3900 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
3901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->generating_component));
3902 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
3903 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->detection_location));
3904 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags));
3905 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_params));
3906 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3907 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0]));
3909 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3911 if (ndr_flags & NDR_BUFFERS) {
3912 if (r->next) {
3913 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
3915 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name));
3916 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3917 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0]));
3920 return NDR_ERR_SUCCESS;
3923 _PUBLIC_ enum ndr_err_code ndr_pull_ExtendedErrorInfo(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfo *r)
3925 uint32_t _ptr_next;
3926 TALLOC_CTX *_mem_save_next_0;
3927 uint32_t cntr_params_0;
3928 TALLOC_CTX *_mem_save_params_0;
3929 if (ndr_flags & NDR_SCALARS) {
3930 NDR_CHECK(ndr_pull_array_size(ndr, &r->params));
3931 NDR_CHECK(ndr_pull_align(ndr, 8));
3932 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
3933 if (_ptr_next) {
3934 NDR_PULL_ALLOC(ndr, r->next);
3935 } else {
3936 r->next = NULL;
3938 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name));
3939 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pid));
3940 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
3941 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->generating_component));
3942 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
3943 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->detection_location));
3944 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
3945 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_params));
3946 NDR_PULL_ALLOC_N(ndr, r->params, ndr_get_array_size(ndr, &r->params));
3947 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr);
3948 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0);
3949 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3950 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0]));
3952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0);
3953 if (r->params) {
3954 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->params, r->num_params));
3956 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3958 if (ndr_flags & NDR_BUFFERS) {
3959 if (r->next) {
3960 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
3961 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
3962 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
3963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
3965 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name));
3966 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr);
3967 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0);
3968 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3969 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0]));
3971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0);
3973 return NDR_ERR_SUCCESS;
3976 _PUBLIC_ void ndr_print_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfo *r)
3978 uint32_t cntr_params_0;
3979 ndr_print_struct(ndr, name, "ExtendedErrorInfo");
3980 ndr->depth++;
3981 ndr_print_ptr(ndr, "next", r->next);
3982 ndr->depth++;
3983 if (r->next) {
3984 ndr_print_ExtendedErrorInfo(ndr, "next", r->next);
3986 ndr->depth--;
3987 ndr_print_ExtendedErrorComputerName(ndr, "computer_name", &r->computer_name);
3988 ndr_print_hyper(ndr, "pid", r->pid);
3989 ndr_print_NTTIME(ndr, "time", r->time);
3990 ndr_print_uint32(ndr, "generating_component", r->generating_component);
3991 ndr_print_WERROR(ndr, "status", r->status);
3992 ndr_print_uint16(ndr, "detection_location", r->detection_location);
3993 ndr_print_uint16(ndr, "flags", r->flags);
3994 ndr_print_uint16(ndr, "num_params", r->num_params);
3995 ndr->print(ndr, "%s: ARRAY(%d)", "params", (int)r->num_params);
3996 ndr->depth++;
3997 for (cntr_params_0=0;cntr_params_0<r->num_params;cntr_params_0++) {
3998 char *idx_0=NULL;
3999 if (asprintf(&idx_0, "[%d]", cntr_params_0) != -1) {
4000 ndr_print_ExtendedErrorParam(ndr, "params", &r->params[cntr_params_0]);
4001 free(idx_0);
4004 ndr->depth--;
4005 ndr->depth--;
4008 static enum ndr_err_code ndr_push_ExtendedErrorInfoPtr(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfoPtr *r)
4010 if (ndr_flags & NDR_SCALARS) {
4011 NDR_CHECK(ndr_push_align(ndr, 5));
4012 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
4013 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4015 if (ndr_flags & NDR_BUFFERS) {
4016 if (r->info) {
4017 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
4020 return NDR_ERR_SUCCESS;
4023 static enum ndr_err_code ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfoPtr *r)
4025 uint32_t _ptr_info;
4026 TALLOC_CTX *_mem_save_info_0;
4027 if (ndr_flags & NDR_SCALARS) {
4028 NDR_CHECK(ndr_pull_align(ndr, 5));
4029 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
4030 if (_ptr_info) {
4031 NDR_PULL_ALLOC(ndr, r->info);
4032 } else {
4033 r->info = NULL;
4035 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4037 if (ndr_flags & NDR_BUFFERS) {
4038 if (r->info) {
4039 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
4040 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
4041 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
4042 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
4045 return NDR_ERR_SUCCESS;
4048 _PUBLIC_ void ndr_print_ExtendedErrorInfoPtr(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfoPtr *r)
4050 ndr_print_struct(ndr, name, "ExtendedErrorInfoPtr");
4051 ndr->depth++;
4052 ndr_print_ptr(ndr, "info", r->info);
4053 ndr->depth++;
4054 if (r->info) {
4055 ndr_print_ExtendedErrorInfo(ndr, "info", r->info);
4057 ndr->depth--;
4058 ndr->depth--;
4061 static enum ndr_err_code ndr_push_ForestTrustString(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustString *r)
4063 if (ndr_flags & NDR_SCALARS) {
4064 NDR_CHECK(ndr_push_align(ndr, 4));
4065 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string)));
4066 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_UTF8));
4067 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4069 if (ndr_flags & NDR_BUFFERS) {
4071 return NDR_ERR_SUCCESS;
4074 static enum ndr_err_code ndr_pull_ForestTrustString(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustString *r)
4076 if (ndr_flags & NDR_SCALARS) {
4077 NDR_CHECK(ndr_pull_align(ndr, 4));
4078 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
4079 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, r->size, sizeof(uint8_t), CH_UTF8));
4080 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4082 if (ndr_flags & NDR_BUFFERS) {
4084 return NDR_ERR_SUCCESS;
4087 _PUBLIC_ void ndr_print_ForestTrustString(struct ndr_print *ndr, const char *name, const struct ForestTrustString *r)
4089 ndr_print_struct(ndr, name, "ForestTrustString");
4090 ndr->depth++;
4091 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->size);
4092 ndr_print_string(ndr, "string", r->string);
4093 ndr->depth--;
4096 static enum ndr_err_code ndr_push_ForestTrustDataDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustDataDomainInfo *r)
4099 uint32_t _flags_save_STRUCT = ndr->flags;
4100 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4101 if (ndr_flags & NDR_SCALARS) {
4102 NDR_CHECK(ndr_push_align(ndr, 4));
4103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->sid, ndr->flags)));
4105 struct ndr_push *_ndr_sid;
4106 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
4107 NDR_CHECK(ndr_push_dom_sid(_ndr_sid, NDR_SCALARS, &r->sid));
4108 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
4110 NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->dns_name));
4111 NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->netbios_name));
4112 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4114 if (ndr_flags & NDR_BUFFERS) {
4116 ndr->flags = _flags_save_STRUCT;
4118 return NDR_ERR_SUCCESS;
4121 static enum ndr_err_code ndr_pull_ForestTrustDataDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustDataDomainInfo *r)
4124 uint32_t _flags_save_STRUCT = ndr->flags;
4125 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4126 if (ndr_flags & NDR_SCALARS) {
4127 NDR_CHECK(ndr_pull_align(ndr, 4));
4128 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_size));
4130 struct ndr_pull *_ndr_sid;
4131 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sid, 0, r->sid_size));
4132 NDR_CHECK(ndr_pull_dom_sid(_ndr_sid, NDR_SCALARS, &r->sid));
4133 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sid, 0, r->sid_size));
4135 NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->dns_name));
4136 NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->netbios_name));
4137 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4139 if (ndr_flags & NDR_BUFFERS) {
4141 ndr->flags = _flags_save_STRUCT;
4143 return NDR_ERR_SUCCESS;
4146 _PUBLIC_ void ndr_print_ForestTrustDataDomainInfo(struct ndr_print *ndr, const char *name, const struct ForestTrustDataDomainInfo *r)
4148 ndr_print_struct(ndr, name, "ForestTrustDataDomainInfo");
4150 uint32_t _flags_save_STRUCT = ndr->flags;
4151 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4152 ndr->depth++;
4153 ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size);
4154 ndr_print_dom_sid(ndr, "sid", &r->sid);
4155 ndr_print_ForestTrustString(ndr, "dns_name", &r->dns_name);
4156 ndr_print_ForestTrustString(ndr, "netbios_name", &r->netbios_name);
4157 ndr->depth--;
4158 ndr->flags = _flags_save_STRUCT;
4162 static enum ndr_err_code ndr_push_ForestTrustDataBinaryData(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustDataBinaryData *r)
4165 uint32_t _flags_save_STRUCT = ndr->flags;
4166 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4167 if (ndr_flags & NDR_SCALARS) {
4168 NDR_CHECK(ndr_push_align(ndr, 4));
4169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
4170 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
4171 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4173 if (ndr_flags & NDR_BUFFERS) {
4175 ndr->flags = _flags_save_STRUCT;
4177 return NDR_ERR_SUCCESS;
4180 static enum ndr_err_code ndr_pull_ForestTrustDataBinaryData(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustDataBinaryData *r)
4183 uint32_t _flags_save_STRUCT = ndr->flags;
4184 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4185 if (ndr_flags & NDR_SCALARS) {
4186 NDR_CHECK(ndr_pull_align(ndr, 4));
4187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
4188 NDR_PULL_ALLOC_N(ndr, r->data, r->size);
4189 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
4190 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4192 if (ndr_flags & NDR_BUFFERS) {
4194 ndr->flags = _flags_save_STRUCT;
4196 return NDR_ERR_SUCCESS;
4199 _PUBLIC_ void ndr_print_ForestTrustDataBinaryData(struct ndr_print *ndr, const char *name, const struct ForestTrustDataBinaryData *r)
4201 ndr_print_struct(ndr, name, "ForestTrustDataBinaryData");
4203 uint32_t _flags_save_STRUCT = ndr->flags;
4204 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4205 ndr->depth++;
4206 ndr_print_uint32(ndr, "size", r->size);
4207 ndr_print_array_uint8(ndr, "data", r->data, r->size);
4208 ndr->depth--;
4209 ndr->flags = _flags_save_STRUCT;
4213 static enum ndr_err_code ndr_push_ForestTrustData(struct ndr_push *ndr, int ndr_flags, const union ForestTrustData *r)
4215 if (ndr_flags & NDR_SCALARS) {
4216 int level = ndr_push_get_switch_value(ndr, r);
4217 NDR_CHECK(ndr_push_union_align(ndr, 4));
4218 switch (level) {
4219 case FOREST_TRUST_TOP_LEVEL_NAME: {
4220 NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->name));
4221 break; }
4223 case FOREST_TRUST_TOP_LEVEL_NAME_EX: {
4224 NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->name));
4225 break; }
4227 case FOREST_TRUST_DOMAIN_INFO: {
4228 NDR_CHECK(ndr_push_ForestTrustDataDomainInfo(ndr, NDR_SCALARS, &r->info));
4229 break; }
4231 default: {
4232 NDR_CHECK(ndr_push_ForestTrustDataBinaryData(ndr, NDR_SCALARS, &r->data));
4233 break; }
4237 if (ndr_flags & NDR_BUFFERS) {
4238 int level = ndr_push_get_switch_value(ndr, r);
4239 switch (level) {
4240 case FOREST_TRUST_TOP_LEVEL_NAME:
4241 break;
4243 case FOREST_TRUST_TOP_LEVEL_NAME_EX:
4244 break;
4246 case FOREST_TRUST_DOMAIN_INFO:
4247 break;
4249 default:
4250 break;
4254 return NDR_ERR_SUCCESS;
4257 static enum ndr_err_code ndr_pull_ForestTrustData(struct ndr_pull *ndr, int ndr_flags, union ForestTrustData *r)
4259 int level;
4260 level = ndr_pull_get_switch_value(ndr, r);
4261 if (ndr_flags & NDR_SCALARS) {
4262 NDR_CHECK(ndr_pull_union_align(ndr, 4));
4263 switch (level) {
4264 case FOREST_TRUST_TOP_LEVEL_NAME: {
4265 NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->name));
4266 break; }
4268 case FOREST_TRUST_TOP_LEVEL_NAME_EX: {
4269 NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->name));
4270 break; }
4272 case FOREST_TRUST_DOMAIN_INFO: {
4273 NDR_CHECK(ndr_pull_ForestTrustDataDomainInfo(ndr, NDR_SCALARS, &r->info));
4274 break; }
4276 default: {
4277 NDR_CHECK(ndr_pull_ForestTrustDataBinaryData(ndr, NDR_SCALARS, &r->data));
4278 break; }
4282 if (ndr_flags & NDR_BUFFERS) {
4283 switch (level) {
4284 case FOREST_TRUST_TOP_LEVEL_NAME:
4285 break;
4287 case FOREST_TRUST_TOP_LEVEL_NAME_EX:
4288 break;
4290 case FOREST_TRUST_DOMAIN_INFO:
4291 break;
4293 default:
4294 break;
4298 return NDR_ERR_SUCCESS;
4301 _PUBLIC_ void ndr_print_ForestTrustData(struct ndr_print *ndr, const char *name, const union ForestTrustData *r)
4303 int level;
4304 level = ndr_print_get_switch_value(ndr, r);
4305 ndr_print_union(ndr, name, level, "ForestTrustData");
4306 switch (level) {
4307 case FOREST_TRUST_TOP_LEVEL_NAME:
4308 ndr_print_ForestTrustString(ndr, "name", &r->name);
4309 break;
4311 case FOREST_TRUST_TOP_LEVEL_NAME_EX:
4312 ndr_print_ForestTrustString(ndr, "name", &r->name);
4313 break;
4315 case FOREST_TRUST_DOMAIN_INFO:
4316 ndr_print_ForestTrustDataDomainInfo(ndr, "info", &r->info);
4317 break;
4319 default:
4320 ndr_print_ForestTrustDataBinaryData(ndr, "data", &r->data);
4321 break;
4326 static enum ndr_err_code ndr_push_ForestTrustInfoRecordType(struct ndr_push *ndr, int ndr_flags, enum ForestTrustInfoRecordType r)
4328 NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
4329 return NDR_ERR_SUCCESS;
4332 static enum ndr_err_code ndr_pull_ForestTrustInfoRecordType(struct ndr_pull *ndr, int ndr_flags, enum ForestTrustInfoRecordType *r)
4334 uint8_t v;
4335 NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
4336 *r = v;
4337 return NDR_ERR_SUCCESS;
4340 _PUBLIC_ void ndr_print_ForestTrustInfoRecordType(struct ndr_print *ndr, const char *name, enum ForestTrustInfoRecordType r)
4342 const char *val = NULL;
4344 switch (r) {
4345 case FOREST_TRUST_TOP_LEVEL_NAME: val = "FOREST_TRUST_TOP_LEVEL_NAME"; break;
4346 case FOREST_TRUST_TOP_LEVEL_NAME_EX: val = "FOREST_TRUST_TOP_LEVEL_NAME_EX"; break;
4347 case FOREST_TRUST_DOMAIN_INFO: val = "FOREST_TRUST_DOMAIN_INFO"; break;
4349 ndr_print_enum(ndr, name, "ENUM", val, r);
4352 _PUBLIC_ enum ndr_err_code ndr_push_ForestTrustInfoRecord(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfoRecord *r)
4355 uint32_t _flags_save_STRUCT = ndr->flags;
4356 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4357 if (ndr_flags & NDR_SCALARS) {
4358 NDR_CHECK(ndr_push_align(ndr, 4));
4359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4360 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timestamp));
4361 NDR_CHECK(ndr_push_ForestTrustInfoRecordType(ndr, NDR_SCALARS, r->type));
4362 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->type));
4363 NDR_CHECK(ndr_push_ForestTrustData(ndr, NDR_SCALARS, &r->data));
4364 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4366 if (ndr_flags & NDR_BUFFERS) {
4368 ndr->flags = _flags_save_STRUCT;
4370 return NDR_ERR_SUCCESS;
4373 _PUBLIC_ enum ndr_err_code ndr_pull_ForestTrustInfoRecord(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfoRecord *r)
4376 uint32_t _flags_save_STRUCT = ndr->flags;
4377 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4378 if (ndr_flags & NDR_SCALARS) {
4379 NDR_CHECK(ndr_pull_align(ndr, 4));
4380 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4381 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timestamp));
4382 NDR_CHECK(ndr_pull_ForestTrustInfoRecordType(ndr, NDR_SCALARS, &r->type));
4383 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->type));
4384 NDR_CHECK(ndr_pull_ForestTrustData(ndr, NDR_SCALARS, &r->data));
4385 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4387 if (ndr_flags & NDR_BUFFERS) {
4389 ndr->flags = _flags_save_STRUCT;
4391 return NDR_ERR_SUCCESS;
4394 _PUBLIC_ void ndr_print_ForestTrustInfoRecord(struct ndr_print *ndr, const char *name, const struct ForestTrustInfoRecord *r)
4396 ndr_print_struct(ndr, name, "ForestTrustInfoRecord");
4398 uint32_t _flags_save_STRUCT = ndr->flags;
4399 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4400 ndr->depth++;
4401 ndr_print_uint32(ndr, "flags", r->flags);
4402 ndr_print_NTTIME(ndr, "timestamp", r->timestamp);
4403 ndr_print_ForestTrustInfoRecordType(ndr, "type", r->type);
4404 ndr_print_set_switch_value(ndr, &r->data, r->type);
4405 ndr_print_ForestTrustData(ndr, "data", &r->data);
4406 ndr->depth--;
4407 ndr->flags = _flags_save_STRUCT;
4411 _PUBLIC_ size_t ndr_size_ForestTrustInfoRecord(const struct ForestTrustInfoRecord *r, struct smb_iconv_convenience *ic, int flags)
4413 flags |= LIBNDR_FLAG_NOALIGN;
4414 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_ForestTrustInfoRecord, ic);
4417 static enum ndr_err_code ndr_push_ForestTrustInfoRecordArmor(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfoRecordArmor *r)
4420 uint32_t _flags_save_STRUCT = ndr->flags;
4421 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4422 if (ndr_flags & NDR_SCALARS) {
4423 NDR_CHECK(ndr_push_align(ndr, 4));
4424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ForestTrustInfoRecord(&r->record, ndr->iconv_convenience, ndr->flags)));
4425 NDR_CHECK(ndr_push_ForestTrustInfoRecord(ndr, NDR_SCALARS, &r->record));
4426 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4428 if (ndr_flags & NDR_BUFFERS) {
4430 ndr->flags = _flags_save_STRUCT;
4432 return NDR_ERR_SUCCESS;
4435 static enum ndr_err_code ndr_pull_ForestTrustInfoRecordArmor(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfoRecordArmor *r)
4438 uint32_t _flags_save_STRUCT = ndr->flags;
4439 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4440 if (ndr_flags & NDR_SCALARS) {
4441 NDR_CHECK(ndr_pull_align(ndr, 4));
4442 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->record_size));
4443 NDR_CHECK(ndr_pull_ForestTrustInfoRecord(ndr, NDR_SCALARS, &r->record));
4444 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4446 if (ndr_flags & NDR_BUFFERS) {
4448 ndr->flags = _flags_save_STRUCT;
4450 return NDR_ERR_SUCCESS;
4453 _PUBLIC_ void ndr_print_ForestTrustInfoRecordArmor(struct ndr_print *ndr, const char *name, const struct ForestTrustInfoRecordArmor *r)
4455 ndr_print_struct(ndr, name, "ForestTrustInfoRecordArmor");
4457 uint32_t _flags_save_STRUCT = ndr->flags;
4458 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4459 ndr->depth++;
4460 ndr_print_uint32(ndr, "record_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_ForestTrustInfoRecord(&r->record, ndr->iconv_convenience, ndr->flags):r->record_size);
4461 ndr_print_ForestTrustInfoRecord(ndr, "record", &r->record);
4462 ndr->depth--;
4463 ndr->flags = _flags_save_STRUCT;
4467 _PUBLIC_ enum ndr_err_code ndr_push_ForestTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfo *r)
4469 uint32_t cntr_records_0;
4471 uint32_t _flags_save_STRUCT = ndr->flags;
4472 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4473 if (ndr_flags & NDR_SCALARS) {
4474 NDR_CHECK(ndr_push_align(ndr, 4));
4475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
4476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4477 for (cntr_records_0 = 0; cntr_records_0 < r->count; cntr_records_0++) {
4478 NDR_CHECK(ndr_push_ForestTrustInfoRecordArmor(ndr, NDR_SCALARS, &r->records[cntr_records_0]));
4480 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4482 if (ndr_flags & NDR_BUFFERS) {
4484 ndr->flags = _flags_save_STRUCT;
4486 return NDR_ERR_SUCCESS;
4489 _PUBLIC_ enum ndr_err_code ndr_pull_ForestTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfo *r)
4491 uint32_t cntr_records_0;
4492 TALLOC_CTX *_mem_save_records_0;
4494 uint32_t _flags_save_STRUCT = ndr->flags;
4495 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4496 if (ndr_flags & NDR_SCALARS) {
4497 NDR_CHECK(ndr_pull_align(ndr, 4));
4498 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
4499 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4500 NDR_PULL_ALLOC_N(ndr, r->records, r->count);
4501 _mem_save_records_0 = NDR_PULL_GET_MEM_CTX(ndr);
4502 NDR_PULL_SET_MEM_CTX(ndr, r->records, 0);
4503 for (cntr_records_0 = 0; cntr_records_0 < r->count; cntr_records_0++) {
4504 NDR_CHECK(ndr_pull_ForestTrustInfoRecordArmor(ndr, NDR_SCALARS, &r->records[cntr_records_0]));
4506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_records_0, 0);
4507 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4509 if (ndr_flags & NDR_BUFFERS) {
4511 ndr->flags = _flags_save_STRUCT;
4513 return NDR_ERR_SUCCESS;
4516 _PUBLIC_ void ndr_print_ForestTrustInfo(struct ndr_print *ndr, const char *name, const struct ForestTrustInfo *r)
4518 uint32_t cntr_records_0;
4519 ndr_print_struct(ndr, name, "ForestTrustInfo");
4521 uint32_t _flags_save_STRUCT = ndr->flags;
4522 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4523 ndr->depth++;
4524 ndr_print_uint32(ndr, "version", r->version);
4525 ndr_print_uint32(ndr, "count", r->count);
4526 ndr->print(ndr, "%s: ARRAY(%d)", "records", (int)r->count);
4527 ndr->depth++;
4528 for (cntr_records_0=0;cntr_records_0<r->count;cntr_records_0++) {
4529 char *idx_0=NULL;
4530 if (asprintf(&idx_0, "[%d]", cntr_records_0) != -1) {
4531 ndr_print_ForestTrustInfoRecordArmor(ndr, "records", &r->records[cntr_records_0]);
4532 free(idx_0);
4535 ndr->depth--;
4536 ndr->depth--;
4537 ndr->flags = _flags_save_STRUCT;
4541 static enum ndr_err_code ndr_push_decode_replPropertyMetaData(struct ndr_push *ndr, int flags, const struct decode_replPropertyMetaData *r)
4543 if (flags & NDR_IN) {
4544 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob));
4546 if (flags & NDR_OUT) {
4548 return NDR_ERR_SUCCESS;
4551 static enum ndr_err_code ndr_pull_decode_replPropertyMetaData(struct ndr_pull *ndr, int flags, struct decode_replPropertyMetaData *r)
4553 if (flags & NDR_IN) {
4554 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob));
4556 if (flags & NDR_OUT) {
4558 return NDR_ERR_SUCCESS;
4561 _PUBLIC_ void ndr_print_decode_replPropertyMetaData(struct ndr_print *ndr, const char *name, int flags, const struct decode_replPropertyMetaData *r)
4563 ndr_print_struct(ndr, name, "decode_replPropertyMetaData");
4564 ndr->depth++;
4565 if (flags & NDR_SET_VALUES) {
4566 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4568 if (flags & NDR_IN) {
4569 ndr_print_struct(ndr, "in", "decode_replPropertyMetaData");
4570 ndr->depth++;
4571 ndr_print_replPropertyMetaDataBlob(ndr, "blob", &r->in.blob);
4572 ndr->depth--;
4574 if (flags & NDR_OUT) {
4575 ndr_print_struct(ndr, "out", "decode_replPropertyMetaData");
4576 ndr->depth++;
4577 ndr->depth--;
4579 ndr->depth--;
4582 static enum ndr_err_code ndr_push_decode_replUpToDateVector(struct ndr_push *ndr, int flags, const struct decode_replUpToDateVector *r)
4584 if (flags & NDR_IN) {
4585 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob));
4587 if (flags & NDR_OUT) {
4589 return NDR_ERR_SUCCESS;
4592 static enum ndr_err_code ndr_pull_decode_replUpToDateVector(struct ndr_pull *ndr, int flags, struct decode_replUpToDateVector *r)
4594 if (flags & NDR_IN) {
4595 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob));
4597 if (flags & NDR_OUT) {
4599 return NDR_ERR_SUCCESS;
4602 _PUBLIC_ void ndr_print_decode_replUpToDateVector(struct ndr_print *ndr, const char *name, int flags, const struct decode_replUpToDateVector *r)
4604 ndr_print_struct(ndr, name, "decode_replUpToDateVector");
4605 ndr->depth++;
4606 if (flags & NDR_SET_VALUES) {
4607 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4609 if (flags & NDR_IN) {
4610 ndr_print_struct(ndr, "in", "decode_replUpToDateVector");
4611 ndr->depth++;
4612 ndr_print_replUpToDateVectorBlob(ndr, "blob", &r->in.blob);
4613 ndr->depth--;
4615 if (flags & NDR_OUT) {
4616 ndr_print_struct(ndr, "out", "decode_replUpToDateVector");
4617 ndr->depth++;
4618 ndr->depth--;
4620 ndr->depth--;
4623 static enum ndr_err_code ndr_push_decode_repsFromTo(struct ndr_push *ndr, int flags, const struct decode_repsFromTo *r)
4625 if (flags & NDR_IN) {
4626 NDR_CHECK(ndr_push_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4628 if (flags & NDR_OUT) {
4630 return NDR_ERR_SUCCESS;
4633 static enum ndr_err_code ndr_pull_decode_repsFromTo(struct ndr_pull *ndr, int flags, struct decode_repsFromTo *r)
4635 if (flags & NDR_IN) {
4636 NDR_CHECK(ndr_pull_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4638 if (flags & NDR_OUT) {
4640 return NDR_ERR_SUCCESS;
4643 _PUBLIC_ void ndr_print_decode_repsFromTo(struct ndr_print *ndr, const char *name, int flags, const struct decode_repsFromTo *r)
4645 ndr_print_struct(ndr, name, "decode_repsFromTo");
4646 ndr->depth++;
4647 if (flags & NDR_SET_VALUES) {
4648 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4650 if (flags & NDR_IN) {
4651 ndr_print_struct(ndr, "in", "decode_repsFromTo");
4652 ndr->depth++;
4653 ndr_print_repsFromToBlob(ndr, "blob", &r->in.blob);
4654 ndr->depth--;
4656 if (flags & NDR_OUT) {
4657 ndr_print_struct(ndr, "out", "decode_repsFromTo");
4658 ndr->depth++;
4659 ndr->depth--;
4661 ndr->depth--;
4664 static enum ndr_err_code ndr_push_decode_partialAttributeSet(struct ndr_push *ndr, int flags, const struct decode_partialAttributeSet *r)
4666 if (flags & NDR_IN) {
4667 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob));
4669 if (flags & NDR_OUT) {
4671 return NDR_ERR_SUCCESS;
4674 static enum ndr_err_code ndr_pull_decode_partialAttributeSet(struct ndr_pull *ndr, int flags, struct decode_partialAttributeSet *r)
4676 if (flags & NDR_IN) {
4677 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob));
4679 if (flags & NDR_OUT) {
4681 return NDR_ERR_SUCCESS;
4684 _PUBLIC_ void ndr_print_decode_partialAttributeSet(struct ndr_print *ndr, const char *name, int flags, const struct decode_partialAttributeSet *r)
4686 ndr_print_struct(ndr, name, "decode_partialAttributeSet");
4687 ndr->depth++;
4688 if (flags & NDR_SET_VALUES) {
4689 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4691 if (flags & NDR_IN) {
4692 ndr_print_struct(ndr, "in", "decode_partialAttributeSet");
4693 ndr->depth++;
4694 ndr_print_partialAttributeSetBlob(ndr, "blob", &r->in.blob);
4695 ndr->depth--;
4697 if (flags & NDR_OUT) {
4698 ndr_print_struct(ndr, "out", "decode_partialAttributeSet");
4699 ndr->depth++;
4700 ndr->depth--;
4702 ndr->depth--;
4705 static enum ndr_err_code ndr_push_decode_prefixMap(struct ndr_push *ndr, int flags, const struct decode_prefixMap *r)
4707 if (flags & NDR_IN) {
4708 NDR_CHECK(ndr_push_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4710 if (flags & NDR_OUT) {
4712 return NDR_ERR_SUCCESS;
4715 static enum ndr_err_code ndr_pull_decode_prefixMap(struct ndr_pull *ndr, int flags, struct decode_prefixMap *r)
4717 if (flags & NDR_IN) {
4718 NDR_CHECK(ndr_pull_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4720 if (flags & NDR_OUT) {
4722 return NDR_ERR_SUCCESS;
4725 _PUBLIC_ void ndr_print_decode_prefixMap(struct ndr_print *ndr, const char *name, int flags, const struct decode_prefixMap *r)
4727 ndr_print_struct(ndr, name, "decode_prefixMap");
4728 ndr->depth++;
4729 if (flags & NDR_SET_VALUES) {
4730 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4732 if (flags & NDR_IN) {
4733 ndr_print_struct(ndr, "in", "decode_prefixMap");
4734 ndr->depth++;
4735 ndr_print_prefixMapBlob(ndr, "blob", &r->in.blob);
4736 ndr->depth--;
4738 if (flags & NDR_OUT) {
4739 ndr_print_struct(ndr, "out", "decode_prefixMap");
4740 ndr->depth++;
4741 ndr->depth--;
4743 ndr->depth--;
4746 static enum ndr_err_code ndr_push_decode_ldapControlDirSync(struct ndr_push *ndr, int flags, const struct decode_ldapControlDirSync *r)
4748 if (flags & NDR_IN) {
4749 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie));
4751 if (flags & NDR_OUT) {
4753 return NDR_ERR_SUCCESS;
4756 static enum ndr_err_code ndr_pull_decode_ldapControlDirSync(struct ndr_pull *ndr, int flags, struct decode_ldapControlDirSync *r)
4758 if (flags & NDR_IN) {
4759 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie));
4761 if (flags & NDR_OUT) {
4763 return NDR_ERR_SUCCESS;
4766 _PUBLIC_ void ndr_print_decode_ldapControlDirSync(struct ndr_print *ndr, const char *name, int flags, const struct decode_ldapControlDirSync *r)
4768 ndr_print_struct(ndr, name, "decode_ldapControlDirSync");
4769 ndr->depth++;
4770 if (flags & NDR_SET_VALUES) {
4771 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4773 if (flags & NDR_IN) {
4774 ndr_print_struct(ndr, "in", "decode_ldapControlDirSync");
4775 ndr->depth++;
4776 ndr_print_ldapControlDirSyncCookie(ndr, "cookie", &r->in.cookie);
4777 ndr->depth--;
4779 if (flags & NDR_OUT) {
4780 ndr_print_struct(ndr, "out", "decode_ldapControlDirSync");
4781 ndr->depth++;
4782 ndr->depth--;
4784 ndr->depth--;
4787 static enum ndr_err_code ndr_push_decode_supplementalCredentials(struct ndr_push *ndr, int flags, const struct decode_supplementalCredentials *r)
4789 if (flags & NDR_IN) {
4790 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob));
4792 if (flags & NDR_OUT) {
4794 return NDR_ERR_SUCCESS;
4797 static enum ndr_err_code ndr_pull_decode_supplementalCredentials(struct ndr_pull *ndr, int flags, struct decode_supplementalCredentials *r)
4799 if (flags & NDR_IN) {
4800 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob));
4802 if (flags & NDR_OUT) {
4804 return NDR_ERR_SUCCESS;
4807 _PUBLIC_ void ndr_print_decode_supplementalCredentials(struct ndr_print *ndr, const char *name, int flags, const struct decode_supplementalCredentials *r)
4809 ndr_print_struct(ndr, name, "decode_supplementalCredentials");
4810 ndr->depth++;
4811 if (flags & NDR_SET_VALUES) {
4812 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4814 if (flags & NDR_IN) {
4815 ndr_print_struct(ndr, "in", "decode_supplementalCredentials");
4816 ndr->depth++;
4817 ndr_print_supplementalCredentialsBlob(ndr, "blob", &r->in.blob);
4818 ndr->depth--;
4820 if (flags & NDR_OUT) {
4821 ndr_print_struct(ndr, "out", "decode_supplementalCredentials");
4822 ndr->depth++;
4823 ndr->depth--;
4825 ndr->depth--;
4828 static enum ndr_err_code ndr_push_decode_Packages(struct ndr_push *ndr, int flags, const struct decode_Packages *r)
4830 if (flags & NDR_IN) {
4831 NDR_CHECK(ndr_push_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob));
4833 if (flags & NDR_OUT) {
4835 return NDR_ERR_SUCCESS;
4838 static enum ndr_err_code ndr_pull_decode_Packages(struct ndr_pull *ndr, int flags, struct decode_Packages *r)
4840 if (flags & NDR_IN) {
4841 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob));
4843 if (flags & NDR_OUT) {
4845 return NDR_ERR_SUCCESS;
4848 _PUBLIC_ void ndr_print_decode_Packages(struct ndr_print *ndr, const char *name, int flags, const struct decode_Packages *r)
4850 ndr_print_struct(ndr, name, "decode_Packages");
4851 ndr->depth++;
4852 if (flags & NDR_SET_VALUES) {
4853 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4855 if (flags & NDR_IN) {
4856 ndr_print_struct(ndr, "in", "decode_Packages");
4857 ndr->depth++;
4858 ndr_print_package_PackagesBlob(ndr, "blob", &r->in.blob);
4859 ndr->depth--;
4861 if (flags & NDR_OUT) {
4862 ndr_print_struct(ndr, "out", "decode_Packages");
4863 ndr->depth++;
4864 ndr->depth--;
4866 ndr->depth--;
4869 static enum ndr_err_code ndr_push_decode_PrimaryKerberos(struct ndr_push *ndr, int flags, const struct decode_PrimaryKerberos *r)
4871 if (flags & NDR_IN) {
4872 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4874 if (flags & NDR_OUT) {
4876 return NDR_ERR_SUCCESS;
4879 static enum ndr_err_code ndr_pull_decode_PrimaryKerberos(struct ndr_pull *ndr, int flags, struct decode_PrimaryKerberos *r)
4881 if (flags & NDR_IN) {
4882 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4884 if (flags & NDR_OUT) {
4886 return NDR_ERR_SUCCESS;
4889 _PUBLIC_ void ndr_print_decode_PrimaryKerberos(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryKerberos *r)
4891 ndr_print_struct(ndr, name, "decode_PrimaryKerberos");
4892 ndr->depth++;
4893 if (flags & NDR_SET_VALUES) {
4894 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4896 if (flags & NDR_IN) {
4897 ndr_print_struct(ndr, "in", "decode_PrimaryKerberos");
4898 ndr->depth++;
4899 ndr_print_package_PrimaryKerberosBlob(ndr, "blob", &r->in.blob);
4900 ndr->depth--;
4902 if (flags & NDR_OUT) {
4903 ndr_print_struct(ndr, "out", "decode_PrimaryKerberos");
4904 ndr->depth++;
4905 ndr->depth--;
4907 ndr->depth--;
4910 static enum ndr_err_code ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push *ndr, int flags, const struct decode_PrimaryCLEARTEXT *r)
4912 if (flags & NDR_IN) {
4913 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob));
4915 if (flags & NDR_OUT) {
4917 return NDR_ERR_SUCCESS;
4920 static enum ndr_err_code ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull *ndr, int flags, struct decode_PrimaryCLEARTEXT *r)
4922 if (flags & NDR_IN) {
4923 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob));
4925 if (flags & NDR_OUT) {
4927 return NDR_ERR_SUCCESS;
4930 _PUBLIC_ void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryCLEARTEXT *r)
4932 ndr_print_struct(ndr, name, "decode_PrimaryCLEARTEXT");
4933 ndr->depth++;
4934 if (flags & NDR_SET_VALUES) {
4935 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4937 if (flags & NDR_IN) {
4938 ndr_print_struct(ndr, "in", "decode_PrimaryCLEARTEXT");
4939 ndr->depth++;
4940 ndr_print_package_PrimaryCLEARTEXTBlob(ndr, "blob", &r->in.blob);
4941 ndr->depth--;
4943 if (flags & NDR_OUT) {
4944 ndr_print_struct(ndr, "out", "decode_PrimaryCLEARTEXT");
4945 ndr->depth++;
4946 ndr->depth--;
4948 ndr->depth--;
4951 static enum ndr_err_code ndr_push_decode_PrimaryWDigest(struct ndr_push *ndr, int flags, const struct decode_PrimaryWDigest *r)
4953 if (flags & NDR_IN) {
4954 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob));
4956 if (flags & NDR_OUT) {
4958 return NDR_ERR_SUCCESS;
4961 static enum ndr_err_code ndr_pull_decode_PrimaryWDigest(struct ndr_pull *ndr, int flags, struct decode_PrimaryWDigest *r)
4963 if (flags & NDR_IN) {
4964 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob));
4966 if (flags & NDR_OUT) {
4968 return NDR_ERR_SUCCESS;
4971 _PUBLIC_ void ndr_print_decode_PrimaryWDigest(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryWDigest *r)
4973 ndr_print_struct(ndr, name, "decode_PrimaryWDigest");
4974 ndr->depth++;
4975 if (flags & NDR_SET_VALUES) {
4976 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4978 if (flags & NDR_IN) {
4979 ndr_print_struct(ndr, "in", "decode_PrimaryWDigest");
4980 ndr->depth++;
4981 ndr_print_package_PrimaryWDigestBlob(ndr, "blob", &r->in.blob);
4982 ndr->depth--;
4984 if (flags & NDR_OUT) {
4985 ndr_print_struct(ndr, "out", "decode_PrimaryWDigest");
4986 ndr->depth++;
4987 ndr->depth--;
4989 ndr->depth--;
4992 static enum ndr_err_code ndr_push_decode_trustAuthInOut(struct ndr_push *ndr, int flags, const struct decode_trustAuthInOut *r)
4994 if (flags & NDR_IN) {
4995 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4997 if (flags & NDR_OUT) {
4999 return NDR_ERR_SUCCESS;
5002 static enum ndr_err_code ndr_pull_decode_trustAuthInOut(struct ndr_pull *ndr, int flags, struct decode_trustAuthInOut *r)
5004 if (flags & NDR_IN) {
5005 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
5007 if (flags & NDR_OUT) {
5009 return NDR_ERR_SUCCESS;
5012 _PUBLIC_ void ndr_print_decode_trustAuthInOut(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustAuthInOut *r)
5014 ndr_print_struct(ndr, name, "decode_trustAuthInOut");
5015 ndr->depth++;
5016 if (flags & NDR_SET_VALUES) {
5017 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5019 if (flags & NDR_IN) {
5020 ndr_print_struct(ndr, "in", "decode_trustAuthInOut");
5021 ndr->depth++;
5022 ndr_print_trustAuthInOutBlob(ndr, "blob", &r->in.blob);
5023 ndr->depth--;
5025 if (flags & NDR_OUT) {
5026 ndr_print_struct(ndr, "out", "decode_trustAuthInOut");
5027 ndr->depth++;
5028 ndr->depth--;
5030 ndr->depth--;
5033 static enum ndr_err_code ndr_push_decode_trustDomainPasswords(struct ndr_push *ndr, int flags, const struct decode_trustDomainPasswords *r)
5035 if (flags & NDR_IN) {
5036 NDR_CHECK(ndr_push_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
5038 if (flags & NDR_OUT) {
5040 return NDR_ERR_SUCCESS;
5043 static enum ndr_err_code ndr_pull_decode_trustDomainPasswords(struct ndr_pull *ndr, int flags, struct decode_trustDomainPasswords *r)
5045 if (flags & NDR_IN) {
5046 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
5048 if (flags & NDR_OUT) {
5050 return NDR_ERR_SUCCESS;
5053 _PUBLIC_ void ndr_print_decode_trustDomainPasswords(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustDomainPasswords *r)
5055 ndr_print_struct(ndr, name, "decode_trustDomainPasswords");
5056 ndr->depth++;
5057 if (flags & NDR_SET_VALUES) {
5058 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5060 if (flags & NDR_IN) {
5061 ndr_print_struct(ndr, "in", "decode_trustDomainPasswords");
5062 ndr->depth++;
5063 ndr_print_trustDomainPasswords(ndr, "blob", &r->in.blob);
5064 ndr->depth--;
5066 if (flags & NDR_OUT) {
5067 ndr_print_struct(ndr, "out", "decode_trustDomainPasswords");
5068 ndr->depth++;
5069 ndr->depth--;
5071 ndr->depth--;
5074 static enum ndr_err_code ndr_push_decode_ExtendedErrorInfo(struct ndr_push *ndr, int flags, const struct decode_ExtendedErrorInfo *r)
5076 if (flags & NDR_IN) {
5078 struct ndr_push *_ndr_ptr;
5079 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1));
5080 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr));
5081 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1));
5084 if (flags & NDR_OUT) {
5086 return NDR_ERR_SUCCESS;
5089 static enum ndr_err_code ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull *ndr, int flags, struct decode_ExtendedErrorInfo *r)
5091 if (flags & NDR_IN) {
5093 struct ndr_pull *_ndr_ptr;
5094 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1));
5095 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr));
5096 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1));
5099 if (flags & NDR_OUT) {
5101 return NDR_ERR_SUCCESS;
5104 _PUBLIC_ void ndr_print_decode_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ExtendedErrorInfo *r)
5106 ndr_print_struct(ndr, name, "decode_ExtendedErrorInfo");
5107 ndr->depth++;
5108 if (flags & NDR_SET_VALUES) {
5109 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5111 if (flags & NDR_IN) {
5112 ndr_print_struct(ndr, "in", "decode_ExtendedErrorInfo");
5113 ndr->depth++;
5114 ndr_print_ExtendedErrorInfoPtr(ndr, "ptr", &r->in.ptr);
5115 ndr->depth--;
5117 if (flags & NDR_OUT) {
5118 ndr_print_struct(ndr, "out", "decode_ExtendedErrorInfo");
5119 ndr->depth++;
5120 ndr->depth--;
5122 ndr->depth--;
5125 static enum ndr_err_code ndr_push_decode_ForestTrustInfo(struct ndr_push *ndr, int flags, const struct decode_ForestTrustInfo *r)
5127 if (flags & NDR_IN) {
5128 NDR_CHECK(ndr_push_ForestTrustInfo(ndr, NDR_SCALARS, &r->in.blob));
5130 if (flags & NDR_OUT) {
5132 return NDR_ERR_SUCCESS;
5135 static enum ndr_err_code ndr_pull_decode_ForestTrustInfo(struct ndr_pull *ndr, int flags, struct decode_ForestTrustInfo *r)
5137 if (flags & NDR_IN) {
5138 NDR_CHECK(ndr_pull_ForestTrustInfo(ndr, NDR_SCALARS, &r->in.blob));
5140 if (flags & NDR_OUT) {
5142 return NDR_ERR_SUCCESS;
5145 _PUBLIC_ void ndr_print_decode_ForestTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ForestTrustInfo *r)
5147 ndr_print_struct(ndr, name, "decode_ForestTrustInfo");
5148 ndr->depth++;
5149 if (flags & NDR_SET_VALUES) {
5150 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5152 if (flags & NDR_IN) {
5153 ndr_print_struct(ndr, "in", "decode_ForestTrustInfo");
5154 ndr->depth++;
5155 ndr_print_ForestTrustInfo(ndr, "blob", &r->in.blob);
5156 ndr->depth--;
5158 if (flags & NDR_OUT) {
5159 ndr_print_struct(ndr, "out", "decode_ForestTrustInfo");
5160 ndr->depth++;
5161 ndr->depth--;
5163 ndr->depth--;
5166 static const struct ndr_interface_call drsblobs_calls[] = {
5168 "decode_replPropertyMetaData",
5169 sizeof(struct decode_replPropertyMetaData),
5170 (ndr_push_flags_fn_t) ndr_push_decode_replPropertyMetaData,
5171 (ndr_pull_flags_fn_t) ndr_pull_decode_replPropertyMetaData,
5172 (ndr_print_function_t) ndr_print_decode_replPropertyMetaData,
5173 false,
5176 "decode_replUpToDateVector",
5177 sizeof(struct decode_replUpToDateVector),
5178 (ndr_push_flags_fn_t) ndr_push_decode_replUpToDateVector,
5179 (ndr_pull_flags_fn_t) ndr_pull_decode_replUpToDateVector,
5180 (ndr_print_function_t) ndr_print_decode_replUpToDateVector,
5181 false,
5184 "decode_repsFromTo",
5185 sizeof(struct decode_repsFromTo),
5186 (ndr_push_flags_fn_t) ndr_push_decode_repsFromTo,
5187 (ndr_pull_flags_fn_t) ndr_pull_decode_repsFromTo,
5188 (ndr_print_function_t) ndr_print_decode_repsFromTo,
5189 false,
5192 "decode_partialAttributeSet",
5193 sizeof(struct decode_partialAttributeSet),
5194 (ndr_push_flags_fn_t) ndr_push_decode_partialAttributeSet,
5195 (ndr_pull_flags_fn_t) ndr_pull_decode_partialAttributeSet,
5196 (ndr_print_function_t) ndr_print_decode_partialAttributeSet,
5197 false,
5200 "decode_prefixMap",
5201 sizeof(struct decode_prefixMap),
5202 (ndr_push_flags_fn_t) ndr_push_decode_prefixMap,
5203 (ndr_pull_flags_fn_t) ndr_pull_decode_prefixMap,
5204 (ndr_print_function_t) ndr_print_decode_prefixMap,
5205 false,
5208 "decode_ldapControlDirSync",
5209 sizeof(struct decode_ldapControlDirSync),
5210 (ndr_push_flags_fn_t) ndr_push_decode_ldapControlDirSync,
5211 (ndr_pull_flags_fn_t) ndr_pull_decode_ldapControlDirSync,
5212 (ndr_print_function_t) ndr_print_decode_ldapControlDirSync,
5213 false,
5216 "decode_supplementalCredentials",
5217 sizeof(struct decode_supplementalCredentials),
5218 (ndr_push_flags_fn_t) ndr_push_decode_supplementalCredentials,
5219 (ndr_pull_flags_fn_t) ndr_pull_decode_supplementalCredentials,
5220 (ndr_print_function_t) ndr_print_decode_supplementalCredentials,
5221 false,
5224 "decode_Packages",
5225 sizeof(struct decode_Packages),
5226 (ndr_push_flags_fn_t) ndr_push_decode_Packages,
5227 (ndr_pull_flags_fn_t) ndr_pull_decode_Packages,
5228 (ndr_print_function_t) ndr_print_decode_Packages,
5229 false,
5232 "decode_PrimaryKerberos",
5233 sizeof(struct decode_PrimaryKerberos),
5234 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryKerberos,
5235 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryKerberos,
5236 (ndr_print_function_t) ndr_print_decode_PrimaryKerberos,
5237 false,
5240 "decode_PrimaryCLEARTEXT",
5241 sizeof(struct decode_PrimaryCLEARTEXT),
5242 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryCLEARTEXT,
5243 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryCLEARTEXT,
5244 (ndr_print_function_t) ndr_print_decode_PrimaryCLEARTEXT,
5245 false,
5248 "decode_PrimaryWDigest",
5249 sizeof(struct decode_PrimaryWDigest),
5250 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryWDigest,
5251 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryWDigest,
5252 (ndr_print_function_t) ndr_print_decode_PrimaryWDigest,
5253 false,
5256 "decode_trustAuthInOut",
5257 sizeof(struct decode_trustAuthInOut),
5258 (ndr_push_flags_fn_t) ndr_push_decode_trustAuthInOut,
5259 (ndr_pull_flags_fn_t) ndr_pull_decode_trustAuthInOut,
5260 (ndr_print_function_t) ndr_print_decode_trustAuthInOut,
5261 false,
5264 "decode_trustDomainPasswords",
5265 sizeof(struct decode_trustDomainPasswords),
5266 (ndr_push_flags_fn_t) ndr_push_decode_trustDomainPasswords,
5267 (ndr_pull_flags_fn_t) ndr_pull_decode_trustDomainPasswords,
5268 (ndr_print_function_t) ndr_print_decode_trustDomainPasswords,
5269 false,
5272 "decode_ExtendedErrorInfo",
5273 sizeof(struct decode_ExtendedErrorInfo),
5274 (ndr_push_flags_fn_t) ndr_push_decode_ExtendedErrorInfo,
5275 (ndr_pull_flags_fn_t) ndr_pull_decode_ExtendedErrorInfo,
5276 (ndr_print_function_t) ndr_print_decode_ExtendedErrorInfo,
5277 false,
5280 "decode_ForestTrustInfo",
5281 sizeof(struct decode_ForestTrustInfo),
5282 (ndr_push_flags_fn_t) ndr_push_decode_ForestTrustInfo,
5283 (ndr_pull_flags_fn_t) ndr_pull_decode_ForestTrustInfo,
5284 (ndr_print_function_t) ndr_print_decode_ForestTrustInfo,
5285 false,
5287 { NULL, 0, NULL, NULL, NULL, false }
5290 static const char * const drsblobs_endpoint_strings[] = {
5291 "ncacn_np:[\\pipe\\drsblobs]",
5294 static const struct ndr_interface_string_array drsblobs_endpoints = {
5295 .count = 1,
5296 .names = drsblobs_endpoint_strings
5299 static const char * const drsblobs_authservice_strings[] = {
5300 "host",
5303 static const struct ndr_interface_string_array drsblobs_authservices = {
5304 .count = 1,
5305 .names = drsblobs_authservice_strings
5309 const struct ndr_interface_table ndr_table_drsblobs = {
5310 .name = "drsblobs",
5311 .syntax_id = {
5312 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
5313 NDR_DRSBLOBS_VERSION
5315 .helpstring = NDR_DRSBLOBS_HELPSTRING,
5316 .num_calls = 15,
5317 .calls = drsblobs_calls,
5318 .endpoints = &drsblobs_endpoints,
5319 .authservices = &drsblobs_authservices