build: Add an always parameter to CHECK_DECLS
[Samba/gebeck_regimport.git] / librpc / gen_ndr / ndr_drsblobs.c
blobfa8ef895dc73e0ab144960c655383664587a8593
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 _PUBLIC_ enum ndr_err_code ndr_push_schemaInfoBlob(struct ndr_push *ndr, int ndr_flags, const struct schemaInfoBlob *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, 4));
1228 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0xFF));
1230 uint32_t _flags_save_uint32 = ndr->flags;
1231 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
1232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->revision));
1233 ndr->flags = _flags_save_uint32;
1235 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->invocation_id));
1236 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1238 if (ndr_flags & NDR_BUFFERS) {
1240 ndr->flags = _flags_save_STRUCT;
1242 return NDR_ERR_SUCCESS;
1245 _PUBLIC_ enum ndr_err_code ndr_pull_schemaInfoBlob(struct ndr_pull *ndr, int ndr_flags, struct schemaInfoBlob *r)
1248 uint32_t _flags_save_STRUCT = ndr->flags;
1249 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1250 if (ndr_flags & NDR_SCALARS) {
1251 NDR_CHECK(ndr_pull_align(ndr, 4));
1252 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->marker));
1254 uint32_t _flags_save_uint32 = ndr->flags;
1255 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
1256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->revision));
1257 ndr->flags = _flags_save_uint32;
1259 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->invocation_id));
1260 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1262 if (ndr_flags & NDR_BUFFERS) {
1264 ndr->flags = _flags_save_STRUCT;
1266 return NDR_ERR_SUCCESS;
1269 _PUBLIC_ void ndr_print_schemaInfoBlob(struct ndr_print *ndr, const char *name, const struct schemaInfoBlob *r)
1271 ndr_print_struct(ndr, name, "schemaInfoBlob");
1273 uint32_t _flags_save_STRUCT = ndr->flags;
1274 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1275 ndr->depth++;
1276 ndr_print_uint8(ndr, "marker", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0xFF:r->marker);
1277 ndr_print_uint32(ndr, "revision", r->revision);
1278 ndr_print_GUID(ndr, "invocation_id", &r->invocation_id);
1279 ndr->depth--;
1280 ndr->flags = _flags_save_STRUCT;
1284 static enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Entry(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Entry *r)
1287 uint32_t _flags_save_STRUCT = ndr->flags;
1288 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1289 if (ndr_flags & NDR_SCALARS) {
1290 NDR_CHECK(ndr_push_align(ndr, 2));
1291 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->entryID));
1292 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1293 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1294 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
1296 if (ndr_flags & NDR_BUFFERS) {
1298 ndr->flags = _flags_save_STRUCT;
1300 return NDR_ERR_SUCCESS;
1303 static enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Entry(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Entry *r)
1306 uint32_t _flags_save_STRUCT = ndr->flags;
1307 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1308 if (ndr_flags & NDR_SCALARS) {
1309 NDR_CHECK(ndr_pull_align(ndr, 2));
1310 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->entryID));
1311 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1312 NDR_PULL_ALLOC_N(ndr, r->binary_oid, r->length);
1313 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length));
1314 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
1316 if (ndr_flags & NDR_BUFFERS) {
1318 ndr->flags = _flags_save_STRUCT;
1320 return NDR_ERR_SUCCESS;
1323 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Ctr *r)
1325 uint32_t cntr_entries_0;
1326 if (ndr_flags & NDR_SCALARS) {
1327 NDR_CHECK(ndr_push_align(ndr, 4));
1328 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_entries));
1329 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->iconv_convenience, ndr->flags)));
1330 for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
1331 NDR_CHECK(ndr_push_drsuapi_MSPrefixMap_Entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
1333 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1335 if (ndr_flags & NDR_BUFFERS) {
1337 return NDR_ERR_SUCCESS;
1340 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Ctr *r)
1342 uint32_t cntr_entries_0;
1343 TALLOC_CTX *_mem_save_entries_0;
1344 if (ndr_flags & NDR_SCALARS) {
1345 NDR_CHECK(ndr_pull_align(ndr, 4));
1346 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_entries));
1347 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1348 NDR_PULL_ALLOC_N(ndr, r->entries, r->num_entries);
1349 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
1350 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
1351 for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) {
1352 NDR_CHECK(ndr_pull_drsuapi_MSPrefixMap_Entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0]));
1354 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
1355 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1357 if (ndr_flags & NDR_BUFFERS) {
1359 return NDR_ERR_SUCCESS;
1362 _PUBLIC_ void ndr_print_drsuapi_MSPrefixMap_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_MSPrefixMap_Ctr *r)
1364 uint32_t cntr_entries_0;
1365 ndr_print_struct(ndr, name, "drsuapi_MSPrefixMap_Ctr");
1366 ndr->depth++;
1367 ndr_print_uint32(ndr, "num_entries", r->num_entries);
1368 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);
1369 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->num_entries);
1370 ndr->depth++;
1371 for (cntr_entries_0=0;cntr_entries_0<r->num_entries;cntr_entries_0++) {
1372 char *idx_0=NULL;
1373 if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) {
1374 ndr_print_drsuapi_MSPrefixMap_Entry(ndr, "entries", &r->entries[cntr_entries_0]);
1375 free(idx_0);
1378 ndr->depth--;
1379 ndr->depth--;
1382 _PUBLIC_ size_t ndr_size_drsuapi_MSPrefixMap_Ctr(const struct drsuapi_MSPrefixMap_Ctr *r, struct smb_iconv_convenience *ic, int flags)
1384 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_MSPrefixMap_Ctr, ic);
1387 static enum ndr_err_code ndr_push_prefixMapVersion(struct ndr_push *ndr, int ndr_flags, enum prefixMapVersion r)
1389 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1390 return NDR_ERR_SUCCESS;
1393 static enum ndr_err_code ndr_pull_prefixMapVersion(struct ndr_pull *ndr, int ndr_flags, enum prefixMapVersion *r)
1395 uint32_t v;
1396 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1397 *r = v;
1398 return NDR_ERR_SUCCESS;
1401 _PUBLIC_ void ndr_print_prefixMapVersion(struct ndr_print *ndr, const char *name, enum prefixMapVersion r)
1403 const char *val = NULL;
1405 switch (r) {
1406 case PREFIX_MAP_VERSION_DSDB: val = "PREFIX_MAP_VERSION_DSDB"; break;
1408 ndr_print_enum(ndr, name, "ENUM", val, r);
1411 static enum ndr_err_code ndr_push_prefixMapCtr(struct ndr_push *ndr, int ndr_flags, const union prefixMapCtr *r)
1413 if (ndr_flags & NDR_SCALARS) {
1414 int level = ndr_push_get_switch_value(ndr, r);
1415 NDR_CHECK(ndr_push_union_align(ndr, 5));
1416 switch (level) {
1417 case PREFIX_MAP_VERSION_DSDB: {
1418 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb));
1419 break; }
1421 default:
1422 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1425 if (ndr_flags & NDR_BUFFERS) {
1426 int level = ndr_push_get_switch_value(ndr, r);
1427 switch (level) {
1428 case PREFIX_MAP_VERSION_DSDB:
1429 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb));
1430 break;
1432 default:
1433 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1436 return NDR_ERR_SUCCESS;
1439 static enum ndr_err_code ndr_pull_prefixMapCtr(struct ndr_pull *ndr, int ndr_flags, union prefixMapCtr *r)
1441 int level;
1442 level = ndr_pull_get_switch_value(ndr, r);
1443 if (ndr_flags & NDR_SCALARS) {
1444 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1445 switch (level) {
1446 case PREFIX_MAP_VERSION_DSDB: {
1447 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb));
1448 break; }
1450 default:
1451 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1454 if (ndr_flags & NDR_BUFFERS) {
1455 switch (level) {
1456 case PREFIX_MAP_VERSION_DSDB:
1457 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb));
1458 break;
1460 default:
1461 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1464 return NDR_ERR_SUCCESS;
1467 _PUBLIC_ void ndr_print_prefixMapCtr(struct ndr_print *ndr, const char *name, const union prefixMapCtr *r)
1469 int level;
1470 level = ndr_print_get_switch_value(ndr, r);
1471 ndr_print_union(ndr, name, level, "prefixMapCtr");
1472 switch (level) {
1473 case PREFIX_MAP_VERSION_DSDB:
1474 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "dsdb", &r->dsdb);
1475 break;
1477 default:
1478 ndr_print_bad_level(ndr, name, level);
1482 _PUBLIC_ enum ndr_err_code ndr_push_prefixMapBlob(struct ndr_push *ndr, int ndr_flags, const struct prefixMapBlob *r)
1484 if (ndr_flags & NDR_SCALARS) {
1485 NDR_CHECK(ndr_push_align(ndr, 5));
1486 NDR_CHECK(ndr_push_prefixMapVersion(ndr, NDR_SCALARS, r->version));
1487 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1488 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1489 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
1490 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1492 if (ndr_flags & NDR_BUFFERS) {
1493 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr));
1495 return NDR_ERR_SUCCESS;
1498 _PUBLIC_ enum ndr_err_code ndr_pull_prefixMapBlob(struct ndr_pull *ndr, int ndr_flags, struct prefixMapBlob *r)
1500 if (ndr_flags & NDR_SCALARS) {
1501 NDR_CHECK(ndr_pull_align(ndr, 5));
1502 NDR_CHECK(ndr_pull_prefixMapVersion(ndr, NDR_SCALARS, &r->version));
1503 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1504 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1505 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
1506 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1508 if (ndr_flags & NDR_BUFFERS) {
1509 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr));
1511 return NDR_ERR_SUCCESS;
1514 _PUBLIC_ void ndr_print_prefixMapBlob(struct ndr_print *ndr, const char *name, const struct prefixMapBlob *r)
1516 ndr_print_struct(ndr, name, "prefixMapBlob");
1517 ndr->depth++;
1518 ndr_print_prefixMapVersion(ndr, "version", r->version);
1519 ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved);
1520 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1521 ndr_print_prefixMapCtr(ndr, "ctr", &r->ctr);
1522 ndr->depth--;
1525 static enum ndr_err_code ndr_push_ldapControlDirSyncExtra(struct ndr_push *ndr, int ndr_flags, const union ldapControlDirSyncExtra *r)
1527 if (ndr_flags & NDR_SCALARS) {
1528 int level = ndr_push_get_switch_value(ndr, r);
1529 NDR_CHECK(ndr_push_union_align(ndr, 8));
1530 switch (level) {
1531 case 0: {
1532 break; }
1534 default: {
1535 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector));
1536 break; }
1540 if (ndr_flags & NDR_BUFFERS) {
1541 int level = ndr_push_get_switch_value(ndr, r);
1542 switch (level) {
1543 case 0:
1544 break;
1546 default:
1547 break;
1551 return NDR_ERR_SUCCESS;
1554 static enum ndr_err_code ndr_pull_ldapControlDirSyncExtra(struct ndr_pull *ndr, int ndr_flags, union ldapControlDirSyncExtra *r)
1556 int level;
1557 level = ndr_pull_get_switch_value(ndr, r);
1558 if (ndr_flags & NDR_SCALARS) {
1559 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1560 switch (level) {
1561 case 0: {
1562 break; }
1564 default: {
1565 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector));
1566 break; }
1570 if (ndr_flags & NDR_BUFFERS) {
1571 switch (level) {
1572 case 0:
1573 break;
1575 default:
1576 break;
1580 return NDR_ERR_SUCCESS;
1583 _PUBLIC_ void ndr_print_ldapControlDirSyncExtra(struct ndr_print *ndr, const char *name, const union ldapControlDirSyncExtra *r)
1585 int level;
1586 level = ndr_print_get_switch_value(ndr, r);
1587 ndr_print_union(ndr, name, level, "ldapControlDirSyncExtra");
1588 switch (level) {
1589 case 0:
1590 break;
1592 default:
1593 ndr_print_replUpToDateVectorBlob(ndr, "uptodateness_vector", &r->uptodateness_vector);
1594 break;
1599 static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
1601 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_ldapControlDirSyncExtra, ic);
1604 static enum ndr_err_code ndr_push_ldapControlDirSyncBlob(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncBlob *r)
1606 if (ndr_flags & NDR_SCALARS) {
1607 NDR_CHECK(ndr_push_align(ndr, 8));
1608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 3));
1609 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
1610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
1611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
1612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0)));
1613 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1614 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
1615 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->extra, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0)));
1616 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra));
1617 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1619 if (ndr_flags & NDR_BUFFERS) {
1620 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra));
1622 return NDR_ERR_SUCCESS;
1625 static enum ndr_err_code ndr_pull_ldapControlDirSyncBlob(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncBlob *r)
1627 if (ndr_flags & NDR_SCALARS) {
1628 NDR_CHECK(ndr_pull_align(ndr, 8));
1629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
1630 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
1631 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
1632 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
1633 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extra_length));
1634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1635 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
1636 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->extra, r->extra_length));
1637 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra));
1638 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1640 if (ndr_flags & NDR_BUFFERS) {
1641 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra));
1643 return NDR_ERR_SUCCESS;
1646 _PUBLIC_ void ndr_print_ldapControlDirSyncBlob(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncBlob *r)
1648 ndr_print_struct(ndr, name, "ldapControlDirSyncBlob");
1649 ndr->depth++;
1650 ndr_print_uint32(ndr, "u1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->u1);
1651 ndr_print_NTTIME(ndr, "time", r->time);
1652 ndr_print_uint32(ndr, "u2", r->u2);
1653 ndr_print_uint32(ndr, "u3", r->u3);
1654 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);
1655 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1656 ndr_print_GUID(ndr, "guid1", &r->guid1);
1657 ndr_print_set_switch_value(ndr, &r->extra, r->extra_length);
1658 ndr_print_ldapControlDirSyncExtra(ndr, "extra", &r->extra);
1659 ndr->depth--;
1662 _PUBLIC_ enum ndr_err_code ndr_push_ldapControlDirSyncCookie(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncCookie *r)
1664 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
1665 if (ndr_flags & NDR_SCALARS) {
1666 NDR_CHECK(ndr_push_align(ndr, 8));
1667 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1668 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "MSDS", 4, sizeof(uint8_t), CH_DOS));
1670 struct ndr_push *_ndr_blob;
1671 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_blob, 0, -1));
1672 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob));
1673 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_blob, 0, -1));
1675 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1677 if (ndr_flags & NDR_BUFFERS) {
1678 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
1680 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
1681 return NDR_ERR_SUCCESS;
1684 _PUBLIC_ enum ndr_err_code ndr_pull_ldapControlDirSyncCookie(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncCookie *r)
1686 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
1687 if (ndr_flags & NDR_SCALARS) {
1688 NDR_CHECK(ndr_pull_align(ndr, 8));
1689 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
1690 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->msds, 4, sizeof(uint8_t), CH_DOS));
1692 struct ndr_pull *_ndr_blob;
1693 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_blob, 0, -1));
1694 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob));
1695 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_blob, 0, -1));
1697 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1699 if (ndr_flags & NDR_BUFFERS) {
1700 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
1702 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
1703 return NDR_ERR_SUCCESS;
1706 _PUBLIC_ void ndr_print_ldapControlDirSyncCookie(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncCookie *r)
1708 ndr_print_struct(ndr, name, "ldapControlDirSyncCookie");
1709 ndr->depth++;
1710 ndr_print_string(ndr, "msds", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"MSDS":r->msds);
1711 ndr_print_ldapControlDirSyncBlob(ndr, "blob", &r->blob);
1712 ndr->depth--;
1715 static enum ndr_err_code ndr_push_supplementalCredentialsPackage(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsPackage *r)
1717 if (ndr_flags & NDR_SCALARS) {
1718 NDR_CHECK(ndr_push_align(ndr, 2));
1719 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->name)));
1720 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->data)));
1721 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved));
1722 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 2 * strlen_m(r->name), sizeof(uint8_t), CH_UTF16));
1723 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data, strlen(r->data), sizeof(uint8_t), CH_DOS));
1724 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
1726 if (ndr_flags & NDR_BUFFERS) {
1728 return NDR_ERR_SUCCESS;
1731 static enum ndr_err_code ndr_pull_supplementalCredentialsPackage(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsPackage *r)
1733 if (ndr_flags & NDR_SCALARS) {
1734 NDR_CHECK(ndr_pull_align(ndr, 2));
1735 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len));
1736 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_len));
1737 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved));
1738 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, r->name_len, sizeof(uint8_t), CH_UTF16));
1739 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data, r->data_len, sizeof(uint8_t), CH_DOS));
1740 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
1742 if (ndr_flags & NDR_BUFFERS) {
1744 return NDR_ERR_SUCCESS;
1747 _PUBLIC_ void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsPackage *r)
1749 ndr_print_struct(ndr, name, "supplementalCredentialsPackage");
1750 ndr->depth++;
1751 ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->name):r->name_len);
1752 ndr_print_uint16(ndr, "data_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->data):r->data_len);
1753 ndr_print_uint16(ndr, "reserved", r->reserved);
1754 ndr_print_string(ndr, "name", r->name);
1755 ndr_print_string(ndr, "data", r->data);
1756 ndr->depth--;
1759 static enum ndr_err_code ndr_push_supplementalCredentialsSignature(struct ndr_push *ndr, int ndr_flags, enum supplementalCredentialsSignature r)
1762 uint32_t _flags_save_ENUM = ndr->flags;
1763 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1764 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1765 ndr->flags = _flags_save_ENUM;
1767 return NDR_ERR_SUCCESS;
1770 static enum ndr_err_code ndr_pull_supplementalCredentialsSignature(struct ndr_pull *ndr, int ndr_flags, enum supplementalCredentialsSignature *r)
1772 uint16_t v;
1774 uint32_t _flags_save_ENUM = ndr->flags;
1775 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1776 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1777 *r = v;
1778 ndr->flags = _flags_save_ENUM;
1780 return NDR_ERR_SUCCESS;
1783 _PUBLIC_ void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r)
1785 const char *val = NULL;
1788 uint32_t _flags_save_ENUM = ndr->flags;
1789 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1790 switch (r) {
1791 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE: val = "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1793 ndr_print_enum(ndr, name, "ENUM", val, r);
1794 ndr->flags = _flags_save_ENUM;
1798 static enum ndr_err_code ndr_push_supplementalCredentialsSubBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsSubBlob *r)
1800 uint32_t cntr_packages_0;
1801 if (ndr_flags & NDR_SCALARS) {
1802 NDR_CHECK(ndr_push_align(ndr, 3));
1803 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_PREFIX, 0x30, sizeof(uint16_t), CH_UTF16));
1804 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_SIGNATURE));
1805 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_packages));
1806 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) {
1807 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0]));
1809 NDR_CHECK(ndr_push_trailer_align(ndr, 3));
1811 if (ndr_flags & NDR_BUFFERS) {
1813 return NDR_ERR_SUCCESS;
1816 static enum ndr_err_code ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsSubBlob *r)
1818 uint32_t cntr_packages_0;
1819 TALLOC_CTX *_mem_save_packages_0;
1820 if (ndr_flags & NDR_SCALARS) {
1821 NDR_CHECK(ndr_pull_align(ndr, 3));
1822 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->prefix, 0x30, sizeof(uint16_t), CH_UTF16));
1823 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr, NDR_SCALARS, &r->signature));
1824 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_packages));
1825 NDR_PULL_ALLOC_N(ndr, r->packages, r->num_packages);
1826 _mem_save_packages_0 = NDR_PULL_GET_MEM_CTX(ndr);
1827 NDR_PULL_SET_MEM_CTX(ndr, r->packages, 0);
1828 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) {
1829 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0]));
1831 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_packages_0, 0);
1832 NDR_CHECK(ndr_pull_trailer_align(ndr, 3));
1834 if (ndr_flags & NDR_BUFFERS) {
1836 return NDR_ERR_SUCCESS;
1839 _PUBLIC_ void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsSubBlob *r)
1841 uint32_t cntr_packages_0;
1842 ndr_print_struct(ndr, name, "supplementalCredentialsSubBlob");
1843 ndr->depth++;
1844 ndr_print_string(ndr, "prefix", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_PREFIX:r->prefix);
1845 ndr_print_supplementalCredentialsSignature(ndr, "signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE:r->signature);
1846 ndr_print_uint16(ndr, "num_packages", r->num_packages);
1847 ndr->print(ndr, "%s: ARRAY(%d)", "packages", (int)r->num_packages);
1848 ndr->depth++;
1849 for (cntr_packages_0=0;cntr_packages_0<r->num_packages;cntr_packages_0++) {
1850 char *idx_0=NULL;
1851 if (asprintf(&idx_0, "[%d]", cntr_packages_0) != -1) {
1852 ndr_print_supplementalCredentialsPackage(ndr, "packages", &r->packages[cntr_packages_0]);
1853 free(idx_0);
1856 ndr->depth--;
1857 ndr->depth--;
1860 static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob *r, struct smb_iconv_convenience *ic, int flags)
1862 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_supplementalCredentialsSubBlob, ic);
1865 _PUBLIC_ enum ndr_err_code ndr_push_supplementalCredentialsBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsBlob *r)
1867 if (ndr_flags & NDR_SCALARS) {
1868 NDR_CHECK(ndr_push_align(ndr, 4));
1869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1870 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1873 struct ndr_push *_ndr_sub;
1874 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1875 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub));
1876 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1878 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0));
1879 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1881 if (ndr_flags & NDR_BUFFERS) {
1883 return NDR_ERR_SUCCESS;
1886 _PUBLIC_ enum ndr_err_code ndr_pull_supplementalCredentialsBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsBlob *r)
1888 if (ndr_flags & NDR_SCALARS) {
1889 NDR_CHECK(ndr_pull_align(ndr, 4));
1890 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
1891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
1894 struct ndr_pull *_ndr_sub;
1895 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sub, 0, r->__ndr_size));
1896 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub));
1897 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sub, 0, r->__ndr_size));
1899 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown3));
1900 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1902 if (ndr_flags & NDR_BUFFERS) {
1904 return NDR_ERR_SUCCESS;
1907 _PUBLIC_ void ndr_print_supplementalCredentialsBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsBlob *r)
1909 ndr_print_struct(ndr, name, "supplementalCredentialsBlob");
1910 ndr->depth++;
1911 ndr_print_uint32(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown1);
1912 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);
1913 ndr_print_uint32(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown2);
1914 ndr_print_supplementalCredentialsSubBlob(ndr, "sub", &r->sub);
1915 ndr_print_uint8(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3);
1916 ndr->depth--;
1919 _PUBLIC_ enum ndr_err_code ndr_push_package_PackagesBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PackagesBlob *r)
1921 if (ndr_flags & NDR_SCALARS) {
1922 NDR_CHECK(ndr_push_align(ndr, 4));
1924 uint32_t _flags_save_string_array = ndr->flags;
1925 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1926 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->names));
1927 ndr->flags = _flags_save_string_array;
1929 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1931 if (ndr_flags & NDR_BUFFERS) {
1933 return NDR_ERR_SUCCESS;
1936 _PUBLIC_ enum ndr_err_code ndr_pull_package_PackagesBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PackagesBlob *r)
1938 if (ndr_flags & NDR_SCALARS) {
1939 NDR_CHECK(ndr_pull_align(ndr, 4));
1941 uint32_t _flags_save_string_array = ndr->flags;
1942 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1943 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->names));
1944 ndr->flags = _flags_save_string_array;
1946 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1948 if (ndr_flags & NDR_BUFFERS) {
1950 return NDR_ERR_SUCCESS;
1953 _PUBLIC_ void ndr_print_package_PackagesBlob(struct ndr_print *ndr, const char *name, const struct package_PackagesBlob *r)
1955 ndr_print_struct(ndr, name, "package_PackagesBlob");
1956 ndr->depth++;
1957 ndr_print_string_array(ndr, "names", r->names);
1958 ndr->depth--;
1961 static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosString *r)
1963 if (ndr_flags & NDR_SCALARS) {
1964 NDR_CHECK(ndr_push_align(ndr, 5));
1965 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
1966 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
1968 uint32_t _flags_save_string = ndr->flags;
1969 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1970 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->string));
1971 ndr->flags = _flags_save_string;
1973 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1975 if (ndr_flags & NDR_BUFFERS) {
1977 uint32_t _flags_save_string = ndr->flags;
1978 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1979 if (r->string) {
1980 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string));
1982 struct ndr_push *_ndr_string;
1983 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string)));
1984 NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string));
1985 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string)));
1987 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string));
1989 ndr->flags = _flags_save_string;
1992 return NDR_ERR_SUCCESS;
1995 static enum ndr_err_code ndr_pull_package_PrimaryKerberosString(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosString *r)
1997 uint32_t _ptr_string;
1998 TALLOC_CTX *_mem_save_string_0;
1999 if (ndr_flags & NDR_SCALARS) {
2000 NDR_CHECK(ndr_pull_align(ndr, 5));
2001 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2002 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2004 uint32_t _flags_save_string = ndr->flags;
2005 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
2006 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
2007 if (_ptr_string) {
2008 NDR_PULL_ALLOC(ndr, r->string);
2009 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->string, _ptr_string));
2010 } else {
2011 r->string = NULL;
2013 ndr->flags = _flags_save_string;
2015 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2017 if (ndr_flags & NDR_BUFFERS) {
2019 uint32_t _flags_save_string = ndr->flags;
2020 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
2021 if (r->string) {
2022 uint32_t _relative_save_offset;
2023 _relative_save_offset = ndr->offset;
2024 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->string));
2025 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
2026 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
2028 struct ndr_pull *_ndr_string;
2029 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_string, 0, r->size));
2030 NDR_CHECK(ndr_pull_string(_ndr_string, NDR_SCALARS, &r->string));
2031 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_string, 0, r->size));
2033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
2034 if (ndr->offset > ndr->relative_highest_offset) {
2035 ndr->relative_highest_offset = ndr->offset;
2037 ndr->offset = _relative_save_offset;
2039 ndr->flags = _flags_save_string;
2042 return NDR_ERR_SUCCESS;
2045 _PUBLIC_ void ndr_print_package_PrimaryKerberosString(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosString *r)
2047 ndr_print_struct(ndr, name, "package_PrimaryKerberosString");
2048 ndr->depth++;
2049 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length);
2050 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size);
2051 ndr_print_ptr(ndr, "string", r->string);
2052 ndr->depth++;
2053 if (r->string) {
2054 ndr_print_string(ndr, "string", r->string);
2056 ndr->depth--;
2057 ndr->depth--;
2060 static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey3 *r)
2062 if (ndr_flags & NDR_SCALARS) {
2063 NDR_CHECK(ndr_push_align(ndr, 5));
2064 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2065 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2066 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
2068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
2070 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2071 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2072 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value));
2073 ndr->flags = _flags_save_DATA_BLOB;
2075 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2077 if (ndr_flags & NDR_BUFFERS) {
2079 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2080 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2081 if (r->value) {
2082 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
2084 struct ndr_push *_ndr_value;
2085 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
2086 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
2087 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
2089 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
2091 ndr->flags = _flags_save_DATA_BLOB;
2094 return NDR_ERR_SUCCESS;
2097 static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey3 *r)
2099 uint32_t _ptr_value;
2100 TALLOC_CTX *_mem_save_value_0;
2101 if (ndr_flags & NDR_SCALARS) {
2102 NDR_CHECK(ndr_pull_align(ndr, 5));
2103 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
2104 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
2105 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
2106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
2107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
2109 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2110 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2111 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
2112 if (_ptr_value) {
2113 NDR_PULL_ALLOC(ndr, r->value);
2114 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value));
2115 } else {
2116 r->value = NULL;
2118 ndr->flags = _flags_save_DATA_BLOB;
2120 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2122 if (ndr_flags & NDR_BUFFERS) {
2124 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2125 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2126 if (r->value) {
2127 uint32_t _relative_save_offset;
2128 _relative_save_offset = ndr->offset;
2129 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value));
2130 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
2131 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0);
2133 struct ndr_pull *_ndr_value;
2134 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len));
2135 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value));
2136 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
2138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
2139 if (ndr->offset > ndr->relative_highest_offset) {
2140 ndr->relative_highest_offset = ndr->offset;
2142 ndr->offset = _relative_save_offset;
2144 ndr->flags = _flags_save_DATA_BLOB;
2147 return NDR_ERR_SUCCESS;
2150 _PUBLIC_ void ndr_print_package_PrimaryKerberosKey3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey3 *r)
2152 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey3");
2153 ndr->depth++;
2154 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2155 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2156 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
2157 ndr_print_uint32(ndr, "keytype", r->keytype);
2158 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
2159 ndr_print_ptr(ndr, "value", r->value);
2160 ndr->depth++;
2161 if (r->value) {
2162 ndr_print_DATA_BLOB(ndr, "value", *r->value);
2164 ndr->depth--;
2165 ndr->depth--;
2168 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr3 *r)
2170 uint32_t cntr_keys_0;
2171 uint32_t cntr_old_keys_0;
2172 if (ndr_flags & NDR_SCALARS) {
2173 NDR_CHECK(ndr_push_align(ndr, 5));
2174 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
2175 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
2176 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2177 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2178 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2180 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2181 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2188 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2190 if (ndr_flags & NDR_BUFFERS) {
2191 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2192 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2193 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2195 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2196 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2199 return NDR_ERR_SUCCESS;
2202 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr3 *r)
2204 uint32_t cntr_keys_0;
2205 TALLOC_CTX *_mem_save_keys_0;
2206 uint32_t cntr_old_keys_0;
2207 TALLOC_CTX *_mem_save_old_keys_0;
2208 if (ndr_flags & NDR_SCALARS) {
2209 NDR_CHECK(ndr_pull_align(ndr, 5));
2210 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
2211 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
2212 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2213 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys);
2214 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2215 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2216 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2217 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2220 NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys);
2221 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2222 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2223 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2224 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2227 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding1));
2228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding2));
2229 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding3));
2230 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding4));
2231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding5));
2232 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2234 if (ndr_flags & NDR_BUFFERS) {
2235 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2236 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2237 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2238 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2239 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2242 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2243 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2244 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2245 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2247 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2249 return NDR_ERR_SUCCESS;
2252 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr3 *r)
2254 uint32_t cntr_keys_0;
2255 uint32_t cntr_old_keys_0;
2256 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr3");
2257 ndr->depth++;
2258 ndr_print_uint16(ndr, "num_keys", r->num_keys);
2259 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys);
2260 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt);
2261 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys);
2262 ndr->depth++;
2263 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
2264 char *idx_0=NULL;
2265 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
2266 ndr_print_package_PrimaryKerberosKey3(ndr, "keys", &r->keys[cntr_keys_0]);
2267 free(idx_0);
2270 ndr->depth--;
2271 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys);
2272 ndr->depth++;
2273 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
2274 char *idx_0=NULL;
2275 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
2276 ndr_print_package_PrimaryKerberosKey3(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
2277 free(idx_0);
2280 ndr->depth--;
2281 ndr_print_uint32(ndr, "padding1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding1);
2282 ndr_print_uint32(ndr, "padding2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding2);
2283 ndr_print_uint32(ndr, "padding3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding3);
2284 ndr_print_uint32(ndr, "padding4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding4);
2285 ndr_print_uint32(ndr, "padding5", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding5);
2286 ndr->depth--;
2289 static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey4 *r)
2291 if (ndr_flags & NDR_SCALARS) {
2292 NDR_CHECK(ndr_push_align(ndr, 5));
2293 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2294 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iteration_count));
2297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
2298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
2300 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2301 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2302 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value));
2303 ndr->flags = _flags_save_DATA_BLOB;
2305 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2307 if (ndr_flags & NDR_BUFFERS) {
2309 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2310 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2311 if (r->value) {
2312 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
2314 struct ndr_push *_ndr_value;
2315 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
2316 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
2317 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
2319 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
2321 ndr->flags = _flags_save_DATA_BLOB;
2324 return NDR_ERR_SUCCESS;
2327 static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey4 *r)
2329 uint32_t _ptr_value;
2330 TALLOC_CTX *_mem_save_value_0;
2331 if (ndr_flags & NDR_SCALARS) {
2332 NDR_CHECK(ndr_pull_align(ndr, 5));
2333 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
2334 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
2335 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
2336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iteration_count));
2337 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
2338 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
2340 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2341 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
2343 if (_ptr_value) {
2344 NDR_PULL_ALLOC(ndr, r->value);
2345 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value));
2346 } else {
2347 r->value = NULL;
2349 ndr->flags = _flags_save_DATA_BLOB;
2351 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2353 if (ndr_flags & NDR_BUFFERS) {
2355 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2356 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2357 if (r->value) {
2358 uint32_t _relative_save_offset;
2359 _relative_save_offset = ndr->offset;
2360 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value));
2361 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
2362 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0);
2364 struct ndr_pull *_ndr_value;
2365 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len));
2366 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value));
2367 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
2369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
2370 if (ndr->offset > ndr->relative_highest_offset) {
2371 ndr->relative_highest_offset = ndr->offset;
2373 ndr->offset = _relative_save_offset;
2375 ndr->flags = _flags_save_DATA_BLOB;
2378 return NDR_ERR_SUCCESS;
2381 _PUBLIC_ void ndr_print_package_PrimaryKerberosKey4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey4 *r)
2383 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey4");
2384 ndr->depth++;
2385 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2386 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2387 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
2388 ndr_print_uint32(ndr, "iteration_count", r->iteration_count);
2389 ndr_print_uint32(ndr, "keytype", r->keytype);
2390 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
2391 ndr_print_ptr(ndr, "value", r->value);
2392 ndr->depth++;
2393 if (r->value) {
2394 ndr_print_DATA_BLOB(ndr, "value", *r->value);
2396 ndr->depth--;
2397 ndr->depth--;
2400 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr4 *r)
2402 uint32_t cntr_keys_0;
2403 uint32_t cntr_old_keys_0;
2404 uint32_t cntr_older_keys_0;
2405 if (ndr_flags & NDR_SCALARS) {
2406 NDR_CHECK(ndr_push_align(ndr, 5));
2407 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
2408 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2409 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
2410 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_older_keys));
2411 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->default_iteration_count));
2413 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2414 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2416 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2417 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2419 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2420 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
2422 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2424 if (ndr_flags & NDR_BUFFERS) {
2425 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2426 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2427 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2429 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2430 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2432 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2433 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
2436 return NDR_ERR_SUCCESS;
2439 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr4 *r)
2441 uint32_t cntr_keys_0;
2442 TALLOC_CTX *_mem_save_keys_0;
2443 uint32_t cntr_service_keys_0;
2444 TALLOC_CTX *_mem_save_service_keys_0;
2445 uint32_t cntr_old_keys_0;
2446 TALLOC_CTX *_mem_save_old_keys_0;
2447 uint32_t cntr_older_keys_0;
2448 TALLOC_CTX *_mem_save_older_keys_0;
2449 if (ndr_flags & NDR_SCALARS) {
2450 NDR_CHECK(ndr_pull_align(ndr, 5));
2451 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
2452 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_service_keys));
2453 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
2454 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_older_keys));
2455 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->default_iteration_count));
2457 NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys);
2458 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2459 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2460 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2461 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2464 NDR_PULL_ALLOC_N(ndr, r->service_keys, r->num_service_keys);
2465 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2466 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
2467 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) {
2468 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->service_keys[cntr_service_keys_0]));
2470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
2471 NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys);
2472 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2473 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2474 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2475 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2478 NDR_PULL_ALLOC_N(ndr, r->older_keys, r->num_older_keys);
2479 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2480 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0);
2481 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2482 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
2484 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0);
2485 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2487 if (ndr_flags & NDR_BUFFERS) {
2488 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2489 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2490 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2491 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2492 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2495 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2496 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
2497 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) {
2498 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->service_keys[cntr_service_keys_0]));
2500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
2501 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2502 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2503 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2504 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2507 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2508 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0);
2509 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2510 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
2512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0);
2514 return NDR_ERR_SUCCESS;
2517 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr4 *r)
2519 uint32_t cntr_keys_0;
2520 uint32_t cntr_service_keys_0;
2521 uint32_t cntr_old_keys_0;
2522 uint32_t cntr_older_keys_0;
2523 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr4");
2524 ndr->depth++;
2525 ndr_print_uint16(ndr, "num_keys", r->num_keys);
2526 ndr_print_uint16(ndr, "num_service_keys", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->num_service_keys);
2527 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys);
2528 ndr_print_uint16(ndr, "num_older_keys", r->num_older_keys);
2529 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt);
2530 ndr_print_uint32(ndr, "default_iteration_count", r->default_iteration_count);
2531 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys);
2532 ndr->depth++;
2533 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
2534 char *idx_0=NULL;
2535 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
2536 ndr_print_package_PrimaryKerberosKey4(ndr, "keys", &r->keys[cntr_keys_0]);
2537 free(idx_0);
2540 ndr->depth--;
2541 ndr->print(ndr, "%s: ARRAY(%d)", "service_keys", (int)r->num_service_keys);
2542 ndr->depth++;
2543 for (cntr_service_keys_0=0;cntr_service_keys_0<r->num_service_keys;cntr_service_keys_0++) {
2544 char *idx_0=NULL;
2545 if (asprintf(&idx_0, "[%d]", cntr_service_keys_0) != -1) {
2546 ndr_print_package_PrimaryKerberosKey4(ndr, "service_keys", &r->service_keys[cntr_service_keys_0]);
2547 free(idx_0);
2550 ndr->depth--;
2551 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys);
2552 ndr->depth++;
2553 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
2554 char *idx_0=NULL;
2555 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
2556 ndr_print_package_PrimaryKerberosKey4(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
2557 free(idx_0);
2560 ndr->depth--;
2561 ndr->print(ndr, "%s: ARRAY(%d)", "older_keys", (int)r->num_older_keys);
2562 ndr->depth++;
2563 for (cntr_older_keys_0=0;cntr_older_keys_0<r->num_older_keys;cntr_older_keys_0++) {
2564 char *idx_0=NULL;
2565 if (asprintf(&idx_0, "[%d]", cntr_older_keys_0) != -1) {
2566 ndr_print_package_PrimaryKerberosKey4(ndr, "older_keys", &r->older_keys[cntr_older_keys_0]);
2567 free(idx_0);
2570 ndr->depth--;
2571 ndr->depth--;
2574 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr(struct ndr_push *ndr, int ndr_flags, const union package_PrimaryKerberosCtr *r)
2576 if (ndr_flags & NDR_SCALARS) {
2577 int level = ndr_push_get_switch_value(ndr, r);
2578 NDR_CHECK(ndr_push_union_align(ndr, 5));
2579 switch (level) {
2580 case 3: {
2581 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
2582 break; }
2584 case 4: {
2585 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4));
2586 break; }
2588 default:
2589 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2592 if (ndr_flags & NDR_BUFFERS) {
2593 int level = ndr_push_get_switch_value(ndr, r);
2594 switch (level) {
2595 case 3:
2596 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
2597 break;
2599 case 4:
2600 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4));
2601 break;
2603 default:
2604 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2607 return NDR_ERR_SUCCESS;
2610 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull *ndr, int ndr_flags, union package_PrimaryKerberosCtr *r)
2612 int level;
2613 level = ndr_pull_get_switch_value(ndr, r);
2614 if (ndr_flags & NDR_SCALARS) {
2615 NDR_CHECK(ndr_pull_union_align(ndr, 5));
2616 switch (level) {
2617 case 3: {
2618 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
2619 break; }
2621 case 4: {
2622 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4));
2623 break; }
2625 default:
2626 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2629 if (ndr_flags & NDR_BUFFERS) {
2630 switch (level) {
2631 case 3:
2632 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
2633 break;
2635 case 4:
2636 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4));
2637 break;
2639 default:
2640 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2643 return NDR_ERR_SUCCESS;
2646 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr(struct ndr_print *ndr, const char *name, const union package_PrimaryKerberosCtr *r)
2648 int level;
2649 level = ndr_print_get_switch_value(ndr, r);
2650 ndr_print_union(ndr, name, level, "package_PrimaryKerberosCtr");
2651 switch (level) {
2652 case 3:
2653 ndr_print_package_PrimaryKerberosCtr3(ndr, "ctr3", &r->ctr3);
2654 break;
2656 case 4:
2657 ndr_print_package_PrimaryKerberosCtr4(ndr, "ctr4", &r->ctr4);
2658 break;
2660 default:
2661 ndr_print_bad_level(ndr, name, level);
2665 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryKerberosBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosBlob *r)
2667 if (ndr_flags & NDR_SCALARS) {
2668 NDR_CHECK(ndr_push_align(ndr, 5));
2669 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version));
2670 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2671 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
2672 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
2673 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2675 if (ndr_flags & NDR_BUFFERS) {
2676 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
2678 return NDR_ERR_SUCCESS;
2681 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosBlob *r)
2683 if (ndr_flags & NDR_SCALARS) {
2684 NDR_CHECK(ndr_pull_align(ndr, 5));
2685 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version));
2686 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
2687 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
2688 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
2689 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2691 if (ndr_flags & NDR_BUFFERS) {
2692 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
2694 return NDR_ERR_SUCCESS;
2697 _PUBLIC_ void ndr_print_package_PrimaryKerberosBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosBlob *r)
2699 ndr_print_struct(ndr, name, "package_PrimaryKerberosBlob");
2700 ndr->depth++;
2701 ndr_print_uint16(ndr, "version", r->version);
2702 ndr_print_uint16(ndr, "flags", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags);
2703 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
2704 ndr_print_package_PrimaryKerberosCtr(ndr, "ctr", &r->ctr);
2705 ndr->depth--;
2708 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryCLEARTEXTBlob *r)
2710 if (ndr_flags & NDR_SCALARS) {
2711 NDR_CHECK(ndr_push_align(ndr, 4));
2713 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2714 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2715 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->cleartext));
2716 ndr->flags = _flags_save_DATA_BLOB;
2718 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2720 if (ndr_flags & NDR_BUFFERS) {
2722 return NDR_ERR_SUCCESS;
2725 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryCLEARTEXTBlob *r)
2727 if (ndr_flags & NDR_SCALARS) {
2728 NDR_CHECK(ndr_pull_align(ndr, 4));
2730 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2731 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2732 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->cleartext));
2733 ndr->flags = _flags_save_DATA_BLOB;
2735 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2737 if (ndr_flags & NDR_BUFFERS) {
2739 return NDR_ERR_SUCCESS;
2742 _PUBLIC_ void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryCLEARTEXTBlob *r)
2744 ndr_print_struct(ndr, name, "package_PrimaryCLEARTEXTBlob");
2745 ndr->depth++;
2746 ndr_print_DATA_BLOB(ndr, "cleartext", r->cleartext);
2747 ndr->depth--;
2750 static enum ndr_err_code ndr_push_package_PrimaryWDigestHash(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestHash *r)
2753 uint32_t _flags_save_STRUCT = ndr->flags;
2754 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2755 if (ndr_flags & NDR_SCALARS) {
2756 NDR_CHECK(ndr_push_align(ndr, 1));
2757 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2758 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2760 if (ndr_flags & NDR_BUFFERS) {
2762 ndr->flags = _flags_save_STRUCT;
2764 return NDR_ERR_SUCCESS;
2767 static enum ndr_err_code ndr_pull_package_PrimaryWDigestHash(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestHash *r)
2770 uint32_t _flags_save_STRUCT = ndr->flags;
2771 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2772 if (ndr_flags & NDR_SCALARS) {
2773 NDR_CHECK(ndr_pull_align(ndr, 1));
2774 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2775 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2777 if (ndr_flags & NDR_BUFFERS) {
2779 ndr->flags = _flags_save_STRUCT;
2781 return NDR_ERR_SUCCESS;
2784 _PUBLIC_ void ndr_print_package_PrimaryWDigestHash(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestHash *r)
2786 ndr_print_struct(ndr, name, "package_PrimaryWDigestHash");
2788 uint32_t _flags_save_STRUCT = ndr->flags;
2789 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2790 ndr->depth++;
2791 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2792 ndr->depth--;
2793 ndr->flags = _flags_save_STRUCT;
2797 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryWDigestBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestBlob *r)
2799 uint32_t cntr_hashes_0;
2800 if (ndr_flags & NDR_SCALARS) {
2801 NDR_CHECK(ndr_push_align(ndr, 4));
2802 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0x31));
2803 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0x01));
2804 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_hashes));
2805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2806 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, 0));
2807 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) {
2808 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0]));
2810 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2812 if (ndr_flags & NDR_BUFFERS) {
2814 return NDR_ERR_SUCCESS;
2817 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestBlob *r)
2819 uint32_t cntr_hashes_0;
2820 TALLOC_CTX *_mem_save_hashes_0;
2821 if (ndr_flags & NDR_SCALARS) {
2822 NDR_CHECK(ndr_pull_align(ndr, 4));
2823 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown1));
2824 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown2));
2825 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_hashes));
2826 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2827 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->uuknown4));
2828 NDR_PULL_ALLOC_N(ndr, r->hashes, r->num_hashes);
2829 _mem_save_hashes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2830 NDR_PULL_SET_MEM_CTX(ndr, r->hashes, 0);
2831 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) {
2832 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0]));
2834 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hashes_0, 0);
2835 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2837 if (ndr_flags & NDR_BUFFERS) {
2839 return NDR_ERR_SUCCESS;
2842 _PUBLIC_ void ndr_print_package_PrimaryWDigestBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestBlob *r)
2844 uint32_t cntr_hashes_0;
2845 ndr_print_struct(ndr, name, "package_PrimaryWDigestBlob");
2846 ndr->depth++;
2847 ndr_print_uint16(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x31:r->unknown1);
2848 ndr_print_uint8(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x01:r->unknown2);
2849 ndr_print_uint8(ndr, "num_hashes", r->num_hashes);
2850 ndr_print_uint32(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3);
2851 ndr_print_udlong(ndr, "uuknown4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->uuknown4);
2852 ndr->print(ndr, "%s: ARRAY(%d)", "hashes", (int)r->num_hashes);
2853 ndr->depth++;
2854 for (cntr_hashes_0=0;cntr_hashes_0<r->num_hashes;cntr_hashes_0++) {
2855 char *idx_0=NULL;
2856 if (asprintf(&idx_0, "[%d]", cntr_hashes_0) != -1) {
2857 ndr_print_package_PrimaryWDigestHash(ndr, "hashes", &r->hashes[cntr_hashes_0]);
2858 free(idx_0);
2861 ndr->depth--;
2862 ndr->depth--;
2865 static enum ndr_err_code ndr_push_AuthInfoNone(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNone *r)
2867 if (ndr_flags & NDR_SCALARS) {
2868 NDR_CHECK(ndr_push_align(ndr, 4));
2869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2870 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2872 if (ndr_flags & NDR_BUFFERS) {
2874 return NDR_ERR_SUCCESS;
2877 static enum ndr_err_code ndr_pull_AuthInfoNone(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNone *r)
2879 if (ndr_flags & NDR_SCALARS) {
2880 NDR_CHECK(ndr_pull_align(ndr, 4));
2881 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2882 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2884 if (ndr_flags & NDR_BUFFERS) {
2886 return NDR_ERR_SUCCESS;
2889 _PUBLIC_ void ndr_print_AuthInfoNone(struct ndr_print *ndr, const char *name, const struct AuthInfoNone *r)
2891 ndr_print_struct(ndr, name, "AuthInfoNone");
2892 ndr->depth++;
2893 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->size);
2894 ndr->depth--;
2897 static enum ndr_err_code ndr_push_AuthInfoNT4Owf(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNT4Owf *r)
2899 if (ndr_flags & NDR_SCALARS) {
2900 NDR_CHECK(ndr_push_align(ndr, 4));
2901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 16));
2902 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->password));
2903 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2905 if (ndr_flags & NDR_BUFFERS) {
2907 return NDR_ERR_SUCCESS;
2910 static enum ndr_err_code ndr_pull_AuthInfoNT4Owf(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNT4Owf *r)
2912 if (ndr_flags & NDR_SCALARS) {
2913 NDR_CHECK(ndr_pull_align(ndr, 4));
2914 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2915 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->password));
2916 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2918 if (ndr_flags & NDR_BUFFERS) {
2920 return NDR_ERR_SUCCESS;
2923 _PUBLIC_ void ndr_print_AuthInfoNT4Owf(struct ndr_print *ndr, const char *name, const struct AuthInfoNT4Owf *r)
2925 ndr_print_struct(ndr, name, "AuthInfoNT4Owf");
2926 ndr->depth++;
2927 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?16:r->size);
2928 ndr_print_samr_Password(ndr, "password", &r->password);
2929 ndr->depth--;
2932 static enum ndr_err_code ndr_push_AuthInfoClear(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoClear *r)
2934 if (ndr_flags & NDR_SCALARS) {
2935 NDR_CHECK(ndr_push_align(ndr, 4));
2936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2937 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, r->size));
2938 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2940 if (ndr_flags & NDR_BUFFERS) {
2942 return NDR_ERR_SUCCESS;
2945 static enum ndr_err_code ndr_pull_AuthInfoClear(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoClear *r)
2947 if (ndr_flags & NDR_SCALARS) {
2948 NDR_CHECK(ndr_pull_align(ndr, 4));
2949 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2950 NDR_PULL_ALLOC_N(ndr, r->password, r->size);
2951 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, r->size));
2952 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2954 if (ndr_flags & NDR_BUFFERS) {
2956 return NDR_ERR_SUCCESS;
2959 _PUBLIC_ void ndr_print_AuthInfoClear(struct ndr_print *ndr, const char *name, const struct AuthInfoClear *r)
2961 ndr_print_struct(ndr, name, "AuthInfoClear");
2962 ndr->depth++;
2963 ndr_print_uint32(ndr, "size", r->size);
2964 ndr_print_array_uint8(ndr, "password", r->password, r->size);
2965 ndr->depth--;
2968 static enum ndr_err_code ndr_push_AuthInfoVersion(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoVersion *r)
2970 if (ndr_flags & NDR_SCALARS) {
2971 NDR_CHECK(ndr_push_align(ndr, 4));
2972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 4));
2973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2974 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2976 if (ndr_flags & NDR_BUFFERS) {
2978 return NDR_ERR_SUCCESS;
2981 static enum ndr_err_code ndr_pull_AuthInfoVersion(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoVersion *r)
2983 if (ndr_flags & NDR_SCALARS) {
2984 NDR_CHECK(ndr_pull_align(ndr, 4));
2985 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2986 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2987 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2989 if (ndr_flags & NDR_BUFFERS) {
2991 return NDR_ERR_SUCCESS;
2994 _PUBLIC_ void ndr_print_AuthInfoVersion(struct ndr_print *ndr, const char *name, const struct AuthInfoVersion *r)
2996 ndr_print_struct(ndr, name, "AuthInfoVersion");
2997 ndr->depth++;
2998 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?4:r->size);
2999 ndr_print_uint32(ndr, "version", r->version);
3000 ndr->depth--;
3003 static enum ndr_err_code ndr_push_AuthInfo(struct ndr_push *ndr, int ndr_flags, const union AuthInfo *r)
3005 if (ndr_flags & NDR_SCALARS) {
3006 int level = ndr_push_get_switch_value(ndr, r);
3007 NDR_CHECK(ndr_push_union_align(ndr, 4));
3008 switch (level) {
3009 case TRUST_AUTH_TYPE_NONE: {
3010 NDR_CHECK(ndr_push_AuthInfoNone(ndr, NDR_SCALARS, &r->none));
3011 break; }
3013 case TRUST_AUTH_TYPE_NT4OWF: {
3014 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf));
3015 break; }
3017 case TRUST_AUTH_TYPE_CLEAR: {
3018 NDR_CHECK(ndr_push_AuthInfoClear(ndr, NDR_SCALARS, &r->clear));
3019 break; }
3021 case TRUST_AUTH_TYPE_VERSION: {
3022 NDR_CHECK(ndr_push_AuthInfoVersion(ndr, NDR_SCALARS, &r->version));
3023 break; }
3025 default:
3026 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3029 if (ndr_flags & NDR_BUFFERS) {
3030 int level = ndr_push_get_switch_value(ndr, r);
3031 switch (level) {
3032 case TRUST_AUTH_TYPE_NONE:
3033 break;
3035 case TRUST_AUTH_TYPE_NT4OWF:
3036 break;
3038 case TRUST_AUTH_TYPE_CLEAR:
3039 break;
3041 case TRUST_AUTH_TYPE_VERSION:
3042 break;
3044 default:
3045 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3048 return NDR_ERR_SUCCESS;
3051 static enum ndr_err_code ndr_pull_AuthInfo(struct ndr_pull *ndr, int ndr_flags, union AuthInfo *r)
3053 int level;
3054 level = ndr_pull_get_switch_value(ndr, r);
3055 if (ndr_flags & NDR_SCALARS) {
3056 NDR_CHECK(ndr_pull_union_align(ndr, 4));
3057 switch (level) {
3058 case TRUST_AUTH_TYPE_NONE: {
3059 NDR_CHECK(ndr_pull_AuthInfoNone(ndr, NDR_SCALARS, &r->none));
3060 break; }
3062 case TRUST_AUTH_TYPE_NT4OWF: {
3063 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf));
3064 break; }
3066 case TRUST_AUTH_TYPE_CLEAR: {
3067 NDR_CHECK(ndr_pull_AuthInfoClear(ndr, NDR_SCALARS, &r->clear));
3068 break; }
3070 case TRUST_AUTH_TYPE_VERSION: {
3071 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr, NDR_SCALARS, &r->version));
3072 break; }
3074 default:
3075 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3078 if (ndr_flags & NDR_BUFFERS) {
3079 switch (level) {
3080 case TRUST_AUTH_TYPE_NONE:
3081 break;
3083 case TRUST_AUTH_TYPE_NT4OWF:
3084 break;
3086 case TRUST_AUTH_TYPE_CLEAR:
3087 break;
3089 case TRUST_AUTH_TYPE_VERSION:
3090 break;
3092 default:
3093 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3096 return NDR_ERR_SUCCESS;
3099 _PUBLIC_ void ndr_print_AuthInfo(struct ndr_print *ndr, const char *name, const union AuthInfo *r)
3101 int level;
3102 level = ndr_print_get_switch_value(ndr, r);
3103 ndr_print_union(ndr, name, level, "AuthInfo");
3104 switch (level) {
3105 case TRUST_AUTH_TYPE_NONE:
3106 ndr_print_AuthInfoNone(ndr, "none", &r->none);
3107 break;
3109 case TRUST_AUTH_TYPE_NT4OWF:
3110 ndr_print_AuthInfoNT4Owf(ndr, "nt4owf", &r->nt4owf);
3111 break;
3113 case TRUST_AUTH_TYPE_CLEAR:
3114 ndr_print_AuthInfoClear(ndr, "clear", &r->clear);
3115 break;
3117 case TRUST_AUTH_TYPE_VERSION:
3118 ndr_print_AuthInfoVersion(ndr, "version", &r->version);
3119 break;
3121 default:
3122 ndr_print_bad_level(ndr, name, level);
3126 _PUBLIC_ enum ndr_err_code ndr_push_AuthenticationInformation(struct ndr_push *ndr, int ndr_flags, const struct AuthenticationInformation *r)
3128 if (ndr_flags & NDR_SCALARS) {
3129 NDR_CHECK(ndr_push_align(ndr, 4));
3130 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->LastUpdateTime));
3131 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType));
3132 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->AuthInfo, r->AuthType));
3133 NDR_CHECK(ndr_push_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo));
3135 uint32_t _flags_save_DATA_BLOB = ndr->flags;
3136 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3137 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
3138 ndr->flags = _flags_save_DATA_BLOB;
3140 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3142 if (ndr_flags & NDR_BUFFERS) {
3144 return NDR_ERR_SUCCESS;
3147 _PUBLIC_ enum ndr_err_code ndr_pull_AuthenticationInformation(struct ndr_pull *ndr, int ndr_flags, struct AuthenticationInformation *r)
3149 if (ndr_flags & NDR_SCALARS) {
3150 NDR_CHECK(ndr_pull_align(ndr, 4));
3151 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->LastUpdateTime));
3152 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType));
3153 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->AuthInfo, r->AuthType));
3154 NDR_CHECK(ndr_pull_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo));
3156 uint32_t _flags_save_DATA_BLOB = ndr->flags;
3157 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3158 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
3159 ndr->flags = _flags_save_DATA_BLOB;
3161 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3163 if (ndr_flags & NDR_BUFFERS) {
3165 return NDR_ERR_SUCCESS;
3168 _PUBLIC_ void ndr_print_AuthenticationInformation(struct ndr_print *ndr, const char *name, const struct AuthenticationInformation *r)
3170 ndr_print_struct(ndr, name, "AuthenticationInformation");
3171 ndr->depth++;
3172 ndr_print_NTTIME(ndr, "LastUpdateTime", r->LastUpdateTime);
3173 ndr_print_lsa_TrustAuthType(ndr, "AuthType", r->AuthType);
3174 ndr_print_set_switch_value(ndr, &r->AuthInfo, r->AuthType);
3175 ndr_print_AuthInfo(ndr, "AuthInfo", &r->AuthInfo);
3176 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
3177 ndr->depth--;
3180 _PUBLIC_ size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob *r, struct smb_iconv_convenience *ic, int flags)
3182 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustAuthInOutBlob, ic);
3185 _PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustCurrentPasswords *r)
3187 uint32_t cntr_current_0;
3188 if (ndr_flags & NDR_SCALARS) {
3189 NDR_CHECK(ndr_push_align(ndr, 5));
3190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3191 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3192 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->current[cntr_current_0]));
3194 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3196 if (ndr_flags & NDR_BUFFERS) {
3197 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3198 if (r->current[cntr_current_0]) {
3199 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0]));
3200 NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
3201 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0]));
3205 return NDR_ERR_SUCCESS;
3208 _PUBLIC_ enum ndr_err_code ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr, int ndr_flags, struct trustCurrentPasswords *r)
3210 uint32_t _ptr_current;
3211 uint32_t cntr_current_0;
3212 TALLOC_CTX *_mem_save_current_0;
3213 TALLOC_CTX *_mem_save_current_1;
3214 if (ndr_flags & NDR_SCALARS) {
3215 NDR_CHECK(ndr_pull_align(ndr, 5));
3216 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3217 NDR_PULL_ALLOC_N(ndr, r->current, r->count);
3218 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr);
3219 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0);
3220 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3221 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_current));
3222 if (_ptr_current) {
3223 NDR_PULL_ALLOC(ndr, r->current[cntr_current_0]);
3224 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->current[cntr_current_0], _ptr_current));
3225 } else {
3226 r->current[cntr_current_0] = NULL;
3229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0);
3230 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3232 if (ndr_flags & NDR_BUFFERS) {
3233 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr);
3234 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0);
3235 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3236 if (r->current[cntr_current_0]) {
3237 uint32_t _relative_save_offset;
3238 _relative_save_offset = ndr->offset;
3239 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->current[cntr_current_0]));
3240 _mem_save_current_1 = NDR_PULL_GET_MEM_CTX(ndr);
3241 NDR_PULL_SET_MEM_CTX(ndr, r->current[cntr_current_0], 0);
3242 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
3243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_1, 0);
3244 if (ndr->offset > ndr->relative_highest_offset) {
3245 ndr->relative_highest_offset = ndr->offset;
3247 ndr->offset = _relative_save_offset;
3250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0);
3252 return NDR_ERR_SUCCESS;
3255 _PUBLIC_ void ndr_print_trustCurrentPasswords(struct ndr_print *ndr, const char *name, const struct trustCurrentPasswords *r)
3257 uint32_t cntr_current_0;
3258 ndr_print_struct(ndr, name, "trustCurrentPasswords");
3259 ndr->depth++;
3260 ndr_print_uint32(ndr, "count", r->count);
3261 ndr->print(ndr, "%s: ARRAY(%d)", "current", (int)r->count);
3262 ndr->depth++;
3263 for (cntr_current_0=0;cntr_current_0<r->count;cntr_current_0++) {
3264 char *idx_0=NULL;
3265 if (asprintf(&idx_0, "[%d]", cntr_current_0) != -1) {
3266 ndr_print_ptr(ndr, "current", r->current[cntr_current_0]);
3267 ndr->depth++;
3268 if (r->current[cntr_current_0]) {
3269 ndr_print_AuthenticationInformation(ndr, "current", r->current[cntr_current_0]);
3271 ndr->depth--;
3272 free(idx_0);
3275 ndr->depth--;
3276 ndr->depth--;
3279 _PUBLIC_ size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords *r, struct smb_iconv_convenience *ic, int flags)
3281 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustCurrentPasswords, ic);
3284 _PUBLIC_ enum ndr_err_code ndr_push_trustDomainPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustDomainPasswords *r)
3286 if (ndr_flags & NDR_SCALARS) {
3287 NDR_CHECK(ndr_push_align(ndr, 5));
3288 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->confounder, 512));
3290 struct ndr_push *_ndr_outgoing;
3291 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3292 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing, NDR_SCALARS|NDR_BUFFERS, &r->outgoing));
3293 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3296 struct ndr_push *_ndr_incoming;
3297 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3298 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming, NDR_SCALARS|NDR_BUFFERS, &r->incoming));
3299 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3301 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3302 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3303 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3305 if (ndr_flags & NDR_BUFFERS) {
3307 return NDR_ERR_SUCCESS;
3310 _PUBLIC_ void ndr_print_trustDomainPasswords(struct ndr_print *ndr, const char *name, const struct trustDomainPasswords *r)
3312 ndr_print_struct(ndr, name, "trustDomainPasswords");
3313 ndr->depth++;
3314 ndr_print_array_uint8(ndr, "confounder", r->confounder, 512);
3315 ndr_print_trustCurrentPasswords(ndr, "outgoing", &r->outgoing);
3316 ndr_print_trustCurrentPasswords(ndr, "incoming", &r->incoming);
3317 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);
3318 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);
3319 ndr->depth--;
3322 _PUBLIC_ enum ndr_err_code ndr_push_DsCompressedChunk(struct ndr_push *ndr, int ndr_flags, const struct DsCompressedChunk *r)
3324 if (ndr_flags & NDR_SCALARS) {
3325 NDR_CHECK(ndr_push_align(ndr, 4));
3326 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->marker));
3327 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
3328 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3330 if (ndr_flags & NDR_BUFFERS) {
3332 return NDR_ERR_SUCCESS;
3335 _PUBLIC_ enum ndr_err_code ndr_pull_DsCompressedChunk(struct ndr_pull *ndr, int ndr_flags, struct DsCompressedChunk *r)
3337 if (ndr_flags & NDR_SCALARS) {
3338 NDR_CHECK(ndr_pull_align(ndr, 4));
3339 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->marker));
3340 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
3341 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3343 if (ndr_flags & NDR_BUFFERS) {
3345 return NDR_ERR_SUCCESS;
3348 _PUBLIC_ void ndr_print_DsCompressedChunk(struct ndr_print *ndr, const char *name, const struct DsCompressedChunk *r)
3350 ndr_print_struct(ndr, name, "DsCompressedChunk");
3351 ndr->depth++;
3352 ndr_print_uint32(ndr, "marker", r->marker);
3353 ndr_print_DATA_BLOB(ndr, "data", r->data);
3354 ndr->depth--;
3357 static enum ndr_err_code ndr_push_ExtendedErrorAString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorAString *r)
3359 if (ndr_flags & NDR_SCALARS) {
3360 NDR_CHECK(ndr_push_align(ndr, 5));
3361 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size));
3362 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
3363 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3365 if (ndr_flags & NDR_BUFFERS) {
3366 if (r->string) {
3367 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size));
3368 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint8_t), CH_DOS));
3371 return NDR_ERR_SUCCESS;
3374 static enum ndr_err_code ndr_pull_ExtendedErrorAString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorAString *r)
3376 uint32_t _ptr_string;
3377 TALLOC_CTX *_mem_save_string_0;
3378 if (ndr_flags & NDR_SCALARS) {
3379 NDR_CHECK(ndr_pull_align(ndr, 5));
3380 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size));
3381 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
3382 if (_ptr_string) {
3383 NDR_PULL_ALLOC(ndr, r->string);
3384 } else {
3385 r->string = NULL;
3387 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3389 if (ndr_flags & NDR_BUFFERS) {
3390 if (r->string) {
3391 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
3392 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
3393 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
3394 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint8_t), CH_DOS));
3395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
3397 if (r->string) {
3398 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size));
3401 return NDR_ERR_SUCCESS;
3404 _PUBLIC_ void ndr_print_ExtendedErrorAString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorAString *r)
3406 ndr_print_struct(ndr, name, "ExtendedErrorAString");
3407 ndr->depth++;
3408 ndr_print_uint16(ndr, "__size", r->__size);
3409 ndr_print_ptr(ndr, "string", r->string);
3410 ndr->depth++;
3411 if (r->string) {
3412 ndr_print_string(ndr, "string", r->string);
3414 ndr->depth--;
3415 ndr->depth--;
3418 static enum ndr_err_code ndr_push_ExtendedErrorUString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorUString *r)
3420 if (ndr_flags & NDR_SCALARS) {
3421 NDR_CHECK(ndr_push_align(ndr, 5));
3422 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size));
3423 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
3424 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3426 if (ndr_flags & NDR_BUFFERS) {
3427 if (r->string) {
3428 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size));
3429 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint16_t), CH_UTF16));
3432 return NDR_ERR_SUCCESS;
3435 static enum ndr_err_code ndr_pull_ExtendedErrorUString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorUString *r)
3437 uint32_t _ptr_string;
3438 TALLOC_CTX *_mem_save_string_0;
3439 if (ndr_flags & NDR_SCALARS) {
3440 NDR_CHECK(ndr_pull_align(ndr, 5));
3441 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size));
3442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
3443 if (_ptr_string) {
3444 NDR_PULL_ALLOC(ndr, r->string);
3445 } else {
3446 r->string = NULL;
3448 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3450 if (ndr_flags & NDR_BUFFERS) {
3451 if (r->string) {
3452 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
3453 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
3454 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
3455 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
3456 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
3458 if (r->string) {
3459 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size));
3462 return NDR_ERR_SUCCESS;
3465 _PUBLIC_ void ndr_print_ExtendedErrorUString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorUString *r)
3467 ndr_print_struct(ndr, name, "ExtendedErrorUString");
3468 ndr->depth++;
3469 ndr_print_uint16(ndr, "__size", r->__size);
3470 ndr_print_ptr(ndr, "string", r->string);
3471 ndr->depth++;
3472 if (r->string) {
3473 ndr_print_string(ndr, "string", r->string);
3475 ndr->depth--;
3476 ndr->depth--;
3479 static enum ndr_err_code ndr_push_ExtendedErrorBlob(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorBlob *r)
3481 if (ndr_flags & NDR_SCALARS) {
3482 NDR_CHECK(ndr_push_align(ndr, 5));
3483 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
3484 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
3485 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3487 if (ndr_flags & NDR_BUFFERS) {
3488 if (r->data) {
3489 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
3490 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
3493 return NDR_ERR_SUCCESS;
3496 static enum ndr_err_code ndr_pull_ExtendedErrorBlob(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorBlob *r)
3498 uint32_t _ptr_data;
3499 TALLOC_CTX *_mem_save_data_0;
3500 if (ndr_flags & NDR_SCALARS) {
3501 NDR_CHECK(ndr_pull_align(ndr, 5));
3502 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
3503 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
3504 if (_ptr_data) {
3505 NDR_PULL_ALLOC(ndr, r->data);
3506 } else {
3507 r->data = NULL;
3509 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3511 if (ndr_flags & NDR_BUFFERS) {
3512 if (r->data) {
3513 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3514 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
3515 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
3516 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
3517 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
3518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
3520 if (r->data) {
3521 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
3524 return NDR_ERR_SUCCESS;
3527 _PUBLIC_ void ndr_print_ExtendedErrorBlob(struct ndr_print *ndr, const char *name, const struct ExtendedErrorBlob *r)
3529 ndr_print_struct(ndr, name, "ExtendedErrorBlob");
3530 ndr->depth++;
3531 ndr_print_uint16(ndr, "length", r->length);
3532 ndr_print_ptr(ndr, "data", r->data);
3533 ndr->depth++;
3534 if (r->data) {
3535 ndr_print_array_uint8(ndr, "data", r->data, r->length);
3537 ndr->depth--;
3538 ndr->depth--;
3541 static enum ndr_err_code ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent r)
3543 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3544 return NDR_ERR_SUCCESS;
3547 static enum ndr_err_code ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent *r)
3549 uint16_t v;
3550 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3551 *r = v;
3552 return NDR_ERR_SUCCESS;
3555 _PUBLIC_ void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print *ndr, const char *name, enum ExtendedErrorComputerNamePresent r)
3557 const char *val = NULL;
3559 switch (r) {
3560 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3561 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3563 ndr_print_enum(ndr, name, "ENUM", val, r);
3566 static enum ndr_err_code ndr_push_ExtendedErrorComputerNameU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorComputerNameU *r)
3568 if (ndr_flags & NDR_SCALARS) {
3569 int level = ndr_push_get_switch_value(ndr, r);
3570 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, level));
3571 NDR_CHECK(ndr_push_union_align(ndr, 5));
3572 switch (level) {
3573 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: {
3574 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name));
3575 break; }
3577 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: {
3578 break; }
3580 default:
3581 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3584 if (ndr_flags & NDR_BUFFERS) {
3585 int level = ndr_push_get_switch_value(ndr, r);
3586 switch (level) {
3587 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3588 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name));
3589 break;
3591 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3592 break;
3594 default:
3595 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3598 return NDR_ERR_SUCCESS;
3601 static enum ndr_err_code ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorComputerNameU *r)
3603 int level;
3604 uint16_t _level;
3605 level = ndr_pull_get_switch_value(ndr, r);
3606 if (ndr_flags & NDR_SCALARS) {
3607 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3608 if (_level != level) {
3609 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3611 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3612 switch (level) {
3613 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: {
3614 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name));
3615 break; }
3617 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: {
3618 break; }
3620 default:
3621 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3624 if (ndr_flags & NDR_BUFFERS) {
3625 switch (level) {
3626 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3627 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name));
3628 break;
3630 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3631 break;
3633 default:
3634 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3637 return NDR_ERR_SUCCESS;
3640 _PUBLIC_ void ndr_print_ExtendedErrorComputerNameU(struct ndr_print *ndr, const char *name, const union ExtendedErrorComputerNameU *r)
3642 int level;
3643 level = ndr_print_get_switch_value(ndr, r);
3644 ndr_print_union(ndr, name, level, "ExtendedErrorComputerNameU");
3645 switch (level) {
3646 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3647 ndr_print_ExtendedErrorUString(ndr, "name", &r->name);
3648 break;
3650 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3651 break;
3653 default:
3654 ndr_print_bad_level(ndr, name, level);
3658 static enum ndr_err_code ndr_push_ExtendedErrorComputerName(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorComputerName *r)
3660 if (ndr_flags & NDR_SCALARS) {
3661 NDR_CHECK(ndr_push_align(ndr, 5));
3662 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, r->present));
3663 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->n, r->present));
3664 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n));
3665 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3667 if (ndr_flags & NDR_BUFFERS) {
3668 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n));
3670 return NDR_ERR_SUCCESS;
3673 static enum ndr_err_code ndr_pull_ExtendedErrorComputerName(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorComputerName *r)
3675 if (ndr_flags & NDR_SCALARS) {
3676 NDR_CHECK(ndr_pull_align(ndr, 5));
3677 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, &r->present));
3678 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->n, r->present));
3679 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n));
3680 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3682 if (ndr_flags & NDR_BUFFERS) {
3683 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n));
3685 return NDR_ERR_SUCCESS;
3688 _PUBLIC_ void ndr_print_ExtendedErrorComputerName(struct ndr_print *ndr, const char *name, const struct ExtendedErrorComputerName *r)
3690 ndr_print_struct(ndr, name, "ExtendedErrorComputerName");
3691 ndr->depth++;
3692 ndr_print_ExtendedErrorComputerNamePresent(ndr, "present", r->present);
3693 ndr_print_set_switch_value(ndr, &r->n, r->present);
3694 ndr_print_ExtendedErrorComputerNameU(ndr, "n", &r->n);
3695 ndr->depth--;
3698 static enum ndr_err_code ndr_push_ExtendedErrorParamType(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorParamType r)
3700 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3701 return NDR_ERR_SUCCESS;
3704 static enum ndr_err_code ndr_pull_ExtendedErrorParamType(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorParamType *r)
3706 uint16_t v;
3707 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3708 *r = v;
3709 return NDR_ERR_SUCCESS;
3712 _PUBLIC_ void ndr_print_ExtendedErrorParamType(struct ndr_print *ndr, const char *name, enum ExtendedErrorParamType r)
3714 const char *val = NULL;
3716 switch (r) {
3717 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3718 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3719 case EXTENDED_ERROR_PARAM_TYPE_UINT32: val = "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3720 case EXTENDED_ERROR_PARAM_TYPE_UINT16: val = "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3721 case EXTENDED_ERROR_PARAM_TYPE_UINT64: val = "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3722 case EXTENDED_ERROR_PARAM_TYPE_NONE: val = "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3723 case EXTENDED_ERROR_PARAM_TYPE_BLOB: val = "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3725 ndr_print_enum(ndr, name, "ENUM", val, r);
3728 static enum ndr_err_code ndr_push_ExtendedErrorParamU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorParamU *r)
3730 if (ndr_flags & NDR_SCALARS) {
3731 int level = ndr_push_get_switch_value(ndr, r);
3732 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, level));
3733 NDR_CHECK(ndr_push_union_align(ndr, 8));
3734 switch (level) {
3735 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: {
3736 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string));
3737 break; }
3739 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: {
3740 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string));
3741 break; }
3743 case EXTENDED_ERROR_PARAM_TYPE_UINT32: {
3744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->uint32));
3745 break; }
3747 case EXTENDED_ERROR_PARAM_TYPE_UINT16: {
3748 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->uint16));
3749 break; }
3751 case EXTENDED_ERROR_PARAM_TYPE_UINT64: {
3752 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uint64));
3753 break; }
3755 case EXTENDED_ERROR_PARAM_TYPE_NONE: {
3756 break; }
3758 case EXTENDED_ERROR_PARAM_TYPE_BLOB: {
3759 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob));
3760 break; }
3762 default:
3763 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3766 if (ndr_flags & NDR_BUFFERS) {
3767 int level = ndr_push_get_switch_value(ndr, r);
3768 switch (level) {
3769 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3770 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string));
3771 break;
3773 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3774 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string));
3775 break;
3777 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3778 break;
3780 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3781 break;
3783 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3784 break;
3786 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3787 break;
3789 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3790 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob));
3791 break;
3793 default:
3794 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3797 return NDR_ERR_SUCCESS;
3800 static enum ndr_err_code ndr_pull_ExtendedErrorParamU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorParamU *r)
3802 int level;
3803 uint16_t _level;
3804 level = ndr_pull_get_switch_value(ndr, r);
3805 if (ndr_flags & NDR_SCALARS) {
3806 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3807 if (_level != level) {
3808 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3810 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3811 switch (level) {
3812 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: {
3813 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string));
3814 break; }
3816 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: {
3817 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string));
3818 break; }
3820 case EXTENDED_ERROR_PARAM_TYPE_UINT32: {
3821 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->uint32));
3822 break; }
3824 case EXTENDED_ERROR_PARAM_TYPE_UINT16: {
3825 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->uint16));
3826 break; }
3828 case EXTENDED_ERROR_PARAM_TYPE_UINT64: {
3829 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uint64));
3830 break; }
3832 case EXTENDED_ERROR_PARAM_TYPE_NONE: {
3833 break; }
3835 case EXTENDED_ERROR_PARAM_TYPE_BLOB: {
3836 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob));
3837 break; }
3839 default:
3840 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3843 if (ndr_flags & NDR_BUFFERS) {
3844 switch (level) {
3845 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3846 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string));
3847 break;
3849 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3850 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string));
3851 break;
3853 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3854 break;
3856 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3857 break;
3859 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3860 break;
3862 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3863 break;
3865 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3866 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob));
3867 break;
3869 default:
3870 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3873 return NDR_ERR_SUCCESS;
3876 _PUBLIC_ void ndr_print_ExtendedErrorParamU(struct ndr_print *ndr, const char *name, const union ExtendedErrorParamU *r)
3878 int level;
3879 level = ndr_print_get_switch_value(ndr, r);
3880 ndr_print_union(ndr, name, level, "ExtendedErrorParamU");
3881 switch (level) {
3882 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3883 ndr_print_ExtendedErrorAString(ndr, "a_string", &r->a_string);
3884 break;
3886 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3887 ndr_print_ExtendedErrorUString(ndr, "u_string", &r->u_string);
3888 break;
3890 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3891 ndr_print_uint32(ndr, "uint32", r->uint32);
3892 break;
3894 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3895 ndr_print_uint16(ndr, "uint16", r->uint16);
3896 break;
3898 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3899 ndr_print_hyper(ndr, "uint64", r->uint64);
3900 break;
3902 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3903 break;
3905 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3906 ndr_print_ExtendedErrorBlob(ndr, "blob", &r->blob);
3907 break;
3909 default:
3910 ndr_print_bad_level(ndr, name, level);
3914 static enum ndr_err_code ndr_push_ExtendedErrorParam(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorParam *r)
3916 if (ndr_flags & NDR_SCALARS) {
3917 NDR_CHECK(ndr_push_align(ndr, 8));
3918 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, r->type));
3919 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->p, r->type));
3920 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p));
3921 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3923 if (ndr_flags & NDR_BUFFERS) {
3924 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p));
3926 return NDR_ERR_SUCCESS;
3929 static enum ndr_err_code ndr_pull_ExtendedErrorParam(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorParam *r)
3931 if (ndr_flags & NDR_SCALARS) {
3932 NDR_CHECK(ndr_pull_align(ndr, 8));
3933 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr, NDR_SCALARS, &r->type));
3934 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->p, r->type));
3935 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p));
3936 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3938 if (ndr_flags & NDR_BUFFERS) {
3939 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p));
3941 return NDR_ERR_SUCCESS;
3944 _PUBLIC_ void ndr_print_ExtendedErrorParam(struct ndr_print *ndr, const char *name, const struct ExtendedErrorParam *r)
3946 ndr_print_struct(ndr, name, "ExtendedErrorParam");
3947 ndr->depth++;
3948 ndr_print_ExtendedErrorParamType(ndr, "type", r->type);
3949 ndr_print_set_switch_value(ndr, &r->p, r->type);
3950 ndr_print_ExtendedErrorParamU(ndr, "p", &r->p);
3951 ndr->depth--;
3954 _PUBLIC_ enum ndr_err_code ndr_push_ExtendedErrorInfo(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfo *r)
3956 uint32_t cntr_params_0;
3957 if (ndr_flags & NDR_SCALARS) {
3958 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_params));
3959 NDR_CHECK(ndr_push_align(ndr, 8));
3960 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
3961 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name));
3962 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pid));
3963 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
3964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->generating_component));
3965 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
3966 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->detection_location));
3967 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags));
3968 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_params));
3969 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3970 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0]));
3972 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3974 if (ndr_flags & NDR_BUFFERS) {
3975 if (r->next) {
3976 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
3978 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name));
3979 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3980 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0]));
3983 return NDR_ERR_SUCCESS;
3986 _PUBLIC_ enum ndr_err_code ndr_pull_ExtendedErrorInfo(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfo *r)
3988 uint32_t _ptr_next;
3989 TALLOC_CTX *_mem_save_next_0;
3990 uint32_t cntr_params_0;
3991 TALLOC_CTX *_mem_save_params_0;
3992 if (ndr_flags & NDR_SCALARS) {
3993 NDR_CHECK(ndr_pull_array_size(ndr, &r->params));
3994 NDR_CHECK(ndr_pull_align(ndr, 8));
3995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
3996 if (_ptr_next) {
3997 NDR_PULL_ALLOC(ndr, r->next);
3998 } else {
3999 r->next = NULL;
4001 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name));
4002 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pid));
4003 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
4004 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->generating_component));
4005 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
4006 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->detection_location));
4007 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
4008 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_params));
4009 NDR_PULL_ALLOC_N(ndr, r->params, ndr_get_array_size(ndr, &r->params));
4010 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr);
4011 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0);
4012 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
4013 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0]));
4015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0);
4016 if (r->params) {
4017 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->params, r->num_params));
4019 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
4021 if (ndr_flags & NDR_BUFFERS) {
4022 if (r->next) {
4023 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
4024 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
4025 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
4026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
4028 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name));
4029 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr);
4030 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0);
4031 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
4032 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0]));
4034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0);
4036 return NDR_ERR_SUCCESS;
4039 _PUBLIC_ void ndr_print_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfo *r)
4041 uint32_t cntr_params_0;
4042 ndr_print_struct(ndr, name, "ExtendedErrorInfo");
4043 ndr->depth++;
4044 ndr_print_ptr(ndr, "next", r->next);
4045 ndr->depth++;
4046 if (r->next) {
4047 ndr_print_ExtendedErrorInfo(ndr, "next", r->next);
4049 ndr->depth--;
4050 ndr_print_ExtendedErrorComputerName(ndr, "computer_name", &r->computer_name);
4051 ndr_print_hyper(ndr, "pid", r->pid);
4052 ndr_print_NTTIME(ndr, "time", r->time);
4053 ndr_print_uint32(ndr, "generating_component", r->generating_component);
4054 ndr_print_WERROR(ndr, "status", r->status);
4055 ndr_print_uint16(ndr, "detection_location", r->detection_location);
4056 ndr_print_uint16(ndr, "flags", r->flags);
4057 ndr_print_uint16(ndr, "num_params", r->num_params);
4058 ndr->print(ndr, "%s: ARRAY(%d)", "params", (int)r->num_params);
4059 ndr->depth++;
4060 for (cntr_params_0=0;cntr_params_0<r->num_params;cntr_params_0++) {
4061 char *idx_0=NULL;
4062 if (asprintf(&idx_0, "[%d]", cntr_params_0) != -1) {
4063 ndr_print_ExtendedErrorParam(ndr, "params", &r->params[cntr_params_0]);
4064 free(idx_0);
4067 ndr->depth--;
4068 ndr->depth--;
4071 static enum ndr_err_code ndr_push_ExtendedErrorInfoPtr(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfoPtr *r)
4073 if (ndr_flags & NDR_SCALARS) {
4074 NDR_CHECK(ndr_push_align(ndr, 5));
4075 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
4076 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4078 if (ndr_flags & NDR_BUFFERS) {
4079 if (r->info) {
4080 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
4083 return NDR_ERR_SUCCESS;
4086 static enum ndr_err_code ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfoPtr *r)
4088 uint32_t _ptr_info;
4089 TALLOC_CTX *_mem_save_info_0;
4090 if (ndr_flags & NDR_SCALARS) {
4091 NDR_CHECK(ndr_pull_align(ndr, 5));
4092 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
4093 if (_ptr_info) {
4094 NDR_PULL_ALLOC(ndr, r->info);
4095 } else {
4096 r->info = NULL;
4098 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4100 if (ndr_flags & NDR_BUFFERS) {
4101 if (r->info) {
4102 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
4103 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
4104 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
4105 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
4108 return NDR_ERR_SUCCESS;
4111 _PUBLIC_ void ndr_print_ExtendedErrorInfoPtr(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfoPtr *r)
4113 ndr_print_struct(ndr, name, "ExtendedErrorInfoPtr");
4114 ndr->depth++;
4115 ndr_print_ptr(ndr, "info", r->info);
4116 ndr->depth++;
4117 if (r->info) {
4118 ndr_print_ExtendedErrorInfo(ndr, "info", r->info);
4120 ndr->depth--;
4121 ndr->depth--;
4124 static enum ndr_err_code ndr_push_ForestTrustString(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustString *r)
4126 if (ndr_flags & NDR_SCALARS) {
4127 NDR_CHECK(ndr_push_align(ndr, 4));
4128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string)));
4129 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_UTF8));
4130 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4132 if (ndr_flags & NDR_BUFFERS) {
4134 return NDR_ERR_SUCCESS;
4137 static enum ndr_err_code ndr_pull_ForestTrustString(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustString *r)
4139 if (ndr_flags & NDR_SCALARS) {
4140 NDR_CHECK(ndr_pull_align(ndr, 4));
4141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
4142 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, r->size, sizeof(uint8_t), CH_UTF8));
4143 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4145 if (ndr_flags & NDR_BUFFERS) {
4147 return NDR_ERR_SUCCESS;
4150 _PUBLIC_ void ndr_print_ForestTrustString(struct ndr_print *ndr, const char *name, const struct ForestTrustString *r)
4152 ndr_print_struct(ndr, name, "ForestTrustString");
4153 ndr->depth++;
4154 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->size);
4155 ndr_print_string(ndr, "string", r->string);
4156 ndr->depth--;
4159 static enum ndr_err_code ndr_push_ForestTrustDataDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustDataDomainInfo *r)
4162 uint32_t _flags_save_STRUCT = ndr->flags;
4163 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4164 if (ndr_flags & NDR_SCALARS) {
4165 NDR_CHECK(ndr_push_align(ndr, 4));
4166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->sid, ndr->flags)));
4168 struct ndr_push *_ndr_sid;
4169 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
4170 NDR_CHECK(ndr_push_dom_sid(_ndr_sid, NDR_SCALARS, &r->sid));
4171 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags)));
4173 NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->dns_name));
4174 NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->netbios_name));
4175 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4177 if (ndr_flags & NDR_BUFFERS) {
4179 ndr->flags = _flags_save_STRUCT;
4181 return NDR_ERR_SUCCESS;
4184 static enum ndr_err_code ndr_pull_ForestTrustDataDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustDataDomainInfo *r)
4187 uint32_t _flags_save_STRUCT = ndr->flags;
4188 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4189 if (ndr_flags & NDR_SCALARS) {
4190 NDR_CHECK(ndr_pull_align(ndr, 4));
4191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_size));
4193 struct ndr_pull *_ndr_sid;
4194 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sid, 0, r->sid_size));
4195 NDR_CHECK(ndr_pull_dom_sid(_ndr_sid, NDR_SCALARS, &r->sid));
4196 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sid, 0, r->sid_size));
4198 NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->dns_name));
4199 NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->netbios_name));
4200 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4202 if (ndr_flags & NDR_BUFFERS) {
4204 ndr->flags = _flags_save_STRUCT;
4206 return NDR_ERR_SUCCESS;
4209 _PUBLIC_ void ndr_print_ForestTrustDataDomainInfo(struct ndr_print *ndr, const char *name, const struct ForestTrustDataDomainInfo *r)
4211 ndr_print_struct(ndr, name, "ForestTrustDataDomainInfo");
4213 uint32_t _flags_save_STRUCT = ndr->flags;
4214 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4215 ndr->depth++;
4216 ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size);
4217 ndr_print_dom_sid(ndr, "sid", &r->sid);
4218 ndr_print_ForestTrustString(ndr, "dns_name", &r->dns_name);
4219 ndr_print_ForestTrustString(ndr, "netbios_name", &r->netbios_name);
4220 ndr->depth--;
4221 ndr->flags = _flags_save_STRUCT;
4225 static enum ndr_err_code ndr_push_ForestTrustDataBinaryData(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustDataBinaryData *r)
4228 uint32_t _flags_save_STRUCT = ndr->flags;
4229 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4230 if (ndr_flags & NDR_SCALARS) {
4231 NDR_CHECK(ndr_push_align(ndr, 4));
4232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
4233 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
4234 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4236 if (ndr_flags & NDR_BUFFERS) {
4238 ndr->flags = _flags_save_STRUCT;
4240 return NDR_ERR_SUCCESS;
4243 static enum ndr_err_code ndr_pull_ForestTrustDataBinaryData(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustDataBinaryData *r)
4246 uint32_t _flags_save_STRUCT = ndr->flags;
4247 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4248 if (ndr_flags & NDR_SCALARS) {
4249 NDR_CHECK(ndr_pull_align(ndr, 4));
4250 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
4251 NDR_PULL_ALLOC_N(ndr, r->data, r->size);
4252 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
4253 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4255 if (ndr_flags & NDR_BUFFERS) {
4257 ndr->flags = _flags_save_STRUCT;
4259 return NDR_ERR_SUCCESS;
4262 _PUBLIC_ void ndr_print_ForestTrustDataBinaryData(struct ndr_print *ndr, const char *name, const struct ForestTrustDataBinaryData *r)
4264 ndr_print_struct(ndr, name, "ForestTrustDataBinaryData");
4266 uint32_t _flags_save_STRUCT = ndr->flags;
4267 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4268 ndr->depth++;
4269 ndr_print_uint32(ndr, "size", r->size);
4270 ndr_print_array_uint8(ndr, "data", r->data, r->size);
4271 ndr->depth--;
4272 ndr->flags = _flags_save_STRUCT;
4276 static enum ndr_err_code ndr_push_ForestTrustData(struct ndr_push *ndr, int ndr_flags, const union ForestTrustData *r)
4278 if (ndr_flags & NDR_SCALARS) {
4279 int level = ndr_push_get_switch_value(ndr, r);
4280 NDR_CHECK(ndr_push_union_align(ndr, 4));
4281 switch (level) {
4282 case FOREST_TRUST_TOP_LEVEL_NAME: {
4283 NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->name));
4284 break; }
4286 case FOREST_TRUST_TOP_LEVEL_NAME_EX: {
4287 NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->name));
4288 break; }
4290 case FOREST_TRUST_DOMAIN_INFO: {
4291 NDR_CHECK(ndr_push_ForestTrustDataDomainInfo(ndr, NDR_SCALARS, &r->info));
4292 break; }
4294 default: {
4295 NDR_CHECK(ndr_push_ForestTrustDataBinaryData(ndr, NDR_SCALARS, &r->data));
4296 break; }
4300 if (ndr_flags & NDR_BUFFERS) {
4301 int level = ndr_push_get_switch_value(ndr, r);
4302 switch (level) {
4303 case FOREST_TRUST_TOP_LEVEL_NAME:
4304 break;
4306 case FOREST_TRUST_TOP_LEVEL_NAME_EX:
4307 break;
4309 case FOREST_TRUST_DOMAIN_INFO:
4310 break;
4312 default:
4313 break;
4317 return NDR_ERR_SUCCESS;
4320 static enum ndr_err_code ndr_pull_ForestTrustData(struct ndr_pull *ndr, int ndr_flags, union ForestTrustData *r)
4322 int level;
4323 level = ndr_pull_get_switch_value(ndr, r);
4324 if (ndr_flags & NDR_SCALARS) {
4325 NDR_CHECK(ndr_pull_union_align(ndr, 4));
4326 switch (level) {
4327 case FOREST_TRUST_TOP_LEVEL_NAME: {
4328 NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->name));
4329 break; }
4331 case FOREST_TRUST_TOP_LEVEL_NAME_EX: {
4332 NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->name));
4333 break; }
4335 case FOREST_TRUST_DOMAIN_INFO: {
4336 NDR_CHECK(ndr_pull_ForestTrustDataDomainInfo(ndr, NDR_SCALARS, &r->info));
4337 break; }
4339 default: {
4340 NDR_CHECK(ndr_pull_ForestTrustDataBinaryData(ndr, NDR_SCALARS, &r->data));
4341 break; }
4345 if (ndr_flags & NDR_BUFFERS) {
4346 switch (level) {
4347 case FOREST_TRUST_TOP_LEVEL_NAME:
4348 break;
4350 case FOREST_TRUST_TOP_LEVEL_NAME_EX:
4351 break;
4353 case FOREST_TRUST_DOMAIN_INFO:
4354 break;
4356 default:
4357 break;
4361 return NDR_ERR_SUCCESS;
4364 _PUBLIC_ void ndr_print_ForestTrustData(struct ndr_print *ndr, const char *name, const union ForestTrustData *r)
4366 int level;
4367 level = ndr_print_get_switch_value(ndr, r);
4368 ndr_print_union(ndr, name, level, "ForestTrustData");
4369 switch (level) {
4370 case FOREST_TRUST_TOP_LEVEL_NAME:
4371 ndr_print_ForestTrustString(ndr, "name", &r->name);
4372 break;
4374 case FOREST_TRUST_TOP_LEVEL_NAME_EX:
4375 ndr_print_ForestTrustString(ndr, "name", &r->name);
4376 break;
4378 case FOREST_TRUST_DOMAIN_INFO:
4379 ndr_print_ForestTrustDataDomainInfo(ndr, "info", &r->info);
4380 break;
4382 default:
4383 ndr_print_ForestTrustDataBinaryData(ndr, "data", &r->data);
4384 break;
4389 static enum ndr_err_code ndr_push_ForestTrustInfoRecordType(struct ndr_push *ndr, int ndr_flags, enum ForestTrustInfoRecordType r)
4391 NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
4392 return NDR_ERR_SUCCESS;
4395 static enum ndr_err_code ndr_pull_ForestTrustInfoRecordType(struct ndr_pull *ndr, int ndr_flags, enum ForestTrustInfoRecordType *r)
4397 uint8_t v;
4398 NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
4399 *r = v;
4400 return NDR_ERR_SUCCESS;
4403 _PUBLIC_ void ndr_print_ForestTrustInfoRecordType(struct ndr_print *ndr, const char *name, enum ForestTrustInfoRecordType r)
4405 const char *val = NULL;
4407 switch (r) {
4408 case FOREST_TRUST_TOP_LEVEL_NAME: val = "FOREST_TRUST_TOP_LEVEL_NAME"; break;
4409 case FOREST_TRUST_TOP_LEVEL_NAME_EX: val = "FOREST_TRUST_TOP_LEVEL_NAME_EX"; break;
4410 case FOREST_TRUST_DOMAIN_INFO: val = "FOREST_TRUST_DOMAIN_INFO"; break;
4412 ndr_print_enum(ndr, name, "ENUM", val, r);
4415 _PUBLIC_ enum ndr_err_code ndr_push_ForestTrustInfoRecord(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfoRecord *r)
4418 uint32_t _flags_save_STRUCT = ndr->flags;
4419 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4420 if (ndr_flags & NDR_SCALARS) {
4421 NDR_CHECK(ndr_push_align(ndr, 4));
4422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4423 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timestamp));
4424 NDR_CHECK(ndr_push_ForestTrustInfoRecordType(ndr, NDR_SCALARS, r->type));
4425 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->type));
4426 NDR_CHECK(ndr_push_ForestTrustData(ndr, NDR_SCALARS, &r->data));
4427 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4429 if (ndr_flags & NDR_BUFFERS) {
4431 ndr->flags = _flags_save_STRUCT;
4433 return NDR_ERR_SUCCESS;
4436 _PUBLIC_ enum ndr_err_code ndr_pull_ForestTrustInfoRecord(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfoRecord *r)
4439 uint32_t _flags_save_STRUCT = ndr->flags;
4440 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4441 if (ndr_flags & NDR_SCALARS) {
4442 NDR_CHECK(ndr_pull_align(ndr, 4));
4443 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4444 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timestamp));
4445 NDR_CHECK(ndr_pull_ForestTrustInfoRecordType(ndr, NDR_SCALARS, &r->type));
4446 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->type));
4447 NDR_CHECK(ndr_pull_ForestTrustData(ndr, NDR_SCALARS, &r->data));
4448 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4450 if (ndr_flags & NDR_BUFFERS) {
4452 ndr->flags = _flags_save_STRUCT;
4454 return NDR_ERR_SUCCESS;
4457 _PUBLIC_ void ndr_print_ForestTrustInfoRecord(struct ndr_print *ndr, const char *name, const struct ForestTrustInfoRecord *r)
4459 ndr_print_struct(ndr, name, "ForestTrustInfoRecord");
4461 uint32_t _flags_save_STRUCT = ndr->flags;
4462 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4463 ndr->depth++;
4464 ndr_print_uint32(ndr, "flags", r->flags);
4465 ndr_print_NTTIME(ndr, "timestamp", r->timestamp);
4466 ndr_print_ForestTrustInfoRecordType(ndr, "type", r->type);
4467 ndr_print_set_switch_value(ndr, &r->data, r->type);
4468 ndr_print_ForestTrustData(ndr, "data", &r->data);
4469 ndr->depth--;
4470 ndr->flags = _flags_save_STRUCT;
4474 _PUBLIC_ size_t ndr_size_ForestTrustInfoRecord(const struct ForestTrustInfoRecord *r, struct smb_iconv_convenience *ic, int flags)
4476 flags |= LIBNDR_FLAG_NOALIGN;
4477 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_ForestTrustInfoRecord, ic);
4480 static enum ndr_err_code ndr_push_ForestTrustInfoRecordArmor(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfoRecordArmor *r)
4483 uint32_t _flags_save_STRUCT = ndr->flags;
4484 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4485 if (ndr_flags & NDR_SCALARS) {
4486 NDR_CHECK(ndr_push_align(ndr, 4));
4487 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ForestTrustInfoRecord(&r->record, ndr->iconv_convenience, ndr->flags)));
4488 NDR_CHECK(ndr_push_ForestTrustInfoRecord(ndr, NDR_SCALARS, &r->record));
4489 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4491 if (ndr_flags & NDR_BUFFERS) {
4493 ndr->flags = _flags_save_STRUCT;
4495 return NDR_ERR_SUCCESS;
4498 static enum ndr_err_code ndr_pull_ForestTrustInfoRecordArmor(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfoRecordArmor *r)
4501 uint32_t _flags_save_STRUCT = ndr->flags;
4502 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4503 if (ndr_flags & NDR_SCALARS) {
4504 NDR_CHECK(ndr_pull_align(ndr, 4));
4505 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->record_size));
4506 NDR_CHECK(ndr_pull_ForestTrustInfoRecord(ndr, NDR_SCALARS, &r->record));
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_ForestTrustInfoRecordArmor(struct ndr_print *ndr, const char *name, const struct ForestTrustInfoRecordArmor *r)
4518 ndr_print_struct(ndr, name, "ForestTrustInfoRecordArmor");
4520 uint32_t _flags_save_STRUCT = ndr->flags;
4521 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4522 ndr->depth++;
4523 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);
4524 ndr_print_ForestTrustInfoRecord(ndr, "record", &r->record);
4525 ndr->depth--;
4526 ndr->flags = _flags_save_STRUCT;
4530 _PUBLIC_ enum ndr_err_code ndr_push_ForestTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfo *r)
4532 uint32_t cntr_records_0;
4534 uint32_t _flags_save_STRUCT = ndr->flags;
4535 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4536 if (ndr_flags & NDR_SCALARS) {
4537 NDR_CHECK(ndr_push_align(ndr, 4));
4538 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
4539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4540 for (cntr_records_0 = 0; cntr_records_0 < r->count; cntr_records_0++) {
4541 NDR_CHECK(ndr_push_ForestTrustInfoRecordArmor(ndr, NDR_SCALARS, &r->records[cntr_records_0]));
4543 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4545 if (ndr_flags & NDR_BUFFERS) {
4547 ndr->flags = _flags_save_STRUCT;
4549 return NDR_ERR_SUCCESS;
4552 _PUBLIC_ enum ndr_err_code ndr_pull_ForestTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfo *r)
4554 uint32_t cntr_records_0;
4555 TALLOC_CTX *_mem_save_records_0;
4557 uint32_t _flags_save_STRUCT = ndr->flags;
4558 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4559 if (ndr_flags & NDR_SCALARS) {
4560 NDR_CHECK(ndr_pull_align(ndr, 4));
4561 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
4562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4563 NDR_PULL_ALLOC_N(ndr, r->records, r->count);
4564 _mem_save_records_0 = NDR_PULL_GET_MEM_CTX(ndr);
4565 NDR_PULL_SET_MEM_CTX(ndr, r->records, 0);
4566 for (cntr_records_0 = 0; cntr_records_0 < r->count; cntr_records_0++) {
4567 NDR_CHECK(ndr_pull_ForestTrustInfoRecordArmor(ndr, NDR_SCALARS, &r->records[cntr_records_0]));
4569 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_records_0, 0);
4570 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4572 if (ndr_flags & NDR_BUFFERS) {
4574 ndr->flags = _flags_save_STRUCT;
4576 return NDR_ERR_SUCCESS;
4579 _PUBLIC_ void ndr_print_ForestTrustInfo(struct ndr_print *ndr, const char *name, const struct ForestTrustInfo *r)
4581 uint32_t cntr_records_0;
4582 ndr_print_struct(ndr, name, "ForestTrustInfo");
4584 uint32_t _flags_save_STRUCT = ndr->flags;
4585 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
4586 ndr->depth++;
4587 ndr_print_uint32(ndr, "version", r->version);
4588 ndr_print_uint32(ndr, "count", r->count);
4589 ndr->print(ndr, "%s: ARRAY(%d)", "records", (int)r->count);
4590 ndr->depth++;
4591 for (cntr_records_0=0;cntr_records_0<r->count;cntr_records_0++) {
4592 char *idx_0=NULL;
4593 if (asprintf(&idx_0, "[%d]", cntr_records_0) != -1) {
4594 ndr_print_ForestTrustInfoRecordArmor(ndr, "records", &r->records[cntr_records_0]);
4595 free(idx_0);
4598 ndr->depth--;
4599 ndr->depth--;
4600 ndr->flags = _flags_save_STRUCT;
4604 static enum ndr_err_code ndr_push_decode_replPropertyMetaData(struct ndr_push *ndr, int flags, const struct decode_replPropertyMetaData *r)
4606 if (flags & NDR_IN) {
4607 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob));
4609 if (flags & NDR_OUT) {
4611 return NDR_ERR_SUCCESS;
4614 static enum ndr_err_code ndr_pull_decode_replPropertyMetaData(struct ndr_pull *ndr, int flags, struct decode_replPropertyMetaData *r)
4616 if (flags & NDR_IN) {
4617 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob));
4619 if (flags & NDR_OUT) {
4621 return NDR_ERR_SUCCESS;
4624 _PUBLIC_ void ndr_print_decode_replPropertyMetaData(struct ndr_print *ndr, const char *name, int flags, const struct decode_replPropertyMetaData *r)
4626 ndr_print_struct(ndr, name, "decode_replPropertyMetaData");
4627 ndr->depth++;
4628 if (flags & NDR_SET_VALUES) {
4629 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4631 if (flags & NDR_IN) {
4632 ndr_print_struct(ndr, "in", "decode_replPropertyMetaData");
4633 ndr->depth++;
4634 ndr_print_replPropertyMetaDataBlob(ndr, "blob", &r->in.blob);
4635 ndr->depth--;
4637 if (flags & NDR_OUT) {
4638 ndr_print_struct(ndr, "out", "decode_replPropertyMetaData");
4639 ndr->depth++;
4640 ndr->depth--;
4642 ndr->depth--;
4645 static enum ndr_err_code ndr_push_decode_replUpToDateVector(struct ndr_push *ndr, int flags, const struct decode_replUpToDateVector *r)
4647 if (flags & NDR_IN) {
4648 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob));
4650 if (flags & NDR_OUT) {
4652 return NDR_ERR_SUCCESS;
4655 static enum ndr_err_code ndr_pull_decode_replUpToDateVector(struct ndr_pull *ndr, int flags, struct decode_replUpToDateVector *r)
4657 if (flags & NDR_IN) {
4658 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob));
4660 if (flags & NDR_OUT) {
4662 return NDR_ERR_SUCCESS;
4665 _PUBLIC_ void ndr_print_decode_replUpToDateVector(struct ndr_print *ndr, const char *name, int flags, const struct decode_replUpToDateVector *r)
4667 ndr_print_struct(ndr, name, "decode_replUpToDateVector");
4668 ndr->depth++;
4669 if (flags & NDR_SET_VALUES) {
4670 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4672 if (flags & NDR_IN) {
4673 ndr_print_struct(ndr, "in", "decode_replUpToDateVector");
4674 ndr->depth++;
4675 ndr_print_replUpToDateVectorBlob(ndr, "blob", &r->in.blob);
4676 ndr->depth--;
4678 if (flags & NDR_OUT) {
4679 ndr_print_struct(ndr, "out", "decode_replUpToDateVector");
4680 ndr->depth++;
4681 ndr->depth--;
4683 ndr->depth--;
4686 static enum ndr_err_code ndr_push_decode_repsFromTo(struct ndr_push *ndr, int flags, const struct decode_repsFromTo *r)
4688 if (flags & NDR_IN) {
4689 NDR_CHECK(ndr_push_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4691 if (flags & NDR_OUT) {
4693 return NDR_ERR_SUCCESS;
4696 static enum ndr_err_code ndr_pull_decode_repsFromTo(struct ndr_pull *ndr, int flags, struct decode_repsFromTo *r)
4698 if (flags & NDR_IN) {
4699 NDR_CHECK(ndr_pull_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4701 if (flags & NDR_OUT) {
4703 return NDR_ERR_SUCCESS;
4706 _PUBLIC_ void ndr_print_decode_repsFromTo(struct ndr_print *ndr, const char *name, int flags, const struct decode_repsFromTo *r)
4708 ndr_print_struct(ndr, name, "decode_repsFromTo");
4709 ndr->depth++;
4710 if (flags & NDR_SET_VALUES) {
4711 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4713 if (flags & NDR_IN) {
4714 ndr_print_struct(ndr, "in", "decode_repsFromTo");
4715 ndr->depth++;
4716 ndr_print_repsFromToBlob(ndr, "blob", &r->in.blob);
4717 ndr->depth--;
4719 if (flags & NDR_OUT) {
4720 ndr_print_struct(ndr, "out", "decode_repsFromTo");
4721 ndr->depth++;
4722 ndr->depth--;
4724 ndr->depth--;
4727 static enum ndr_err_code ndr_push_decode_partialAttributeSet(struct ndr_push *ndr, int flags, const struct decode_partialAttributeSet *r)
4729 if (flags & NDR_IN) {
4730 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob));
4732 if (flags & NDR_OUT) {
4734 return NDR_ERR_SUCCESS;
4737 static enum ndr_err_code ndr_pull_decode_partialAttributeSet(struct ndr_pull *ndr, int flags, struct decode_partialAttributeSet *r)
4739 if (flags & NDR_IN) {
4740 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob));
4742 if (flags & NDR_OUT) {
4744 return NDR_ERR_SUCCESS;
4747 _PUBLIC_ void ndr_print_decode_partialAttributeSet(struct ndr_print *ndr, const char *name, int flags, const struct decode_partialAttributeSet *r)
4749 ndr_print_struct(ndr, name, "decode_partialAttributeSet");
4750 ndr->depth++;
4751 if (flags & NDR_SET_VALUES) {
4752 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4754 if (flags & NDR_IN) {
4755 ndr_print_struct(ndr, "in", "decode_partialAttributeSet");
4756 ndr->depth++;
4757 ndr_print_partialAttributeSetBlob(ndr, "blob", &r->in.blob);
4758 ndr->depth--;
4760 if (flags & NDR_OUT) {
4761 ndr_print_struct(ndr, "out", "decode_partialAttributeSet");
4762 ndr->depth++;
4763 ndr->depth--;
4765 ndr->depth--;
4768 static enum ndr_err_code ndr_push_decode_prefixMap(struct ndr_push *ndr, int flags, const struct decode_prefixMap *r)
4770 if (flags & NDR_IN) {
4771 NDR_CHECK(ndr_push_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4773 if (flags & NDR_OUT) {
4775 return NDR_ERR_SUCCESS;
4778 static enum ndr_err_code ndr_pull_decode_prefixMap(struct ndr_pull *ndr, int flags, struct decode_prefixMap *r)
4780 if (flags & NDR_IN) {
4781 NDR_CHECK(ndr_pull_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4783 if (flags & NDR_OUT) {
4785 return NDR_ERR_SUCCESS;
4788 _PUBLIC_ void ndr_print_decode_prefixMap(struct ndr_print *ndr, const char *name, int flags, const struct decode_prefixMap *r)
4790 ndr_print_struct(ndr, name, "decode_prefixMap");
4791 ndr->depth++;
4792 if (flags & NDR_SET_VALUES) {
4793 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4795 if (flags & NDR_IN) {
4796 ndr_print_struct(ndr, "in", "decode_prefixMap");
4797 ndr->depth++;
4798 ndr_print_prefixMapBlob(ndr, "blob", &r->in.blob);
4799 ndr->depth--;
4801 if (flags & NDR_OUT) {
4802 ndr_print_struct(ndr, "out", "decode_prefixMap");
4803 ndr->depth++;
4804 ndr->depth--;
4806 ndr->depth--;
4809 static enum ndr_err_code ndr_push_decode_ldapControlDirSync(struct ndr_push *ndr, int flags, const struct decode_ldapControlDirSync *r)
4811 if (flags & NDR_IN) {
4812 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie));
4814 if (flags & NDR_OUT) {
4816 return NDR_ERR_SUCCESS;
4819 static enum ndr_err_code ndr_pull_decode_ldapControlDirSync(struct ndr_pull *ndr, int flags, struct decode_ldapControlDirSync *r)
4821 if (flags & NDR_IN) {
4822 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie));
4824 if (flags & NDR_OUT) {
4826 return NDR_ERR_SUCCESS;
4829 _PUBLIC_ void ndr_print_decode_ldapControlDirSync(struct ndr_print *ndr, const char *name, int flags, const struct decode_ldapControlDirSync *r)
4831 ndr_print_struct(ndr, name, "decode_ldapControlDirSync");
4832 ndr->depth++;
4833 if (flags & NDR_SET_VALUES) {
4834 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4836 if (flags & NDR_IN) {
4837 ndr_print_struct(ndr, "in", "decode_ldapControlDirSync");
4838 ndr->depth++;
4839 ndr_print_ldapControlDirSyncCookie(ndr, "cookie", &r->in.cookie);
4840 ndr->depth--;
4842 if (flags & NDR_OUT) {
4843 ndr_print_struct(ndr, "out", "decode_ldapControlDirSync");
4844 ndr->depth++;
4845 ndr->depth--;
4847 ndr->depth--;
4850 static enum ndr_err_code ndr_push_decode_supplementalCredentials(struct ndr_push *ndr, int flags, const struct decode_supplementalCredentials *r)
4852 if (flags & NDR_IN) {
4853 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob));
4855 if (flags & NDR_OUT) {
4857 return NDR_ERR_SUCCESS;
4860 static enum ndr_err_code ndr_pull_decode_supplementalCredentials(struct ndr_pull *ndr, int flags, struct decode_supplementalCredentials *r)
4862 if (flags & NDR_IN) {
4863 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob));
4865 if (flags & NDR_OUT) {
4867 return NDR_ERR_SUCCESS;
4870 _PUBLIC_ void ndr_print_decode_supplementalCredentials(struct ndr_print *ndr, const char *name, int flags, const struct decode_supplementalCredentials *r)
4872 ndr_print_struct(ndr, name, "decode_supplementalCredentials");
4873 ndr->depth++;
4874 if (flags & NDR_SET_VALUES) {
4875 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4877 if (flags & NDR_IN) {
4878 ndr_print_struct(ndr, "in", "decode_supplementalCredentials");
4879 ndr->depth++;
4880 ndr_print_supplementalCredentialsBlob(ndr, "blob", &r->in.blob);
4881 ndr->depth--;
4883 if (flags & NDR_OUT) {
4884 ndr_print_struct(ndr, "out", "decode_supplementalCredentials");
4885 ndr->depth++;
4886 ndr->depth--;
4888 ndr->depth--;
4891 static enum ndr_err_code ndr_push_decode_Packages(struct ndr_push *ndr, int flags, const struct decode_Packages *r)
4893 if (flags & NDR_IN) {
4894 NDR_CHECK(ndr_push_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob));
4896 if (flags & NDR_OUT) {
4898 return NDR_ERR_SUCCESS;
4901 static enum ndr_err_code ndr_pull_decode_Packages(struct ndr_pull *ndr, int flags, struct decode_Packages *r)
4903 if (flags & NDR_IN) {
4904 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob));
4906 if (flags & NDR_OUT) {
4908 return NDR_ERR_SUCCESS;
4911 _PUBLIC_ void ndr_print_decode_Packages(struct ndr_print *ndr, const char *name, int flags, const struct decode_Packages *r)
4913 ndr_print_struct(ndr, name, "decode_Packages");
4914 ndr->depth++;
4915 if (flags & NDR_SET_VALUES) {
4916 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4918 if (flags & NDR_IN) {
4919 ndr_print_struct(ndr, "in", "decode_Packages");
4920 ndr->depth++;
4921 ndr_print_package_PackagesBlob(ndr, "blob", &r->in.blob);
4922 ndr->depth--;
4924 if (flags & NDR_OUT) {
4925 ndr_print_struct(ndr, "out", "decode_Packages");
4926 ndr->depth++;
4927 ndr->depth--;
4929 ndr->depth--;
4932 static enum ndr_err_code ndr_push_decode_PrimaryKerberos(struct ndr_push *ndr, int flags, const struct decode_PrimaryKerberos *r)
4934 if (flags & NDR_IN) {
4935 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4937 if (flags & NDR_OUT) {
4939 return NDR_ERR_SUCCESS;
4942 static enum ndr_err_code ndr_pull_decode_PrimaryKerberos(struct ndr_pull *ndr, int flags, struct decode_PrimaryKerberos *r)
4944 if (flags & NDR_IN) {
4945 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4947 if (flags & NDR_OUT) {
4949 return NDR_ERR_SUCCESS;
4952 _PUBLIC_ void ndr_print_decode_PrimaryKerberos(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryKerberos *r)
4954 ndr_print_struct(ndr, name, "decode_PrimaryKerberos");
4955 ndr->depth++;
4956 if (flags & NDR_SET_VALUES) {
4957 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4959 if (flags & NDR_IN) {
4960 ndr_print_struct(ndr, "in", "decode_PrimaryKerberos");
4961 ndr->depth++;
4962 ndr_print_package_PrimaryKerberosBlob(ndr, "blob", &r->in.blob);
4963 ndr->depth--;
4965 if (flags & NDR_OUT) {
4966 ndr_print_struct(ndr, "out", "decode_PrimaryKerberos");
4967 ndr->depth++;
4968 ndr->depth--;
4970 ndr->depth--;
4973 static enum ndr_err_code ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push *ndr, int flags, const struct decode_PrimaryCLEARTEXT *r)
4975 if (flags & NDR_IN) {
4976 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob));
4978 if (flags & NDR_OUT) {
4980 return NDR_ERR_SUCCESS;
4983 static enum ndr_err_code ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull *ndr, int flags, struct decode_PrimaryCLEARTEXT *r)
4985 if (flags & NDR_IN) {
4986 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob));
4988 if (flags & NDR_OUT) {
4990 return NDR_ERR_SUCCESS;
4993 _PUBLIC_ void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryCLEARTEXT *r)
4995 ndr_print_struct(ndr, name, "decode_PrimaryCLEARTEXT");
4996 ndr->depth++;
4997 if (flags & NDR_SET_VALUES) {
4998 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5000 if (flags & NDR_IN) {
5001 ndr_print_struct(ndr, "in", "decode_PrimaryCLEARTEXT");
5002 ndr->depth++;
5003 ndr_print_package_PrimaryCLEARTEXTBlob(ndr, "blob", &r->in.blob);
5004 ndr->depth--;
5006 if (flags & NDR_OUT) {
5007 ndr_print_struct(ndr, "out", "decode_PrimaryCLEARTEXT");
5008 ndr->depth++;
5009 ndr->depth--;
5011 ndr->depth--;
5014 static enum ndr_err_code ndr_push_decode_PrimaryWDigest(struct ndr_push *ndr, int flags, const struct decode_PrimaryWDigest *r)
5016 if (flags & NDR_IN) {
5017 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob));
5019 if (flags & NDR_OUT) {
5021 return NDR_ERR_SUCCESS;
5024 static enum ndr_err_code ndr_pull_decode_PrimaryWDigest(struct ndr_pull *ndr, int flags, struct decode_PrimaryWDigest *r)
5026 if (flags & NDR_IN) {
5027 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob));
5029 if (flags & NDR_OUT) {
5031 return NDR_ERR_SUCCESS;
5034 _PUBLIC_ void ndr_print_decode_PrimaryWDigest(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryWDigest *r)
5036 ndr_print_struct(ndr, name, "decode_PrimaryWDigest");
5037 ndr->depth++;
5038 if (flags & NDR_SET_VALUES) {
5039 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5041 if (flags & NDR_IN) {
5042 ndr_print_struct(ndr, "in", "decode_PrimaryWDigest");
5043 ndr->depth++;
5044 ndr_print_package_PrimaryWDigestBlob(ndr, "blob", &r->in.blob);
5045 ndr->depth--;
5047 if (flags & NDR_OUT) {
5048 ndr_print_struct(ndr, "out", "decode_PrimaryWDigest");
5049 ndr->depth++;
5050 ndr->depth--;
5052 ndr->depth--;
5055 static enum ndr_err_code ndr_push_decode_trustAuthInOut(struct ndr_push *ndr, int flags, const struct decode_trustAuthInOut *r)
5057 if (flags & NDR_IN) {
5058 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
5060 if (flags & NDR_OUT) {
5062 return NDR_ERR_SUCCESS;
5065 static enum ndr_err_code ndr_pull_decode_trustAuthInOut(struct ndr_pull *ndr, int flags, struct decode_trustAuthInOut *r)
5067 if (flags & NDR_IN) {
5068 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
5070 if (flags & NDR_OUT) {
5072 return NDR_ERR_SUCCESS;
5075 _PUBLIC_ void ndr_print_decode_trustAuthInOut(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustAuthInOut *r)
5077 ndr_print_struct(ndr, name, "decode_trustAuthInOut");
5078 ndr->depth++;
5079 if (flags & NDR_SET_VALUES) {
5080 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5082 if (flags & NDR_IN) {
5083 ndr_print_struct(ndr, "in", "decode_trustAuthInOut");
5084 ndr->depth++;
5085 ndr_print_trustAuthInOutBlob(ndr, "blob", &r->in.blob);
5086 ndr->depth--;
5088 if (flags & NDR_OUT) {
5089 ndr_print_struct(ndr, "out", "decode_trustAuthInOut");
5090 ndr->depth++;
5091 ndr->depth--;
5093 ndr->depth--;
5096 static enum ndr_err_code ndr_push_decode_trustDomainPasswords(struct ndr_push *ndr, int flags, const struct decode_trustDomainPasswords *r)
5098 if (flags & NDR_IN) {
5099 NDR_CHECK(ndr_push_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
5101 if (flags & NDR_OUT) {
5103 return NDR_ERR_SUCCESS;
5106 static enum ndr_err_code ndr_pull_decode_trustDomainPasswords(struct ndr_pull *ndr, int flags, struct decode_trustDomainPasswords *r)
5108 if (flags & NDR_IN) {
5109 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
5111 if (flags & NDR_OUT) {
5113 return NDR_ERR_SUCCESS;
5116 _PUBLIC_ void ndr_print_decode_trustDomainPasswords(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustDomainPasswords *r)
5118 ndr_print_struct(ndr, name, "decode_trustDomainPasswords");
5119 ndr->depth++;
5120 if (flags & NDR_SET_VALUES) {
5121 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5123 if (flags & NDR_IN) {
5124 ndr_print_struct(ndr, "in", "decode_trustDomainPasswords");
5125 ndr->depth++;
5126 ndr_print_trustDomainPasswords(ndr, "blob", &r->in.blob);
5127 ndr->depth--;
5129 if (flags & NDR_OUT) {
5130 ndr_print_struct(ndr, "out", "decode_trustDomainPasswords");
5131 ndr->depth++;
5132 ndr->depth--;
5134 ndr->depth--;
5137 static enum ndr_err_code ndr_push_decode_ExtendedErrorInfo(struct ndr_push *ndr, int flags, const struct decode_ExtendedErrorInfo *r)
5139 if (flags & NDR_IN) {
5141 struct ndr_push *_ndr_ptr;
5142 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1));
5143 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr));
5144 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1));
5147 if (flags & NDR_OUT) {
5149 return NDR_ERR_SUCCESS;
5152 static enum ndr_err_code ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull *ndr, int flags, struct decode_ExtendedErrorInfo *r)
5154 if (flags & NDR_IN) {
5156 struct ndr_pull *_ndr_ptr;
5157 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1));
5158 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr));
5159 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1));
5162 if (flags & NDR_OUT) {
5164 return NDR_ERR_SUCCESS;
5167 _PUBLIC_ void ndr_print_decode_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ExtendedErrorInfo *r)
5169 ndr_print_struct(ndr, name, "decode_ExtendedErrorInfo");
5170 ndr->depth++;
5171 if (flags & NDR_SET_VALUES) {
5172 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5174 if (flags & NDR_IN) {
5175 ndr_print_struct(ndr, "in", "decode_ExtendedErrorInfo");
5176 ndr->depth++;
5177 ndr_print_ExtendedErrorInfoPtr(ndr, "ptr", &r->in.ptr);
5178 ndr->depth--;
5180 if (flags & NDR_OUT) {
5181 ndr_print_struct(ndr, "out", "decode_ExtendedErrorInfo");
5182 ndr->depth++;
5183 ndr->depth--;
5185 ndr->depth--;
5188 static enum ndr_err_code ndr_push_decode_ForestTrustInfo(struct ndr_push *ndr, int flags, const struct decode_ForestTrustInfo *r)
5190 if (flags & NDR_IN) {
5191 NDR_CHECK(ndr_push_ForestTrustInfo(ndr, NDR_SCALARS, &r->in.blob));
5193 if (flags & NDR_OUT) {
5195 return NDR_ERR_SUCCESS;
5198 static enum ndr_err_code ndr_pull_decode_ForestTrustInfo(struct ndr_pull *ndr, int flags, struct decode_ForestTrustInfo *r)
5200 if (flags & NDR_IN) {
5201 NDR_CHECK(ndr_pull_ForestTrustInfo(ndr, NDR_SCALARS, &r->in.blob));
5203 if (flags & NDR_OUT) {
5205 return NDR_ERR_SUCCESS;
5208 _PUBLIC_ void ndr_print_decode_ForestTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ForestTrustInfo *r)
5210 ndr_print_struct(ndr, name, "decode_ForestTrustInfo");
5211 ndr->depth++;
5212 if (flags & NDR_SET_VALUES) {
5213 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5215 if (flags & NDR_IN) {
5216 ndr_print_struct(ndr, "in", "decode_ForestTrustInfo");
5217 ndr->depth++;
5218 ndr_print_ForestTrustInfo(ndr, "blob", &r->in.blob);
5219 ndr->depth--;
5221 if (flags & NDR_OUT) {
5222 ndr_print_struct(ndr, "out", "decode_ForestTrustInfo");
5223 ndr->depth++;
5224 ndr->depth--;
5226 ndr->depth--;
5229 static const struct ndr_interface_call drsblobs_calls[] = {
5231 "decode_replPropertyMetaData",
5232 sizeof(struct decode_replPropertyMetaData),
5233 (ndr_push_flags_fn_t) ndr_push_decode_replPropertyMetaData,
5234 (ndr_pull_flags_fn_t) ndr_pull_decode_replPropertyMetaData,
5235 (ndr_print_function_t) ndr_print_decode_replPropertyMetaData,
5236 false,
5239 "decode_replUpToDateVector",
5240 sizeof(struct decode_replUpToDateVector),
5241 (ndr_push_flags_fn_t) ndr_push_decode_replUpToDateVector,
5242 (ndr_pull_flags_fn_t) ndr_pull_decode_replUpToDateVector,
5243 (ndr_print_function_t) ndr_print_decode_replUpToDateVector,
5244 false,
5247 "decode_repsFromTo",
5248 sizeof(struct decode_repsFromTo),
5249 (ndr_push_flags_fn_t) ndr_push_decode_repsFromTo,
5250 (ndr_pull_flags_fn_t) ndr_pull_decode_repsFromTo,
5251 (ndr_print_function_t) ndr_print_decode_repsFromTo,
5252 false,
5255 "decode_partialAttributeSet",
5256 sizeof(struct decode_partialAttributeSet),
5257 (ndr_push_flags_fn_t) ndr_push_decode_partialAttributeSet,
5258 (ndr_pull_flags_fn_t) ndr_pull_decode_partialAttributeSet,
5259 (ndr_print_function_t) ndr_print_decode_partialAttributeSet,
5260 false,
5263 "decode_prefixMap",
5264 sizeof(struct decode_prefixMap),
5265 (ndr_push_flags_fn_t) ndr_push_decode_prefixMap,
5266 (ndr_pull_flags_fn_t) ndr_pull_decode_prefixMap,
5267 (ndr_print_function_t) ndr_print_decode_prefixMap,
5268 false,
5271 "decode_ldapControlDirSync",
5272 sizeof(struct decode_ldapControlDirSync),
5273 (ndr_push_flags_fn_t) ndr_push_decode_ldapControlDirSync,
5274 (ndr_pull_flags_fn_t) ndr_pull_decode_ldapControlDirSync,
5275 (ndr_print_function_t) ndr_print_decode_ldapControlDirSync,
5276 false,
5279 "decode_supplementalCredentials",
5280 sizeof(struct decode_supplementalCredentials),
5281 (ndr_push_flags_fn_t) ndr_push_decode_supplementalCredentials,
5282 (ndr_pull_flags_fn_t) ndr_pull_decode_supplementalCredentials,
5283 (ndr_print_function_t) ndr_print_decode_supplementalCredentials,
5284 false,
5287 "decode_Packages",
5288 sizeof(struct decode_Packages),
5289 (ndr_push_flags_fn_t) ndr_push_decode_Packages,
5290 (ndr_pull_flags_fn_t) ndr_pull_decode_Packages,
5291 (ndr_print_function_t) ndr_print_decode_Packages,
5292 false,
5295 "decode_PrimaryKerberos",
5296 sizeof(struct decode_PrimaryKerberos),
5297 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryKerberos,
5298 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryKerberos,
5299 (ndr_print_function_t) ndr_print_decode_PrimaryKerberos,
5300 false,
5303 "decode_PrimaryCLEARTEXT",
5304 sizeof(struct decode_PrimaryCLEARTEXT),
5305 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryCLEARTEXT,
5306 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryCLEARTEXT,
5307 (ndr_print_function_t) ndr_print_decode_PrimaryCLEARTEXT,
5308 false,
5311 "decode_PrimaryWDigest",
5312 sizeof(struct decode_PrimaryWDigest),
5313 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryWDigest,
5314 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryWDigest,
5315 (ndr_print_function_t) ndr_print_decode_PrimaryWDigest,
5316 false,
5319 "decode_trustAuthInOut",
5320 sizeof(struct decode_trustAuthInOut),
5321 (ndr_push_flags_fn_t) ndr_push_decode_trustAuthInOut,
5322 (ndr_pull_flags_fn_t) ndr_pull_decode_trustAuthInOut,
5323 (ndr_print_function_t) ndr_print_decode_trustAuthInOut,
5324 false,
5327 "decode_trustDomainPasswords",
5328 sizeof(struct decode_trustDomainPasswords),
5329 (ndr_push_flags_fn_t) ndr_push_decode_trustDomainPasswords,
5330 (ndr_pull_flags_fn_t) ndr_pull_decode_trustDomainPasswords,
5331 (ndr_print_function_t) ndr_print_decode_trustDomainPasswords,
5332 false,
5335 "decode_ExtendedErrorInfo",
5336 sizeof(struct decode_ExtendedErrorInfo),
5337 (ndr_push_flags_fn_t) ndr_push_decode_ExtendedErrorInfo,
5338 (ndr_pull_flags_fn_t) ndr_pull_decode_ExtendedErrorInfo,
5339 (ndr_print_function_t) ndr_print_decode_ExtendedErrorInfo,
5340 false,
5343 "decode_ForestTrustInfo",
5344 sizeof(struct decode_ForestTrustInfo),
5345 (ndr_push_flags_fn_t) ndr_push_decode_ForestTrustInfo,
5346 (ndr_pull_flags_fn_t) ndr_pull_decode_ForestTrustInfo,
5347 (ndr_print_function_t) ndr_print_decode_ForestTrustInfo,
5348 false,
5350 { NULL, 0, NULL, NULL, NULL, false }
5353 static const char * const drsblobs_endpoint_strings[] = {
5354 "ncacn_np:[\\pipe\\drsblobs]",
5357 static const struct ndr_interface_string_array drsblobs_endpoints = {
5358 .count = 1,
5359 .names = drsblobs_endpoint_strings
5362 static const char * const drsblobs_authservice_strings[] = {
5363 "host",
5366 static const struct ndr_interface_string_array drsblobs_authservices = {
5367 .count = 1,
5368 .names = drsblobs_authservice_strings
5372 const struct ndr_interface_table ndr_table_drsblobs = {
5373 .name = "drsblobs",
5374 .syntax_id = {
5375 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
5376 NDR_DRSBLOBS_VERSION
5378 .helpstring = NDR_DRSBLOBS_HELPSTRING,
5379 .num_calls = 15,
5380 .calls = drsblobs_calls,
5381 .endpoints = &drsblobs_endpoints,
5382 .authservices = &drsblobs_authservices