WHATSNEW: Start release notes for Samba 3.5.21.
[Samba.git] / librpc / gen_ndr / ndr_drsblobs.c
bloba675706501a7b8b057fd9b7d50529788a21ada50
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 static enum ndr_err_code ndr_push_replPropertyMetaData1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaData1 *r)
12 if (ndr_flags & NDR_SCALARS) {
13 NDR_CHECK(ndr_push_align(ndr, 8));
14 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
15 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
16 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
17 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
18 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
19 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
20 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
22 if (ndr_flags & NDR_BUFFERS) {
24 return NDR_ERR_SUCCESS;
27 static enum ndr_err_code ndr_pull_replPropertyMetaData1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaData1 *r)
29 if (ndr_flags & NDR_SCALARS) {
30 NDR_CHECK(ndr_pull_align(ndr, 8));
31 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
32 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
33 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
34 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
35 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
36 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
37 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
39 if (ndr_flags & NDR_BUFFERS) {
41 return NDR_ERR_SUCCESS;
44 _PUBLIC_ void ndr_print_replPropertyMetaData1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaData1 *r)
46 ndr_print_struct(ndr, name, "replPropertyMetaData1");
47 ndr->depth++;
48 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
49 ndr_print_uint32(ndr, "version", r->version);
50 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
51 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
52 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
53 ndr_print_hyper(ndr, "local_usn", r->local_usn);
54 ndr->depth--;
57 static enum ndr_err_code ndr_push_replPropertyMetaDataCtr1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataCtr1 *r)
59 uint32_t cntr_array_0;
60 if (ndr_flags & NDR_SCALARS) {
61 NDR_CHECK(ndr_push_align(ndr, 8));
62 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
63 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
64 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
65 NDR_CHECK(ndr_push_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
67 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
69 if (ndr_flags & NDR_BUFFERS) {
71 return NDR_ERR_SUCCESS;
74 static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataCtr1 *r)
76 uint32_t size_array_0 = 0;
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 size_array_0 = r->count;
84 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
85 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
86 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
87 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
88 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
90 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
91 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
93 if (ndr_flags & NDR_BUFFERS) {
95 return NDR_ERR_SUCCESS;
98 _PUBLIC_ void ndr_print_replPropertyMetaDataCtr1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataCtr1 *r)
100 uint32_t cntr_array_0;
101 ndr_print_struct(ndr, name, "replPropertyMetaDataCtr1");
102 ndr->depth++;
103 ndr_print_uint32(ndr, "count", r->count);
104 ndr_print_uint32(ndr, "reserved", r->reserved);
105 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
106 ndr->depth++;
107 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
108 char *idx_0=NULL;
109 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
110 ndr_print_replPropertyMetaData1(ndr, "array", &r->array[cntr_array_0]);
111 free(idx_0);
114 ndr->depth--;
115 ndr->depth--;
118 static enum ndr_err_code ndr_push_replPropertyMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const union replPropertyMetaDataCtr *r)
120 if (ndr_flags & NDR_SCALARS) {
121 int level = ndr_push_get_switch_value(ndr, r);
122 NDR_CHECK(ndr_push_union_align(ndr, 8));
123 switch (level) {
124 case 1: {
125 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1));
126 break; }
128 default:
129 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
132 if (ndr_flags & NDR_BUFFERS) {
133 int level = ndr_push_get_switch_value(ndr, r);
134 switch (level) {
135 case 1:
136 break;
138 default:
139 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
142 return NDR_ERR_SUCCESS;
145 static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, union replPropertyMetaDataCtr *r)
147 int level;
148 level = ndr_pull_get_switch_value(ndr, r);
149 if (ndr_flags & NDR_SCALARS) {
150 NDR_CHECK(ndr_pull_union_align(ndr, 8));
151 switch (level) {
152 case 1: {
153 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1));
154 break; }
156 default:
157 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
160 if (ndr_flags & NDR_BUFFERS) {
161 switch (level) {
162 case 1:
163 break;
165 default:
166 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
169 return NDR_ERR_SUCCESS;
172 _PUBLIC_ void ndr_print_replPropertyMetaDataCtr(struct ndr_print *ndr, const char *name, const union replPropertyMetaDataCtr *r)
174 int level;
175 level = ndr_print_get_switch_value(ndr, r);
176 ndr_print_union(ndr, name, level, "replPropertyMetaDataCtr");
177 switch (level) {
178 case 1:
179 ndr_print_replPropertyMetaDataCtr1(ndr, "ctr1", &r->ctr1);
180 break;
182 default:
183 ndr_print_bad_level(ndr, name, level);
187 _PUBLIC_ enum ndr_err_code ndr_push_replPropertyMetaDataBlob(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataBlob *r)
189 if (ndr_flags & NDR_SCALARS) {
190 NDR_CHECK(ndr_push_align(ndr, 8));
191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
193 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
194 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr));
195 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
197 if (ndr_flags & NDR_BUFFERS) {
199 return NDR_ERR_SUCCESS;
202 _PUBLIC_ enum ndr_err_code ndr_pull_replPropertyMetaDataBlob(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataBlob *r)
204 if (ndr_flags & NDR_SCALARS) {
205 NDR_CHECK(ndr_pull_align(ndr, 8));
206 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
207 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
208 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
209 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr));
210 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
212 if (ndr_flags & NDR_BUFFERS) {
214 return NDR_ERR_SUCCESS;
217 _PUBLIC_ void ndr_print_replPropertyMetaDataBlob(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataBlob *r)
219 ndr_print_struct(ndr, name, "replPropertyMetaDataBlob");
220 ndr->depth++;
221 ndr_print_uint32(ndr, "version", r->version);
222 ndr_print_uint32(ndr, "reserved", r->reserved);
223 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
224 ndr_print_replPropertyMetaDataCtr(ndr, "ctr", &r->ctr);
225 ndr->depth--;
228 static enum ndr_err_code ndr_push_replUpToDateVectorCtr1(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr1 *r)
230 uint32_t cntr_cursors_0;
231 if (ndr_flags & NDR_SCALARS) {
232 NDR_CHECK(ndr_push_align(ndr, 8));
233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
235 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
236 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
238 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
240 if (ndr_flags & NDR_BUFFERS) {
242 return NDR_ERR_SUCCESS;
245 static enum ndr_err_code ndr_pull_replUpToDateVectorCtr1(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr1 *r)
247 uint32_t size_cursors_0 = 0;
248 uint32_t cntr_cursors_0;
249 TALLOC_CTX *_mem_save_cursors_0;
250 if (ndr_flags & NDR_SCALARS) {
251 NDR_CHECK(ndr_pull_align(ndr, 8));
252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
253 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
254 size_cursors_0 = r->count;
255 NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
256 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
257 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
258 for (cntr_cursors_0 = 0; cntr_cursors_0 < size_cursors_0; cntr_cursors_0++) {
259 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
261 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
262 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
264 if (ndr_flags & NDR_BUFFERS) {
266 return NDR_ERR_SUCCESS;
269 _PUBLIC_ void ndr_print_replUpToDateVectorCtr1(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr1 *r)
271 uint32_t cntr_cursors_0;
272 ndr_print_struct(ndr, name, "replUpToDateVectorCtr1");
273 ndr->depth++;
274 ndr_print_uint32(ndr, "count", r->count);
275 ndr_print_uint32(ndr, "reserved", r->reserved);
276 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
277 ndr->depth++;
278 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
279 char *idx_0=NULL;
280 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
281 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
282 free(idx_0);
285 ndr->depth--;
286 ndr->depth--;
289 static enum ndr_err_code ndr_push_replUpToDateVectorCtr2(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr2 *r)
291 uint32_t cntr_cursors_0;
292 if (ndr_flags & NDR_SCALARS) {
293 NDR_CHECK(ndr_push_align(ndr, 8));
294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
296 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
297 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
299 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
301 if (ndr_flags & NDR_BUFFERS) {
303 return NDR_ERR_SUCCESS;
306 static enum ndr_err_code ndr_pull_replUpToDateVectorCtr2(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr2 *r)
308 uint32_t size_cursors_0 = 0;
309 uint32_t cntr_cursors_0;
310 TALLOC_CTX *_mem_save_cursors_0;
311 if (ndr_flags & NDR_SCALARS) {
312 NDR_CHECK(ndr_pull_align(ndr, 8));
313 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
314 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
315 size_cursors_0 = r->count;
316 NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
317 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
318 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
319 for (cntr_cursors_0 = 0; cntr_cursors_0 < size_cursors_0; cntr_cursors_0++) {
320 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
323 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
325 if (ndr_flags & NDR_BUFFERS) {
327 return NDR_ERR_SUCCESS;
330 _PUBLIC_ void ndr_print_replUpToDateVectorCtr2(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr2 *r)
332 uint32_t cntr_cursors_0;
333 ndr_print_struct(ndr, name, "replUpToDateVectorCtr2");
334 ndr->depth++;
335 ndr_print_uint32(ndr, "count", r->count);
336 ndr_print_uint32(ndr, "reserved", r->reserved);
337 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
338 ndr->depth++;
339 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
340 char *idx_0=NULL;
341 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
342 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
343 free(idx_0);
346 ndr->depth--;
347 ndr->depth--;
350 static enum ndr_err_code ndr_push_replUpToDateVectorCtr(struct ndr_push *ndr, int ndr_flags, const union replUpToDateVectorCtr *r)
352 if (ndr_flags & NDR_SCALARS) {
353 int level = ndr_push_get_switch_value(ndr, r);
354 NDR_CHECK(ndr_push_union_align(ndr, 8));
355 switch (level) {
356 case 1: {
357 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1));
358 break; }
360 case 2: {
361 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2));
362 break; }
364 default:
365 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
368 if (ndr_flags & NDR_BUFFERS) {
369 int level = ndr_push_get_switch_value(ndr, r);
370 switch (level) {
371 case 1:
372 break;
374 case 2:
375 break;
377 default:
378 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
381 return NDR_ERR_SUCCESS;
384 static enum ndr_err_code ndr_pull_replUpToDateVectorCtr(struct ndr_pull *ndr, int ndr_flags, union replUpToDateVectorCtr *r)
386 int level;
387 level = ndr_pull_get_switch_value(ndr, r);
388 if (ndr_flags & NDR_SCALARS) {
389 NDR_CHECK(ndr_pull_union_align(ndr, 8));
390 switch (level) {
391 case 1: {
392 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1));
393 break; }
395 case 2: {
396 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2));
397 break; }
399 default:
400 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
403 if (ndr_flags & NDR_BUFFERS) {
404 switch (level) {
405 case 1:
406 break;
408 case 2:
409 break;
411 default:
412 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
415 return NDR_ERR_SUCCESS;
418 _PUBLIC_ void ndr_print_replUpToDateVectorCtr(struct ndr_print *ndr, const char *name, const union replUpToDateVectorCtr *r)
420 int level;
421 level = ndr_print_get_switch_value(ndr, r);
422 ndr_print_union(ndr, name, level, "replUpToDateVectorCtr");
423 switch (level) {
424 case 1:
425 ndr_print_replUpToDateVectorCtr1(ndr, "ctr1", &r->ctr1);
426 break;
428 case 2:
429 ndr_print_replUpToDateVectorCtr2(ndr, "ctr2", &r->ctr2);
430 break;
432 default:
433 ndr_print_bad_level(ndr, name, level);
437 _PUBLIC_ enum ndr_err_code ndr_push_replUpToDateVectorBlob(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorBlob *r)
439 if (ndr_flags & NDR_SCALARS) {
440 NDR_CHECK(ndr_push_align(ndr, 8));
441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
442 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
443 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
444 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr));
445 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
447 if (ndr_flags & NDR_BUFFERS) {
449 return NDR_ERR_SUCCESS;
452 _PUBLIC_ enum ndr_err_code ndr_pull_replUpToDateVectorBlob(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorBlob *r)
454 if (ndr_flags & NDR_SCALARS) {
455 NDR_CHECK(ndr_pull_align(ndr, 8));
456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
458 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
459 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr));
460 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
462 if (ndr_flags & NDR_BUFFERS) {
464 return NDR_ERR_SUCCESS;
467 _PUBLIC_ void ndr_print_replUpToDateVectorBlob(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorBlob *r)
469 ndr_print_struct(ndr, name, "replUpToDateVectorBlob");
470 ndr->depth++;
471 ndr_print_uint32(ndr, "version", r->version);
472 ndr_print_uint32(ndr, "reserved", r->reserved);
473 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
474 ndr_print_replUpToDateVectorCtr(ndr, "ctr", &r->ctr);
475 ndr->depth--;
478 _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1OtherInfo *r)
480 if (ndr_flags & NDR_SCALARS) {
481 NDR_CHECK(ndr_push_align(ndr, 4));
482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->dns_name) + 1));
483 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, strlen(r->dns_name) + 1, sizeof(uint8_t), CH_DOS));
484 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
486 if (ndr_flags & NDR_BUFFERS) {
488 return NDR_ERR_SUCCESS;
491 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1OtherInfo *r)
493 uint32_t size_dns_name_0 = 0;
494 if (ndr_flags & NDR_SCALARS) {
495 NDR_CHECK(ndr_pull_align(ndr, 4));
496 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__dns_name_size));
497 size_dns_name_0 = r->__dns_name_size;
498 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, size_dns_name_0, sizeof(uint8_t), CH_DOS));
499 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
501 if (ndr_flags & NDR_BUFFERS) {
503 return NDR_ERR_SUCCESS;
506 _PUBLIC_ void ndr_print_repsFromTo1OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo1OtherInfo *r)
508 ndr_print_struct(ndr, name, "repsFromTo1OtherInfo");
509 ndr->depth++;
510 ndr_print_uint32(ndr, "__dns_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->dns_name) + 1:r->__dns_name_size);
511 ndr_print_string(ndr, "dns_name", r->dns_name);
512 ndr->depth--;
515 _PUBLIC_ size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo *r, struct smb_iconv_convenience *ic, int flags)
517 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1OtherInfo, ic);
520 _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1 *r)
523 uint32_t _flags_save_STRUCT = ndr->flags;
524 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
525 if (ndr_flags & NDR_SCALARS) {
526 NDR_CHECK(ndr_push_align(ndr, 8));
527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8));
528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
529 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success));
530 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt));
531 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
532 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info));
533 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags)));
534 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
535 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
537 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
538 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
539 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
540 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid));
541 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
543 if (ndr_flags & NDR_BUFFERS) {
544 if (r->other_info) {
545 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
546 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
547 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
550 ndr->flags = _flags_save_STRUCT;
552 return NDR_ERR_SUCCESS;
555 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1 *r)
557 uint32_t _ptr_other_info;
558 TALLOC_CTX *_mem_save_other_info_0;
559 uint32_t size_schedule_0 = 0;
561 uint32_t _flags_save_STRUCT = ndr->flags;
562 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
563 if (ndr_flags & NDR_SCALARS) {
564 NDR_CHECK(ndr_pull_align(ndr, 8));
565 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize));
566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
567 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success));
568 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt));
569 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
570 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
571 if (_ptr_other_info) {
572 NDR_PULL_ALLOC(ndr, r->other_info);
573 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info));
574 } else {
575 r->other_info = NULL;
577 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length));
578 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
579 size_schedule_0 = 84;
580 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
581 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
582 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
583 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
584 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
585 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid));
586 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
588 if (ndr_flags & NDR_BUFFERS) {
589 if (r->other_info) {
590 uint32_t _relative_save_offset;
591 _relative_save_offset = ndr->offset;
592 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info));
593 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
594 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
595 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
596 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
597 ndr->offset = _relative_save_offset;
600 ndr->flags = _flags_save_STRUCT;
602 return NDR_ERR_SUCCESS;
605 _PUBLIC_ void ndr_print_repsFromTo1(struct ndr_print *ndr, const char *name, const struct repsFromTo1 *r)
607 ndr_print_struct(ndr, name, "repsFromTo1");
609 uint32_t _flags_save_STRUCT = ndr->flags;
610 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
611 ndr->depth++;
612 ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize);
613 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
614 ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success);
615 ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt);
616 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
617 ndr_print_ptr(ndr, "other_info", r->other_info);
618 ndr->depth++;
619 if (r->other_info) {
620 ndr_print_repsFromTo1OtherInfo(ndr, "other_info", r->other_info);
622 ndr->depth--;
623 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);
624 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
625 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
626 ndr_print_uint32(ndr, "reserved", r->reserved);
627 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
628 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
629 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
630 ndr_print_GUID(ndr, "transport_guid", &r->transport_guid);
631 ndr->depth--;
632 ndr->flags = _flags_save_STRUCT;
636 _PUBLIC_ size_t ndr_size_repsFromTo1(const struct repsFromTo1 *r, struct smb_iconv_convenience *ic, int flags)
638 flags |= LIBNDR_PRINT_ARRAY_HEX;
639 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1, ic);
642 _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2OtherInfo *r)
644 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
645 if (ndr_flags & NDR_SCALARS) {
646 NDR_CHECK(ndr_push_align(ndr, 8));
647 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags)));
650 uint32_t _flags_save_string = ndr->flags;
651 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
652 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name1));
653 ndr->flags = _flags_save_string;
655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
657 uint32_t _flags_save_string = ndr->flags;
658 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
659 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name2));
660 ndr->flags = _flags_save_string;
662 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown2));
663 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
665 if (ndr_flags & NDR_BUFFERS) {
666 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
668 uint32_t _flags_save_string = ndr->flags;
669 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
670 if (r->dns_name1) {
671 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name1));
672 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name1));
673 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name1));
675 ndr->flags = _flags_save_string;
678 uint32_t _flags_save_string = ndr->flags;
679 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
680 if (r->dns_name2) {
681 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name2));
682 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name2));
683 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name2));
685 ndr->flags = _flags_save_string;
688 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
689 return NDR_ERR_SUCCESS;
692 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2OtherInfo *r)
694 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
695 uint32_t _ptr_dns_name1;
696 TALLOC_CTX *_mem_save_dns_name1_0;
697 uint32_t _ptr_dns_name2;
698 TALLOC_CTX *_mem_save_dns_name2_0;
699 if (ndr_flags & NDR_SCALARS) {
700 NDR_CHECK(ndr_pull_align(ndr, 8));
701 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
702 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
704 uint32_t _flags_save_string = ndr->flags;
705 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
706 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name1));
707 if (_ptr_dns_name1) {
708 NDR_PULL_ALLOC(ndr, r->dns_name1);
709 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name1, _ptr_dns_name1));
710 } else {
711 r->dns_name1 = NULL;
713 ndr->flags = _flags_save_string;
715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
717 uint32_t _flags_save_string = ndr->flags;
718 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name2));
720 if (_ptr_dns_name2) {
721 NDR_PULL_ALLOC(ndr, r->dns_name2);
722 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name2, _ptr_dns_name2));
723 } else {
724 r->dns_name2 = NULL;
726 ndr->flags = _flags_save_string;
728 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown2));
729 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
731 if (ndr_flags & NDR_BUFFERS) {
732 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
734 uint32_t _flags_save_string = ndr->flags;
735 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
736 if (r->dns_name1) {
737 uint32_t _relative_save_offset;
738 _relative_save_offset = ndr->offset;
739 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name1));
740 _mem_save_dns_name1_0 = NDR_PULL_GET_MEM_CTX(ndr);
741 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name1, 0);
742 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name1));
743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name1_0, 0);
744 ndr->offset = _relative_save_offset;
746 ndr->flags = _flags_save_string;
749 uint32_t _flags_save_string = ndr->flags;
750 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
751 if (r->dns_name2) {
752 uint32_t _relative_save_offset;
753 _relative_save_offset = ndr->offset;
754 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name2));
755 _mem_save_dns_name2_0 = NDR_PULL_GET_MEM_CTX(ndr);
756 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name2, 0);
757 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name2));
758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name2_0, 0);
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_DsReplicaNeighbourFlags(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, r->reserved));
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;
835 uint32_t size_schedule_0 = 0;
837 uint32_t _flags_save_STRUCT = ndr->flags;
838 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
839 if (ndr_flags & NDR_SCALARS) {
840 NDR_CHECK(ndr_pull_align(ndr, 8));
841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize));
842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
843 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success));
844 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt));
845 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
846 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
847 if (_ptr_other_info) {
848 NDR_PULL_ALLOC(ndr, r->other_info);
849 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info));
850 } else {
851 r->other_info = NULL;
853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length));
854 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
855 size_schedule_0 = 84;
856 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, size_schedule_0));
857 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
859 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
860 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
861 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid));
862 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
863 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
865 if (ndr_flags & NDR_BUFFERS) {
866 if (r->other_info) {
867 uint32_t _relative_save_offset;
868 _relative_save_offset = ndr->offset;
869 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info));
870 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
871 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
872 NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info));
873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
874 ndr->offset = _relative_save_offset;
877 ndr->flags = _flags_save_STRUCT;
879 return NDR_ERR_SUCCESS;
882 _PUBLIC_ void ndr_print_repsFromTo2(struct ndr_print *ndr, const char *name, const struct repsFromTo2 *r)
884 ndr_print_struct(ndr, name, "repsFromTo2");
886 uint32_t _flags_save_STRUCT = ndr->flags;
887 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
888 ndr->depth++;
889 ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize);
890 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
891 ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success);
892 ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt);
893 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
894 ndr_print_ptr(ndr, "other_info", r->other_info);
895 ndr->depth++;
896 if (r->other_info) {
897 ndr_print_repsFromTo2OtherInfo(ndr, "other_info", r->other_info);
899 ndr->depth--;
900 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);
901 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
902 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
903 ndr_print_uint32(ndr, "reserved", r->reserved);
904 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
905 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
906 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
907 ndr_print_GUID(ndr, "transport_guid", &r->transport_guid);
908 ndr_print_hyper(ndr, "unknown1", r->unknown1);
909 ndr->depth--;
910 ndr->flags = _flags_save_STRUCT;
914 _PUBLIC_ size_t ndr_size_repsFromTo2(const struct repsFromTo2 *r, struct smb_iconv_convenience *ic, int flags)
916 flags |= LIBNDR_PRINT_ARRAY_HEX;
917 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2, ic);
920 static enum ndr_err_code ndr_push_repsFromTo(struct ndr_push *ndr, int ndr_flags, const union repsFromTo *r)
922 if (ndr_flags & NDR_SCALARS) {
923 int level = ndr_push_get_switch_value(ndr, r);
924 NDR_CHECK(ndr_push_union_align(ndr, 8));
925 switch (level) {
926 case 1: {
927 NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1));
928 break; }
930 case 2: {
931 NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2));
932 break; }
934 default:
935 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
938 if (ndr_flags & NDR_BUFFERS) {
939 int level = ndr_push_get_switch_value(ndr, r);
940 switch (level) {
941 case 1:
942 NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1));
943 break;
945 case 2:
946 NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2));
947 break;
949 default:
950 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
953 return NDR_ERR_SUCCESS;
956 static enum ndr_err_code ndr_pull_repsFromTo(struct ndr_pull *ndr, int ndr_flags, union repsFromTo *r)
958 int level;
959 level = ndr_pull_get_switch_value(ndr, r);
960 if (ndr_flags & NDR_SCALARS) {
961 NDR_CHECK(ndr_pull_union_align(ndr, 8));
962 switch (level) {
963 case 1: {
964 NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1));
965 break; }
967 case 2: {
968 NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2));
969 break; }
971 default:
972 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
975 if (ndr_flags & NDR_BUFFERS) {
976 switch (level) {
977 case 1:
978 NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1));
979 break;
981 case 2:
982 NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2));
983 break;
985 default:
986 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
989 return NDR_ERR_SUCCESS;
992 _PUBLIC_ void ndr_print_repsFromTo(struct ndr_print *ndr, const char *name, const union repsFromTo *r)
994 int level;
995 level = ndr_print_get_switch_value(ndr, r);
996 ndr_print_union(ndr, name, level, "repsFromTo");
997 switch (level) {
998 case 1:
999 ndr_print_repsFromTo1(ndr, "ctr1", &r->ctr1);
1000 break;
1002 case 2:
1003 ndr_print_repsFromTo2(ndr, "ctr2", &r->ctr2);
1004 break;
1006 default:
1007 ndr_print_bad_level(ndr, name, level);
1011 _PUBLIC_ enum ndr_err_code ndr_push_repsFromToBlob(struct ndr_push *ndr, int ndr_flags, const struct repsFromToBlob *r)
1013 if (ndr_flags & NDR_SCALARS) {
1014 NDR_CHECK(ndr_push_align(ndr, 8));
1015 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1016 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
1017 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1018 NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_SCALARS, &r->ctr));
1019 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1021 if (ndr_flags & NDR_BUFFERS) {
1022 NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_BUFFERS, &r->ctr));
1024 return NDR_ERR_SUCCESS;
1027 _PUBLIC_ enum ndr_err_code ndr_pull_repsFromToBlob(struct ndr_pull *ndr, int ndr_flags, struct repsFromToBlob *r)
1029 if (ndr_flags & NDR_SCALARS) {
1030 NDR_CHECK(ndr_pull_align(ndr, 8));
1031 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1032 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1033 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1034 NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_SCALARS, &r->ctr));
1035 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1037 if (ndr_flags & NDR_BUFFERS) {
1038 NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_BUFFERS, &r->ctr));
1040 return NDR_ERR_SUCCESS;
1043 _PUBLIC_ void ndr_print_repsFromToBlob(struct ndr_print *ndr, const char *name, const struct repsFromToBlob *r)
1045 ndr_print_struct(ndr, name, "repsFromToBlob");
1046 ndr->depth++;
1047 ndr_print_uint32(ndr, "version", r->version);
1048 ndr_print_uint32(ndr, "reserved", r->reserved);
1049 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1050 ndr_print_repsFromTo(ndr, "ctr", &r->ctr);
1051 ndr->depth--;
1054 static enum ndr_err_code ndr_push_partialAttributeSetCtr1(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetCtr1 *r)
1056 uint32_t cntr_array_0;
1057 if (ndr_flags & NDR_SCALARS) {
1058 NDR_CHECK(ndr_push_align(ndr, 4));
1059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1060 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
1061 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->array[cntr_array_0]));
1063 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1065 if (ndr_flags & NDR_BUFFERS) {
1067 return NDR_ERR_SUCCESS;
1070 static enum ndr_err_code ndr_pull_partialAttributeSetCtr1(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetCtr1 *r)
1072 uint32_t size_array_0 = 0;
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 size_array_0 = r->count;
1079 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
1080 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
1081 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
1082 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
1083 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
1085 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
1086 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1088 if (ndr_flags & NDR_BUFFERS) {
1090 return NDR_ERR_SUCCESS;
1093 _PUBLIC_ void ndr_print_partialAttributeSetCtr1(struct ndr_print *ndr, const char *name, const struct partialAttributeSetCtr1 *r)
1095 uint32_t cntr_array_0;
1096 ndr_print_struct(ndr, name, "partialAttributeSetCtr1");
1097 ndr->depth++;
1098 ndr_print_uint32(ndr, "count", r->count);
1099 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
1100 ndr->depth++;
1101 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
1102 char *idx_0=NULL;
1103 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
1104 ndr_print_drsuapi_DsAttributeId(ndr, "array", r->array[cntr_array_0]);
1105 free(idx_0);
1108 ndr->depth--;
1109 ndr->depth--;
1112 static enum ndr_err_code ndr_push_partialAttributeSetCtr(struct ndr_push *ndr, int ndr_flags, const union partialAttributeSetCtr *r)
1114 if (ndr_flags & NDR_SCALARS) {
1115 int level = ndr_push_get_switch_value(ndr, r);
1116 NDR_CHECK(ndr_push_union_align(ndr, 4));
1117 switch (level) {
1118 case 1: {
1119 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1));
1120 break; }
1122 default:
1123 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1126 if (ndr_flags & NDR_BUFFERS) {
1127 int level = ndr_push_get_switch_value(ndr, r);
1128 switch (level) {
1129 case 1:
1130 break;
1132 default:
1133 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1136 return NDR_ERR_SUCCESS;
1139 static enum ndr_err_code ndr_pull_partialAttributeSetCtr(struct ndr_pull *ndr, int ndr_flags, union partialAttributeSetCtr *r)
1141 int level;
1142 level = ndr_pull_get_switch_value(ndr, r);
1143 if (ndr_flags & NDR_SCALARS) {
1144 NDR_CHECK(ndr_pull_union_align(ndr, 4));
1145 switch (level) {
1146 case 1: {
1147 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1));
1148 break; }
1150 default:
1151 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1154 if (ndr_flags & NDR_BUFFERS) {
1155 switch (level) {
1156 case 1:
1157 break;
1159 default:
1160 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1163 return NDR_ERR_SUCCESS;
1166 _PUBLIC_ void ndr_print_partialAttributeSetCtr(struct ndr_print *ndr, const char *name, const union partialAttributeSetCtr *r)
1168 int level;
1169 level = ndr_print_get_switch_value(ndr, r);
1170 ndr_print_union(ndr, name, level, "partialAttributeSetCtr");
1171 switch (level) {
1172 case 1:
1173 ndr_print_partialAttributeSetCtr1(ndr, "ctr1", &r->ctr1);
1174 break;
1176 default:
1177 ndr_print_bad_level(ndr, name, level);
1181 _PUBLIC_ enum ndr_err_code ndr_push_partialAttributeSetBlob(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetBlob *r)
1183 if (ndr_flags & NDR_SCALARS) {
1184 NDR_CHECK(ndr_push_align(ndr, 4));
1185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
1187 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1188 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr));
1189 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1191 if (ndr_flags & NDR_BUFFERS) {
1193 return NDR_ERR_SUCCESS;
1196 _PUBLIC_ enum ndr_err_code ndr_pull_partialAttributeSetBlob(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetBlob *r)
1198 if (ndr_flags & NDR_SCALARS) {
1199 NDR_CHECK(ndr_pull_align(ndr, 4));
1200 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1201 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1202 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1203 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr));
1204 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1206 if (ndr_flags & NDR_BUFFERS) {
1208 return NDR_ERR_SUCCESS;
1211 _PUBLIC_ void ndr_print_partialAttributeSetBlob(struct ndr_print *ndr, const char *name, const struct partialAttributeSetBlob *r)
1213 ndr_print_struct(ndr, name, "partialAttributeSetBlob");
1214 ndr->depth++;
1215 ndr_print_uint32(ndr, "version", r->version);
1216 ndr_print_uint32(ndr, "reserved", r->reserved);
1217 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1218 ndr_print_partialAttributeSetCtr(ndr, "ctr", &r->ctr);
1219 ndr->depth--;
1222 static enum ndr_err_code ndr_push_prefixMapVersion(struct ndr_push *ndr, int ndr_flags, enum prefixMapVersion r)
1224 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1225 return NDR_ERR_SUCCESS;
1228 static enum ndr_err_code ndr_pull_prefixMapVersion(struct ndr_pull *ndr, int ndr_flags, enum prefixMapVersion *r)
1230 uint32_t v;
1231 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1232 *r = v;
1233 return NDR_ERR_SUCCESS;
1236 _PUBLIC_ void ndr_print_prefixMapVersion(struct ndr_print *ndr, const char *name, enum prefixMapVersion r)
1238 const char *val = NULL;
1240 switch (r) {
1241 case PREFIX_MAP_VERSION_DSDB: val = "PREFIX_MAP_VERSION_DSDB"; break;
1243 ndr_print_enum(ndr, name, "ENUM", val, r);
1246 static enum ndr_err_code ndr_push_prefixMapCtr(struct ndr_push *ndr, int ndr_flags, const union prefixMapCtr *r)
1248 if (ndr_flags & NDR_SCALARS) {
1249 int level = ndr_push_get_switch_value(ndr, r);
1250 NDR_CHECK(ndr_push_union_align(ndr, 5));
1251 switch (level) {
1252 case PREFIX_MAP_VERSION_DSDB: {
1253 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb));
1254 break; }
1256 default:
1257 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1260 if (ndr_flags & NDR_BUFFERS) {
1261 int level = ndr_push_get_switch_value(ndr, r);
1262 switch (level) {
1263 case PREFIX_MAP_VERSION_DSDB:
1264 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb));
1265 break;
1267 default:
1268 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1271 return NDR_ERR_SUCCESS;
1274 static enum ndr_err_code ndr_pull_prefixMapCtr(struct ndr_pull *ndr, int ndr_flags, union prefixMapCtr *r)
1276 int level;
1277 level = ndr_pull_get_switch_value(ndr, r);
1278 if (ndr_flags & NDR_SCALARS) {
1279 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1280 switch (level) {
1281 case PREFIX_MAP_VERSION_DSDB: {
1282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb));
1283 break; }
1285 default:
1286 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1289 if (ndr_flags & NDR_BUFFERS) {
1290 switch (level) {
1291 case PREFIX_MAP_VERSION_DSDB:
1292 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb));
1293 break;
1295 default:
1296 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1299 return NDR_ERR_SUCCESS;
1302 _PUBLIC_ void ndr_print_prefixMapCtr(struct ndr_print *ndr, const char *name, const union prefixMapCtr *r)
1304 int level;
1305 level = ndr_print_get_switch_value(ndr, r);
1306 ndr_print_union(ndr, name, level, "prefixMapCtr");
1307 switch (level) {
1308 case PREFIX_MAP_VERSION_DSDB:
1309 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "dsdb", &r->dsdb);
1310 break;
1312 default:
1313 ndr_print_bad_level(ndr, name, level);
1317 _PUBLIC_ enum ndr_err_code ndr_push_prefixMapBlob(struct ndr_push *ndr, int ndr_flags, const struct prefixMapBlob *r)
1319 if (ndr_flags & NDR_SCALARS) {
1320 NDR_CHECK(ndr_push_align(ndr, 5));
1321 NDR_CHECK(ndr_push_prefixMapVersion(ndr, NDR_SCALARS, r->version));
1322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
1323 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
1324 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
1325 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1327 if (ndr_flags & NDR_BUFFERS) {
1328 NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr));
1330 return NDR_ERR_SUCCESS;
1333 _PUBLIC_ enum ndr_err_code ndr_pull_prefixMapBlob(struct ndr_pull *ndr, int ndr_flags, struct prefixMapBlob *r)
1335 if (ndr_flags & NDR_SCALARS) {
1336 NDR_CHECK(ndr_pull_align(ndr, 5));
1337 NDR_CHECK(ndr_pull_prefixMapVersion(ndr, NDR_SCALARS, &r->version));
1338 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
1339 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
1340 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr));
1341 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1343 if (ndr_flags & NDR_BUFFERS) {
1344 NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr));
1346 return NDR_ERR_SUCCESS;
1349 _PUBLIC_ void ndr_print_prefixMapBlob(struct ndr_print *ndr, const char *name, const struct prefixMapBlob *r)
1351 ndr_print_struct(ndr, name, "prefixMapBlob");
1352 ndr->depth++;
1353 ndr_print_prefixMapVersion(ndr, "version", r->version);
1354 ndr_print_uint32(ndr, "reserved", r->reserved);
1355 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
1356 ndr_print_prefixMapCtr(ndr, "ctr", &r->ctr);
1357 ndr->depth--;
1360 static enum ndr_err_code ndr_push_ldapControlDirSyncExtra(struct ndr_push *ndr, int ndr_flags, const union ldapControlDirSyncExtra *r)
1362 if (ndr_flags & NDR_SCALARS) {
1363 int level = ndr_push_get_switch_value(ndr, r);
1364 NDR_CHECK(ndr_push_union_align(ndr, 8));
1365 switch (level) {
1366 case 0: {
1367 break; }
1369 default: {
1370 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector));
1371 break; }
1375 if (ndr_flags & NDR_BUFFERS) {
1376 int level = ndr_push_get_switch_value(ndr, r);
1377 switch (level) {
1378 case 0:
1379 break;
1381 default:
1382 break;
1386 return NDR_ERR_SUCCESS;
1389 static enum ndr_err_code ndr_pull_ldapControlDirSyncExtra(struct ndr_pull *ndr, int ndr_flags, union ldapControlDirSyncExtra *r)
1391 int level;
1392 level = ndr_pull_get_switch_value(ndr, r);
1393 if (ndr_flags & NDR_SCALARS) {
1394 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1395 switch (level) {
1396 case 0: {
1397 break; }
1399 default: {
1400 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector));
1401 break; }
1405 if (ndr_flags & NDR_BUFFERS) {
1406 switch (level) {
1407 case 0:
1408 break;
1410 default:
1411 break;
1415 return NDR_ERR_SUCCESS;
1418 _PUBLIC_ void ndr_print_ldapControlDirSyncExtra(struct ndr_print *ndr, const char *name, const union ldapControlDirSyncExtra *r)
1420 int level;
1421 level = ndr_print_get_switch_value(ndr, r);
1422 ndr_print_union(ndr, name, level, "ldapControlDirSyncExtra");
1423 switch (level) {
1424 case 0:
1425 break;
1427 default:
1428 ndr_print_replUpToDateVectorBlob(ndr, "uptodateness_vector", &r->uptodateness_vector);
1429 break;
1434 static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
1436 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_ldapControlDirSyncExtra, ic);
1439 static enum ndr_err_code ndr_push_ldapControlDirSyncBlob(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncBlob *r)
1441 if (ndr_flags & NDR_SCALARS) {
1442 NDR_CHECK(ndr_push_align(ndr, 8));
1443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 3));
1444 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
1445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
1446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
1447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0)));
1448 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1449 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
1450 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->extra, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0)));
1451 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra));
1452 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1454 if (ndr_flags & NDR_BUFFERS) {
1455 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra));
1457 return NDR_ERR_SUCCESS;
1460 static enum ndr_err_code ndr_pull_ldapControlDirSyncBlob(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncBlob *r)
1462 if (ndr_flags & NDR_SCALARS) {
1463 NDR_CHECK(ndr_pull_align(ndr, 8));
1464 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
1465 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
1466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
1467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
1468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extra_length));
1469 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1470 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
1471 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->extra, r->extra_length));
1472 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra));
1473 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1475 if (ndr_flags & NDR_BUFFERS) {
1476 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra));
1478 return NDR_ERR_SUCCESS;
1481 _PUBLIC_ void ndr_print_ldapControlDirSyncBlob(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncBlob *r)
1483 ndr_print_struct(ndr, name, "ldapControlDirSyncBlob");
1484 ndr->depth++;
1485 ndr_print_uint32(ndr, "u1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->u1);
1486 ndr_print_NTTIME(ndr, "time", r->time);
1487 ndr_print_uint32(ndr, "u2", r->u2);
1488 ndr_print_uint32(ndr, "u3", r->u3);
1489 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);
1490 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1491 ndr_print_GUID(ndr, "guid1", &r->guid1);
1492 ndr_print_set_switch_value(ndr, &r->extra, r->extra_length);
1493 ndr_print_ldapControlDirSyncExtra(ndr, "extra", &r->extra);
1494 ndr->depth--;
1497 _PUBLIC_ enum ndr_err_code ndr_push_ldapControlDirSyncCookie(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncCookie *r)
1499 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
1500 if (ndr_flags & NDR_SCALARS) {
1501 NDR_CHECK(ndr_push_align(ndr, 8));
1502 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1503 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "MSDS", 4, sizeof(uint8_t), CH_DOS));
1505 struct ndr_push *_ndr_blob;
1506 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_blob, 0, -1));
1507 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob));
1508 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_blob, 0, -1));
1510 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1512 if (ndr_flags & NDR_BUFFERS) {
1513 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
1515 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
1516 return NDR_ERR_SUCCESS;
1519 _PUBLIC_ enum ndr_err_code ndr_pull_ldapControlDirSyncCookie(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncCookie *r)
1521 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
1522 uint32_t size_msds_0 = 0;
1523 if (ndr_flags & NDR_SCALARS) {
1524 NDR_CHECK(ndr_pull_align(ndr, 8));
1525 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
1526 size_msds_0 = 4;
1527 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->msds, size_msds_0, sizeof(uint8_t), CH_DOS));
1529 struct ndr_pull *_ndr_blob;
1530 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_blob, 0, -1));
1531 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob));
1532 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_blob, 0, -1));
1534 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1536 if (ndr_flags & NDR_BUFFERS) {
1537 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
1539 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
1540 return NDR_ERR_SUCCESS;
1543 _PUBLIC_ void ndr_print_ldapControlDirSyncCookie(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncCookie *r)
1545 ndr_print_struct(ndr, name, "ldapControlDirSyncCookie");
1546 ndr->depth++;
1547 ndr_print_string(ndr, "msds", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"MSDS":r->msds);
1548 ndr_print_ldapControlDirSyncBlob(ndr, "blob", &r->blob);
1549 ndr->depth--;
1552 static enum ndr_err_code ndr_push_supplementalCredentialsPackage(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsPackage *r)
1554 if (ndr_flags & NDR_SCALARS) {
1555 NDR_CHECK(ndr_push_align(ndr, 2));
1556 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->name)));
1557 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->data)));
1558 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved));
1559 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 2 * strlen_m(r->name), sizeof(uint8_t), CH_UTF16));
1560 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data, strlen(r->data), sizeof(uint8_t), CH_DOS));
1561 NDR_CHECK(ndr_push_trailer_align(ndr, 2));
1563 if (ndr_flags & NDR_BUFFERS) {
1565 return NDR_ERR_SUCCESS;
1568 static enum ndr_err_code ndr_pull_supplementalCredentialsPackage(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsPackage *r)
1570 uint32_t size_name_0 = 0;
1571 uint32_t size_data_0 = 0;
1572 if (ndr_flags & NDR_SCALARS) {
1573 NDR_CHECK(ndr_pull_align(ndr, 2));
1574 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len));
1575 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_len));
1576 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved));
1577 size_name_0 = r->name_len;
1578 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, size_name_0, sizeof(uint8_t), CH_UTF16));
1579 size_data_0 = r->data_len;
1580 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data, size_data_0, sizeof(uint8_t), CH_DOS));
1581 NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
1583 if (ndr_flags & NDR_BUFFERS) {
1585 return NDR_ERR_SUCCESS;
1588 _PUBLIC_ void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsPackage *r)
1590 ndr_print_struct(ndr, name, "supplementalCredentialsPackage");
1591 ndr->depth++;
1592 ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->name):r->name_len);
1593 ndr_print_uint16(ndr, "data_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->data):r->data_len);
1594 ndr_print_uint16(ndr, "reserved", r->reserved);
1595 ndr_print_string(ndr, "name", r->name);
1596 ndr_print_string(ndr, "data", r->data);
1597 ndr->depth--;
1600 static enum ndr_err_code ndr_push_supplementalCredentialsSignature(struct ndr_push *ndr, int ndr_flags, enum supplementalCredentialsSignature r)
1603 uint32_t _flags_save_ENUM = ndr->flags;
1604 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1605 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1606 ndr->flags = _flags_save_ENUM;
1608 return NDR_ERR_SUCCESS;
1611 static enum ndr_err_code ndr_pull_supplementalCredentialsSignature(struct ndr_pull *ndr, int ndr_flags, enum supplementalCredentialsSignature *r)
1613 uint16_t v;
1615 uint32_t _flags_save_ENUM = ndr->flags;
1616 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1617 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1618 *r = v;
1619 ndr->flags = _flags_save_ENUM;
1621 return NDR_ERR_SUCCESS;
1624 _PUBLIC_ void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r)
1626 const char *val = NULL;
1629 uint32_t _flags_save_ENUM = ndr->flags;
1630 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1631 switch (r) {
1632 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE: val = "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1634 ndr_print_enum(ndr, name, "ENUM", val, r);
1635 ndr->flags = _flags_save_ENUM;
1639 static enum ndr_err_code ndr_push_supplementalCredentialsSubBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsSubBlob *r)
1641 uint32_t cntr_packages_0;
1642 if (ndr_flags & NDR_SCALARS) {
1643 NDR_CHECK(ndr_push_align(ndr, 3));
1644 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_PREFIX, 0x30, sizeof(uint16_t), CH_UTF16));
1645 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_SIGNATURE));
1646 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_packages));
1647 for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) {
1648 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0]));
1650 NDR_CHECK(ndr_push_trailer_align(ndr, 3));
1652 if (ndr_flags & NDR_BUFFERS) {
1654 return NDR_ERR_SUCCESS;
1657 static enum ndr_err_code ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsSubBlob *r)
1659 uint32_t size_prefix_0 = 0;
1660 uint32_t size_packages_0 = 0;
1661 uint32_t cntr_packages_0;
1662 TALLOC_CTX *_mem_save_packages_0;
1663 if (ndr_flags & NDR_SCALARS) {
1664 NDR_CHECK(ndr_pull_align(ndr, 3));
1665 size_prefix_0 = 0x30;
1666 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->prefix, size_prefix_0, sizeof(uint16_t), CH_UTF16));
1667 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr, NDR_SCALARS, &r->signature));
1668 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_packages));
1669 size_packages_0 = r->num_packages;
1670 NDR_PULL_ALLOC_N(ndr, r->packages, size_packages_0);
1671 _mem_save_packages_0 = NDR_PULL_GET_MEM_CTX(ndr);
1672 NDR_PULL_SET_MEM_CTX(ndr, r->packages, 0);
1673 for (cntr_packages_0 = 0; cntr_packages_0 < size_packages_0; cntr_packages_0++) {
1674 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0]));
1676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_packages_0, 0);
1677 NDR_CHECK(ndr_pull_trailer_align(ndr, 3));
1679 if (ndr_flags & NDR_BUFFERS) {
1681 return NDR_ERR_SUCCESS;
1684 _PUBLIC_ void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsSubBlob *r)
1686 uint32_t cntr_packages_0;
1687 ndr_print_struct(ndr, name, "supplementalCredentialsSubBlob");
1688 ndr->depth++;
1689 ndr_print_string(ndr, "prefix", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_PREFIX:r->prefix);
1690 ndr_print_supplementalCredentialsSignature(ndr, "signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE:r->signature);
1691 ndr_print_uint16(ndr, "num_packages", r->num_packages);
1692 ndr->print(ndr, "%s: ARRAY(%d)", "packages", (int)r->num_packages);
1693 ndr->depth++;
1694 for (cntr_packages_0=0;cntr_packages_0<r->num_packages;cntr_packages_0++) {
1695 char *idx_0=NULL;
1696 if (asprintf(&idx_0, "[%d]", cntr_packages_0) != -1) {
1697 ndr_print_supplementalCredentialsPackage(ndr, "packages", &r->packages[cntr_packages_0]);
1698 free(idx_0);
1701 ndr->depth--;
1702 ndr->depth--;
1705 static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob *r, struct smb_iconv_convenience *ic, int flags)
1707 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_supplementalCredentialsSubBlob, ic);
1710 _PUBLIC_ enum ndr_err_code ndr_push_supplementalCredentialsBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsBlob *r)
1712 if (ndr_flags & NDR_SCALARS) {
1713 NDR_CHECK(ndr_push_align(ndr, 4));
1714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1718 struct ndr_push *_ndr_sub;
1719 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1720 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub));
1721 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags)));
1723 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0));
1724 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1726 if (ndr_flags & NDR_BUFFERS) {
1728 return NDR_ERR_SUCCESS;
1731 _PUBLIC_ enum ndr_err_code ndr_pull_supplementalCredentialsBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsBlob *r)
1733 if (ndr_flags & NDR_SCALARS) {
1734 NDR_CHECK(ndr_pull_align(ndr, 4));
1735 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
1736 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1737 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
1739 struct ndr_pull *_ndr_sub;
1740 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sub, 0, r->__ndr_size));
1741 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub));
1742 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sub, 0, r->__ndr_size));
1744 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown3));
1745 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1747 if (ndr_flags & NDR_BUFFERS) {
1749 return NDR_ERR_SUCCESS;
1752 _PUBLIC_ void ndr_print_supplementalCredentialsBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsBlob *r)
1754 ndr_print_struct(ndr, name, "supplementalCredentialsBlob");
1755 ndr->depth++;
1756 ndr_print_uint32(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown1);
1757 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);
1758 ndr_print_uint32(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown2);
1759 ndr_print_supplementalCredentialsSubBlob(ndr, "sub", &r->sub);
1760 ndr_print_uint8(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3);
1761 ndr->depth--;
1764 _PUBLIC_ enum ndr_err_code ndr_push_package_PackagesBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PackagesBlob *r)
1766 if (ndr_flags & NDR_SCALARS) {
1767 NDR_CHECK(ndr_push_align(ndr, 4));
1769 uint32_t _flags_save_string_array = ndr->flags;
1770 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1771 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->names));
1772 ndr->flags = _flags_save_string_array;
1774 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1776 if (ndr_flags & NDR_BUFFERS) {
1778 return NDR_ERR_SUCCESS;
1781 _PUBLIC_ enum ndr_err_code ndr_pull_package_PackagesBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PackagesBlob *r)
1783 if (ndr_flags & NDR_SCALARS) {
1784 NDR_CHECK(ndr_pull_align(ndr, 4));
1786 uint32_t _flags_save_string_array = ndr->flags;
1787 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1788 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->names));
1789 ndr->flags = _flags_save_string_array;
1791 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1793 if (ndr_flags & NDR_BUFFERS) {
1795 return NDR_ERR_SUCCESS;
1798 _PUBLIC_ void ndr_print_package_PackagesBlob(struct ndr_print *ndr, const char *name, const struct package_PackagesBlob *r)
1800 ndr_print_struct(ndr, name, "package_PackagesBlob");
1801 ndr->depth++;
1802 ndr_print_string_array(ndr, "names", r->names);
1803 ndr->depth--;
1806 static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosString *r)
1808 if (ndr_flags & NDR_SCALARS) {
1809 NDR_CHECK(ndr_push_align(ndr, 5));
1810 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
1811 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
1813 uint32_t _flags_save_string = ndr->flags;
1814 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1815 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->string));
1816 ndr->flags = _flags_save_string;
1818 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1820 if (ndr_flags & NDR_BUFFERS) {
1822 uint32_t _flags_save_string = ndr->flags;
1823 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1824 if (r->string) {
1825 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string));
1827 struct ndr_push *_ndr_string;
1828 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string)));
1829 NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string));
1830 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string)));
1832 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string));
1834 ndr->flags = _flags_save_string;
1837 return NDR_ERR_SUCCESS;
1840 static enum ndr_err_code ndr_pull_package_PrimaryKerberosString(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosString *r)
1842 uint32_t _ptr_string;
1843 TALLOC_CTX *_mem_save_string_0;
1844 if (ndr_flags & NDR_SCALARS) {
1845 NDR_CHECK(ndr_pull_align(ndr, 5));
1846 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1847 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1849 uint32_t _flags_save_string = ndr->flags;
1850 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1851 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
1852 if (_ptr_string) {
1853 NDR_PULL_ALLOC(ndr, r->string);
1854 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->string, _ptr_string));
1855 } else {
1856 r->string = NULL;
1858 ndr->flags = _flags_save_string;
1860 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1862 if (ndr_flags & NDR_BUFFERS) {
1864 uint32_t _flags_save_string = ndr->flags;
1865 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1866 if (r->string) {
1867 uint32_t _relative_save_offset;
1868 _relative_save_offset = ndr->offset;
1869 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->string));
1870 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
1871 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
1873 struct ndr_pull *_ndr_string;
1874 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_string, 0, r->size));
1875 NDR_CHECK(ndr_pull_string(_ndr_string, NDR_SCALARS, &r->string));
1876 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_string, 0, r->size));
1878 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
1879 ndr->offset = _relative_save_offset;
1881 ndr->flags = _flags_save_string;
1884 return NDR_ERR_SUCCESS;
1887 _PUBLIC_ void ndr_print_package_PrimaryKerberosString(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosString *r)
1889 ndr_print_struct(ndr, name, "package_PrimaryKerberosString");
1890 ndr->depth++;
1891 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length);
1892 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size);
1893 ndr_print_ptr(ndr, "string", r->string);
1894 ndr->depth++;
1895 if (r->string) {
1896 ndr_print_string(ndr, "string", r->string);
1898 ndr->depth--;
1899 ndr->depth--;
1902 static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey3 *r)
1904 if (ndr_flags & NDR_SCALARS) {
1905 NDR_CHECK(ndr_push_align(ndr, 5));
1906 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
1907 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
1908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
1910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
1912 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1913 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1914 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value));
1915 ndr->flags = _flags_save_DATA_BLOB;
1917 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1919 if (ndr_flags & NDR_BUFFERS) {
1921 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1922 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1923 if (r->value) {
1924 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
1926 struct ndr_push *_ndr_value;
1927 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
1928 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
1929 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
1931 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
1933 ndr->flags = _flags_save_DATA_BLOB;
1936 return NDR_ERR_SUCCESS;
1939 static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey3 *r)
1941 uint32_t _ptr_value;
1942 TALLOC_CTX *_mem_save_value_0;
1943 if (ndr_flags & NDR_SCALARS) {
1944 NDR_CHECK(ndr_pull_align(ndr, 5));
1945 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
1946 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
1947 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
1948 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
1949 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
1951 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1952 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1953 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
1954 if (_ptr_value) {
1955 NDR_PULL_ALLOC(ndr, r->value);
1956 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value));
1957 } else {
1958 r->value = NULL;
1960 ndr->flags = _flags_save_DATA_BLOB;
1962 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1964 if (ndr_flags & NDR_BUFFERS) {
1966 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1967 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1968 if (r->value) {
1969 uint32_t _relative_save_offset;
1970 _relative_save_offset = ndr->offset;
1971 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value));
1972 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
1973 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0);
1975 struct ndr_pull *_ndr_value;
1976 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len));
1977 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value));
1978 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
1980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
1981 ndr->offset = _relative_save_offset;
1983 ndr->flags = _flags_save_DATA_BLOB;
1986 return NDR_ERR_SUCCESS;
1989 _PUBLIC_ void ndr_print_package_PrimaryKerberosKey3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey3 *r)
1991 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey3");
1992 ndr->depth++;
1993 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1994 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1995 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
1996 ndr_print_uint32(ndr, "keytype", r->keytype);
1997 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
1998 ndr_print_ptr(ndr, "value", r->value);
1999 ndr->depth++;
2000 if (r->value) {
2001 ndr_print_DATA_BLOB(ndr, "value", *r->value);
2003 ndr->depth--;
2004 ndr->depth--;
2007 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr3 *r)
2009 uint32_t cntr_keys_0;
2010 uint32_t cntr_old_keys_0;
2011 if (ndr_flags & NDR_SCALARS) {
2012 NDR_CHECK(ndr_push_align(ndr, 5));
2013 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
2014 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
2015 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2016 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2017 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2019 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2020 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2024 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2027 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2029 if (ndr_flags & NDR_BUFFERS) {
2030 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2031 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2032 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2034 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2035 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2038 return NDR_ERR_SUCCESS;
2041 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr3 *r)
2043 uint32_t size_keys_0 = 0;
2044 uint32_t cntr_keys_0;
2045 TALLOC_CTX *_mem_save_keys_0;
2046 uint32_t size_old_keys_0 = 0;
2047 uint32_t cntr_old_keys_0;
2048 TALLOC_CTX *_mem_save_old_keys_0;
2049 if (ndr_flags & NDR_SCALARS) {
2050 NDR_CHECK(ndr_pull_align(ndr, 5));
2051 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
2052 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
2053 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2054 size_keys_0 = r->num_keys;
2055 NDR_PULL_ALLOC_N(ndr, r->keys, size_keys_0);
2056 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2057 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2058 for (cntr_keys_0 = 0; cntr_keys_0 < size_keys_0; cntr_keys_0++) {
2059 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2062 size_old_keys_0 = r->num_old_keys;
2063 NDR_PULL_ALLOC_N(ndr, r->old_keys, size_old_keys_0);
2064 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2065 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2066 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < size_old_keys_0; cntr_old_keys_0++) {
2067 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2070 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding1));
2071 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding2));
2072 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding3));
2073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding4));
2074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding5));
2075 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2077 if (ndr_flags & NDR_BUFFERS) {
2078 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2079 size_keys_0 = r->num_keys;
2080 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2081 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2082 for (cntr_keys_0 = 0; cntr_keys_0 < size_keys_0; cntr_keys_0++) {
2083 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2085 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2086 size_old_keys_0 = r->num_old_keys;
2087 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2088 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2089 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < size_old_keys_0; cntr_old_keys_0++) {
2090 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2094 return NDR_ERR_SUCCESS;
2097 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr3 *r)
2099 uint32_t cntr_keys_0;
2100 uint32_t cntr_old_keys_0;
2101 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr3");
2102 ndr->depth++;
2103 ndr_print_uint16(ndr, "num_keys", r->num_keys);
2104 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys);
2105 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt);
2106 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys);
2107 ndr->depth++;
2108 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
2109 char *idx_0=NULL;
2110 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
2111 ndr_print_package_PrimaryKerberosKey3(ndr, "keys", &r->keys[cntr_keys_0]);
2112 free(idx_0);
2115 ndr->depth--;
2116 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys);
2117 ndr->depth++;
2118 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
2119 char *idx_0=NULL;
2120 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
2121 ndr_print_package_PrimaryKerberosKey3(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
2122 free(idx_0);
2125 ndr->depth--;
2126 ndr_print_uint32(ndr, "padding1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding1);
2127 ndr_print_uint32(ndr, "padding2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding2);
2128 ndr_print_uint32(ndr, "padding3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding3);
2129 ndr_print_uint32(ndr, "padding4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding4);
2130 ndr_print_uint32(ndr, "padding5", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding5);
2131 ndr->depth--;
2134 static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey4 *r)
2136 if (ndr_flags & NDR_SCALARS) {
2137 NDR_CHECK(ndr_push_align(ndr, 5));
2138 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2139 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iteration_count));
2142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype));
2143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0)));
2145 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2146 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2147 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value));
2148 ndr->flags = _flags_save_DATA_BLOB;
2150 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2152 if (ndr_flags & NDR_BUFFERS) {
2154 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2155 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2156 if (r->value) {
2157 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
2159 struct ndr_push *_ndr_value;
2160 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
2161 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
2162 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
2164 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
2166 ndr->flags = _flags_save_DATA_BLOB;
2169 return NDR_ERR_SUCCESS;
2172 static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey4 *r)
2174 uint32_t _ptr_value;
2175 TALLOC_CTX *_mem_save_value_0;
2176 if (ndr_flags & NDR_SCALARS) {
2177 NDR_CHECK(ndr_pull_align(ndr, 5));
2178 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1));
2179 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2));
2180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
2181 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iteration_count));
2182 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype));
2183 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len));
2185 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2186 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2187 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
2188 if (_ptr_value) {
2189 NDR_PULL_ALLOC(ndr, r->value);
2190 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value));
2191 } else {
2192 r->value = NULL;
2194 ndr->flags = _flags_save_DATA_BLOB;
2196 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2198 if (ndr_flags & NDR_BUFFERS) {
2200 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2201 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2202 if (r->value) {
2203 uint32_t _relative_save_offset;
2204 _relative_save_offset = ndr->offset;
2205 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value));
2206 _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
2207 NDR_PULL_SET_MEM_CTX(ndr, r->value, 0);
2209 struct ndr_pull *_ndr_value;
2210 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len));
2211 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value));
2212 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len));
2214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
2215 ndr->offset = _relative_save_offset;
2217 ndr->flags = _flags_save_DATA_BLOB;
2220 return NDR_ERR_SUCCESS;
2223 _PUBLIC_ void ndr_print_package_PrimaryKerberosKey4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey4 *r)
2225 ndr_print_struct(ndr, name, "package_PrimaryKerberosKey4");
2226 ndr->depth++;
2227 ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
2228 ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
2229 ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3);
2230 ndr_print_uint32(ndr, "iteration_count", r->iteration_count);
2231 ndr_print_uint32(ndr, "keytype", r->keytype);
2232 ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len);
2233 ndr_print_ptr(ndr, "value", r->value);
2234 ndr->depth++;
2235 if (r->value) {
2236 ndr_print_DATA_BLOB(ndr, "value", *r->value);
2238 ndr->depth--;
2239 ndr->depth--;
2242 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr4 *r)
2244 uint32_t cntr_keys_0;
2245 uint32_t cntr_old_keys_0;
2246 uint32_t cntr_older_keys_0;
2247 if (ndr_flags & NDR_SCALARS) {
2248 NDR_CHECK(ndr_push_align(ndr, 5));
2249 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys));
2250 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2251 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys));
2252 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_older_keys));
2253 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->default_iteration_count));
2255 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2256 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2258 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2259 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2261 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2262 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
2264 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2266 if (ndr_flags & NDR_BUFFERS) {
2267 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2268 for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) {
2269 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2271 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) {
2272 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2274 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) {
2275 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
2278 return NDR_ERR_SUCCESS;
2281 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr4 *r)
2283 uint32_t size_keys_0 = 0;
2284 uint32_t cntr_keys_0;
2285 TALLOC_CTX *_mem_save_keys_0;
2286 uint32_t size_service_keys_0 = 0;
2287 uint32_t cntr_service_keys_0;
2288 TALLOC_CTX *_mem_save_service_keys_0;
2289 uint32_t size_old_keys_0 = 0;
2290 uint32_t cntr_old_keys_0;
2291 TALLOC_CTX *_mem_save_old_keys_0;
2292 uint32_t size_older_keys_0 = 0;
2293 uint32_t cntr_older_keys_0;
2294 TALLOC_CTX *_mem_save_older_keys_0;
2295 if (ndr_flags & NDR_SCALARS) {
2296 NDR_CHECK(ndr_pull_align(ndr, 5));
2297 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys));
2298 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_service_keys));
2299 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys));
2300 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_older_keys));
2301 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt));
2302 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->default_iteration_count));
2303 size_keys_0 = r->num_keys;
2304 NDR_PULL_ALLOC_N(ndr, r->keys, size_keys_0);
2305 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2306 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2307 for (cntr_keys_0 = 0; cntr_keys_0 < size_keys_0; cntr_keys_0++) {
2308 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0]));
2310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2311 size_service_keys_0 = r->num_service_keys;
2312 NDR_PULL_ALLOC_N(ndr, r->service_keys, size_service_keys_0);
2313 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2314 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
2315 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < size_service_keys_0; cntr_service_keys_0++) {
2316 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->service_keys[cntr_service_keys_0]));
2318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
2319 size_old_keys_0 = r->num_old_keys;
2320 NDR_PULL_ALLOC_N(ndr, r->old_keys, size_old_keys_0);
2321 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2322 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2323 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < size_old_keys_0; cntr_old_keys_0++) {
2324 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0]));
2326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2327 size_older_keys_0 = r->num_older_keys;
2328 NDR_PULL_ALLOC_N(ndr, r->older_keys, size_older_keys_0);
2329 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2330 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0);
2331 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < size_older_keys_0; cntr_older_keys_0++) {
2332 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0]));
2334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0);
2335 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2337 if (ndr_flags & NDR_BUFFERS) {
2338 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt));
2339 size_keys_0 = r->num_keys;
2340 _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2341 NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0);
2342 for (cntr_keys_0 = 0; cntr_keys_0 < size_keys_0; cntr_keys_0++) {
2343 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0]));
2345 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0);
2346 size_service_keys_0 = r->num_service_keys;
2347 _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2348 NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0);
2349 for (cntr_service_keys_0 = 0; cntr_service_keys_0 < size_service_keys_0; cntr_service_keys_0++) {
2350 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->service_keys[cntr_service_keys_0]));
2352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0);
2353 size_old_keys_0 = r->num_old_keys;
2354 _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2355 NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0);
2356 for (cntr_old_keys_0 = 0; cntr_old_keys_0 < size_old_keys_0; cntr_old_keys_0++) {
2357 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0]));
2359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0);
2360 size_older_keys_0 = r->num_older_keys;
2361 _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2362 NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0);
2363 for (cntr_older_keys_0 = 0; cntr_older_keys_0 < size_older_keys_0; cntr_older_keys_0++) {
2364 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0]));
2366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0);
2368 return NDR_ERR_SUCCESS;
2371 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr4 *r)
2373 uint32_t cntr_keys_0;
2374 uint32_t cntr_service_keys_0;
2375 uint32_t cntr_old_keys_0;
2376 uint32_t cntr_older_keys_0;
2377 ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr4");
2378 ndr->depth++;
2379 ndr_print_uint16(ndr, "num_keys", r->num_keys);
2380 ndr_print_uint16(ndr, "num_service_keys", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->num_service_keys);
2381 ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys);
2382 ndr_print_uint16(ndr, "num_older_keys", r->num_older_keys);
2383 ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt);
2384 ndr_print_uint32(ndr, "default_iteration_count", r->default_iteration_count);
2385 ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys);
2386 ndr->depth++;
2387 for (cntr_keys_0=0;cntr_keys_0<r->num_keys;cntr_keys_0++) {
2388 char *idx_0=NULL;
2389 if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) {
2390 ndr_print_package_PrimaryKerberosKey4(ndr, "keys", &r->keys[cntr_keys_0]);
2391 free(idx_0);
2394 ndr->depth--;
2395 ndr->print(ndr, "%s: ARRAY(%d)", "service_keys", (int)r->num_service_keys);
2396 ndr->depth++;
2397 for (cntr_service_keys_0=0;cntr_service_keys_0<r->num_service_keys;cntr_service_keys_0++) {
2398 char *idx_0=NULL;
2399 if (asprintf(&idx_0, "[%d]", cntr_service_keys_0) != -1) {
2400 ndr_print_package_PrimaryKerberosKey4(ndr, "service_keys", &r->service_keys[cntr_service_keys_0]);
2401 free(idx_0);
2404 ndr->depth--;
2405 ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys);
2406 ndr->depth++;
2407 for (cntr_old_keys_0=0;cntr_old_keys_0<r->num_old_keys;cntr_old_keys_0++) {
2408 char *idx_0=NULL;
2409 if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) {
2410 ndr_print_package_PrimaryKerberosKey4(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]);
2411 free(idx_0);
2414 ndr->depth--;
2415 ndr->print(ndr, "%s: ARRAY(%d)", "older_keys", (int)r->num_older_keys);
2416 ndr->depth++;
2417 for (cntr_older_keys_0=0;cntr_older_keys_0<r->num_older_keys;cntr_older_keys_0++) {
2418 char *idx_0=NULL;
2419 if (asprintf(&idx_0, "[%d]", cntr_older_keys_0) != -1) {
2420 ndr_print_package_PrimaryKerberosKey4(ndr, "older_keys", &r->older_keys[cntr_older_keys_0]);
2421 free(idx_0);
2424 ndr->depth--;
2425 ndr->depth--;
2428 static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr(struct ndr_push *ndr, int ndr_flags, const union package_PrimaryKerberosCtr *r)
2430 if (ndr_flags & NDR_SCALARS) {
2431 int level = ndr_push_get_switch_value(ndr, r);
2432 NDR_CHECK(ndr_push_union_align(ndr, 5));
2433 switch (level) {
2434 case 3: {
2435 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
2436 break; }
2438 case 4: {
2439 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4));
2440 break; }
2442 default:
2443 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2446 if (ndr_flags & NDR_BUFFERS) {
2447 int level = ndr_push_get_switch_value(ndr, r);
2448 switch (level) {
2449 case 3:
2450 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
2451 break;
2453 case 4:
2454 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4));
2455 break;
2457 default:
2458 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2461 return NDR_ERR_SUCCESS;
2464 static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull *ndr, int ndr_flags, union package_PrimaryKerberosCtr *r)
2466 int level;
2467 level = ndr_pull_get_switch_value(ndr, r);
2468 if (ndr_flags & NDR_SCALARS) {
2469 NDR_CHECK(ndr_pull_union_align(ndr, 5));
2470 switch (level) {
2471 case 3: {
2472 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3));
2473 break; }
2475 case 4: {
2476 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4));
2477 break; }
2479 default:
2480 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2483 if (ndr_flags & NDR_BUFFERS) {
2484 switch (level) {
2485 case 3:
2486 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3));
2487 break;
2489 case 4:
2490 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4));
2491 break;
2493 default:
2494 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2497 return NDR_ERR_SUCCESS;
2500 _PUBLIC_ void ndr_print_package_PrimaryKerberosCtr(struct ndr_print *ndr, const char *name, const union package_PrimaryKerberosCtr *r)
2502 int level;
2503 level = ndr_print_get_switch_value(ndr, r);
2504 ndr_print_union(ndr, name, level, "package_PrimaryKerberosCtr");
2505 switch (level) {
2506 case 3:
2507 ndr_print_package_PrimaryKerberosCtr3(ndr, "ctr3", &r->ctr3);
2508 break;
2510 case 4:
2511 ndr_print_package_PrimaryKerberosCtr4(ndr, "ctr4", &r->ctr4);
2512 break;
2514 default:
2515 ndr_print_bad_level(ndr, name, level);
2519 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryKerberosBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosBlob *r)
2521 if (ndr_flags & NDR_SCALARS) {
2522 NDR_CHECK(ndr_push_align(ndr, 5));
2523 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version));
2524 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
2525 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version));
2526 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
2527 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2529 if (ndr_flags & NDR_BUFFERS) {
2530 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
2532 return NDR_ERR_SUCCESS;
2535 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosBlob *r)
2537 if (ndr_flags & NDR_SCALARS) {
2538 NDR_CHECK(ndr_pull_align(ndr, 5));
2539 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version));
2540 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
2541 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version));
2542 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr));
2543 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2545 if (ndr_flags & NDR_BUFFERS) {
2546 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr));
2548 return NDR_ERR_SUCCESS;
2551 _PUBLIC_ void ndr_print_package_PrimaryKerberosBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosBlob *r)
2553 ndr_print_struct(ndr, name, "package_PrimaryKerberosBlob");
2554 ndr->depth++;
2555 ndr_print_uint16(ndr, "version", r->version);
2556 ndr_print_uint16(ndr, "flags", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags);
2557 ndr_print_set_switch_value(ndr, &r->ctr, r->version);
2558 ndr_print_package_PrimaryKerberosCtr(ndr, "ctr", &r->ctr);
2559 ndr->depth--;
2562 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryCLEARTEXTBlob *r)
2564 if (ndr_flags & NDR_SCALARS) {
2565 NDR_CHECK(ndr_push_align(ndr, 4));
2567 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2568 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2569 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->cleartext));
2570 ndr->flags = _flags_save_DATA_BLOB;
2572 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2574 if (ndr_flags & NDR_BUFFERS) {
2576 return NDR_ERR_SUCCESS;
2579 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryCLEARTEXTBlob *r)
2581 if (ndr_flags & NDR_SCALARS) {
2582 NDR_CHECK(ndr_pull_align(ndr, 4));
2584 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2585 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2586 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->cleartext));
2587 ndr->flags = _flags_save_DATA_BLOB;
2589 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2591 if (ndr_flags & NDR_BUFFERS) {
2593 return NDR_ERR_SUCCESS;
2596 _PUBLIC_ void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryCLEARTEXTBlob *r)
2598 ndr_print_struct(ndr, name, "package_PrimaryCLEARTEXTBlob");
2599 ndr->depth++;
2600 ndr_print_DATA_BLOB(ndr, "cleartext", r->cleartext);
2601 ndr->depth--;
2604 static enum ndr_err_code ndr_push_package_PrimaryWDigestHash(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestHash *r)
2607 uint32_t _flags_save_STRUCT = ndr->flags;
2608 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2609 if (ndr_flags & NDR_SCALARS) {
2610 NDR_CHECK(ndr_push_align(ndr, 1));
2611 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2612 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2614 if (ndr_flags & NDR_BUFFERS) {
2616 ndr->flags = _flags_save_STRUCT;
2618 return NDR_ERR_SUCCESS;
2621 static enum ndr_err_code ndr_pull_package_PrimaryWDigestHash(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestHash *r)
2623 uint32_t size_hash_0 = 0;
2625 uint32_t _flags_save_STRUCT = ndr->flags;
2626 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2627 if (ndr_flags & NDR_SCALARS) {
2628 NDR_CHECK(ndr_pull_align(ndr, 1));
2629 size_hash_0 = 16;
2630 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, size_hash_0));
2631 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2633 if (ndr_flags & NDR_BUFFERS) {
2635 ndr->flags = _flags_save_STRUCT;
2637 return NDR_ERR_SUCCESS;
2640 _PUBLIC_ void ndr_print_package_PrimaryWDigestHash(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestHash *r)
2642 ndr_print_struct(ndr, name, "package_PrimaryWDigestHash");
2644 uint32_t _flags_save_STRUCT = ndr->flags;
2645 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2646 ndr->depth++;
2647 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2648 ndr->depth--;
2649 ndr->flags = _flags_save_STRUCT;
2653 _PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryWDigestBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestBlob *r)
2655 uint32_t cntr_hashes_0;
2656 if (ndr_flags & NDR_SCALARS) {
2657 NDR_CHECK(ndr_push_align(ndr, 4));
2658 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0x31));
2659 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0x01));
2660 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_hashes));
2661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2662 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, 0));
2663 for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) {
2664 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0]));
2666 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2668 if (ndr_flags & NDR_BUFFERS) {
2670 return NDR_ERR_SUCCESS;
2673 _PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestBlob *r)
2675 uint32_t size_hashes_0 = 0;
2676 uint32_t cntr_hashes_0;
2677 TALLOC_CTX *_mem_save_hashes_0;
2678 if (ndr_flags & NDR_SCALARS) {
2679 NDR_CHECK(ndr_pull_align(ndr, 4));
2680 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown1));
2681 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown2));
2682 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_hashes));
2683 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2684 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->uuknown4));
2685 size_hashes_0 = r->num_hashes;
2686 NDR_PULL_ALLOC_N(ndr, r->hashes, size_hashes_0);
2687 _mem_save_hashes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2688 NDR_PULL_SET_MEM_CTX(ndr, r->hashes, 0);
2689 for (cntr_hashes_0 = 0; cntr_hashes_0 < size_hashes_0; cntr_hashes_0++) {
2690 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0]));
2692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hashes_0, 0);
2693 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2695 if (ndr_flags & NDR_BUFFERS) {
2697 return NDR_ERR_SUCCESS;
2700 _PUBLIC_ void ndr_print_package_PrimaryWDigestBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestBlob *r)
2702 uint32_t cntr_hashes_0;
2703 ndr_print_struct(ndr, name, "package_PrimaryWDigestBlob");
2704 ndr->depth++;
2705 ndr_print_uint16(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x31:r->unknown1);
2706 ndr_print_uint8(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x01:r->unknown2);
2707 ndr_print_uint8(ndr, "num_hashes", r->num_hashes);
2708 ndr_print_uint32(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3);
2709 ndr_print_udlong(ndr, "uuknown4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->uuknown4);
2710 ndr->print(ndr, "%s: ARRAY(%d)", "hashes", (int)r->num_hashes);
2711 ndr->depth++;
2712 for (cntr_hashes_0=0;cntr_hashes_0<r->num_hashes;cntr_hashes_0++) {
2713 char *idx_0=NULL;
2714 if (asprintf(&idx_0, "[%d]", cntr_hashes_0) != -1) {
2715 ndr_print_package_PrimaryWDigestHash(ndr, "hashes", &r->hashes[cntr_hashes_0]);
2716 free(idx_0);
2719 ndr->depth--;
2720 ndr->depth--;
2723 static enum ndr_err_code ndr_push_AuthInfoNone(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNone *r)
2725 if (ndr_flags & NDR_SCALARS) {
2726 NDR_CHECK(ndr_push_align(ndr, 4));
2727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2728 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2730 if (ndr_flags & NDR_BUFFERS) {
2732 return NDR_ERR_SUCCESS;
2735 static enum ndr_err_code ndr_pull_AuthInfoNone(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNone *r)
2737 if (ndr_flags & NDR_SCALARS) {
2738 NDR_CHECK(ndr_pull_align(ndr, 4));
2739 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2740 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2742 if (ndr_flags & NDR_BUFFERS) {
2744 return NDR_ERR_SUCCESS;
2747 _PUBLIC_ void ndr_print_AuthInfoNone(struct ndr_print *ndr, const char *name, const struct AuthInfoNone *r)
2749 ndr_print_struct(ndr, name, "AuthInfoNone");
2750 ndr->depth++;
2751 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->size);
2752 ndr->depth--;
2755 static enum ndr_err_code ndr_push_AuthInfoNT4Owf(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNT4Owf *r)
2757 if (ndr_flags & NDR_SCALARS) {
2758 NDR_CHECK(ndr_push_align(ndr, 4));
2759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 16));
2760 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->password));
2761 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2763 if (ndr_flags & NDR_BUFFERS) {
2765 return NDR_ERR_SUCCESS;
2768 static enum ndr_err_code ndr_pull_AuthInfoNT4Owf(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNT4Owf *r)
2770 if (ndr_flags & NDR_SCALARS) {
2771 NDR_CHECK(ndr_pull_align(ndr, 4));
2772 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2773 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->password));
2774 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2776 if (ndr_flags & NDR_BUFFERS) {
2778 return NDR_ERR_SUCCESS;
2781 _PUBLIC_ void ndr_print_AuthInfoNT4Owf(struct ndr_print *ndr, const char *name, const struct AuthInfoNT4Owf *r)
2783 ndr_print_struct(ndr, name, "AuthInfoNT4Owf");
2784 ndr->depth++;
2785 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?16:r->size);
2786 ndr_print_samr_Password(ndr, "password", &r->password);
2787 ndr->depth--;
2790 static enum ndr_err_code ndr_push_AuthInfoClear(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoClear *r)
2792 if (ndr_flags & NDR_SCALARS) {
2793 NDR_CHECK(ndr_push_align(ndr, 4));
2794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2795 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, r->size));
2796 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2798 if (ndr_flags & NDR_BUFFERS) {
2800 return NDR_ERR_SUCCESS;
2803 static enum ndr_err_code ndr_pull_AuthInfoClear(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoClear *r)
2805 uint32_t size_password_0 = 0;
2806 if (ndr_flags & NDR_SCALARS) {
2807 NDR_CHECK(ndr_pull_align(ndr, 4));
2808 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2809 size_password_0 = r->size;
2810 NDR_PULL_ALLOC_N(ndr, r->password, size_password_0);
2811 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, size_password_0));
2812 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2814 if (ndr_flags & NDR_BUFFERS) {
2816 return NDR_ERR_SUCCESS;
2819 _PUBLIC_ void ndr_print_AuthInfoClear(struct ndr_print *ndr, const char *name, const struct AuthInfoClear *r)
2821 ndr_print_struct(ndr, name, "AuthInfoClear");
2822 ndr->depth++;
2823 ndr_print_uint32(ndr, "size", r->size);
2824 ndr_print_array_uint8(ndr, "password", r->password, r->size);
2825 ndr->depth--;
2828 static enum ndr_err_code ndr_push_AuthInfoVersion(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoVersion *r)
2830 if (ndr_flags & NDR_SCALARS) {
2831 NDR_CHECK(ndr_push_align(ndr, 4));
2832 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 4));
2833 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2834 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2836 if (ndr_flags & NDR_BUFFERS) {
2838 return NDR_ERR_SUCCESS;
2841 static enum ndr_err_code ndr_pull_AuthInfoVersion(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoVersion *r)
2843 if (ndr_flags & NDR_SCALARS) {
2844 NDR_CHECK(ndr_pull_align(ndr, 4));
2845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2846 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2847 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2849 if (ndr_flags & NDR_BUFFERS) {
2851 return NDR_ERR_SUCCESS;
2854 _PUBLIC_ void ndr_print_AuthInfoVersion(struct ndr_print *ndr, const char *name, const struct AuthInfoVersion *r)
2856 ndr_print_struct(ndr, name, "AuthInfoVersion");
2857 ndr->depth++;
2858 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?4:r->size);
2859 ndr_print_uint32(ndr, "version", r->version);
2860 ndr->depth--;
2863 static enum ndr_err_code ndr_push_AuthInfo(struct ndr_push *ndr, int ndr_flags, const union AuthInfo *r)
2865 if (ndr_flags & NDR_SCALARS) {
2866 int level = ndr_push_get_switch_value(ndr, r);
2867 NDR_CHECK(ndr_push_union_align(ndr, 4));
2868 switch (level) {
2869 case TRUST_AUTH_TYPE_NONE: {
2870 NDR_CHECK(ndr_push_AuthInfoNone(ndr, NDR_SCALARS, &r->none));
2871 break; }
2873 case TRUST_AUTH_TYPE_NT4OWF: {
2874 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf));
2875 break; }
2877 case TRUST_AUTH_TYPE_CLEAR: {
2878 NDR_CHECK(ndr_push_AuthInfoClear(ndr, NDR_SCALARS, &r->clear));
2879 break; }
2881 case TRUST_AUTH_TYPE_VERSION: {
2882 NDR_CHECK(ndr_push_AuthInfoVersion(ndr, NDR_SCALARS, &r->version));
2883 break; }
2885 default:
2886 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2889 if (ndr_flags & NDR_BUFFERS) {
2890 int level = ndr_push_get_switch_value(ndr, r);
2891 switch (level) {
2892 case TRUST_AUTH_TYPE_NONE:
2893 break;
2895 case TRUST_AUTH_TYPE_NT4OWF:
2896 break;
2898 case TRUST_AUTH_TYPE_CLEAR:
2899 break;
2901 case TRUST_AUTH_TYPE_VERSION:
2902 break;
2904 default:
2905 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2908 return NDR_ERR_SUCCESS;
2911 static enum ndr_err_code ndr_pull_AuthInfo(struct ndr_pull *ndr, int ndr_flags, union AuthInfo *r)
2913 int level;
2914 level = ndr_pull_get_switch_value(ndr, r);
2915 if (ndr_flags & NDR_SCALARS) {
2916 NDR_CHECK(ndr_pull_union_align(ndr, 4));
2917 switch (level) {
2918 case TRUST_AUTH_TYPE_NONE: {
2919 NDR_CHECK(ndr_pull_AuthInfoNone(ndr, NDR_SCALARS, &r->none));
2920 break; }
2922 case TRUST_AUTH_TYPE_NT4OWF: {
2923 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf));
2924 break; }
2926 case TRUST_AUTH_TYPE_CLEAR: {
2927 NDR_CHECK(ndr_pull_AuthInfoClear(ndr, NDR_SCALARS, &r->clear));
2928 break; }
2930 case TRUST_AUTH_TYPE_VERSION: {
2931 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr, NDR_SCALARS, &r->version));
2932 break; }
2934 default:
2935 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2938 if (ndr_flags & NDR_BUFFERS) {
2939 switch (level) {
2940 case TRUST_AUTH_TYPE_NONE:
2941 break;
2943 case TRUST_AUTH_TYPE_NT4OWF:
2944 break;
2946 case TRUST_AUTH_TYPE_CLEAR:
2947 break;
2949 case TRUST_AUTH_TYPE_VERSION:
2950 break;
2952 default:
2953 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2956 return NDR_ERR_SUCCESS;
2959 _PUBLIC_ void ndr_print_AuthInfo(struct ndr_print *ndr, const char *name, const union AuthInfo *r)
2961 int level;
2962 level = ndr_print_get_switch_value(ndr, r);
2963 ndr_print_union(ndr, name, level, "AuthInfo");
2964 switch (level) {
2965 case TRUST_AUTH_TYPE_NONE:
2966 ndr_print_AuthInfoNone(ndr, "none", &r->none);
2967 break;
2969 case TRUST_AUTH_TYPE_NT4OWF:
2970 ndr_print_AuthInfoNT4Owf(ndr, "nt4owf", &r->nt4owf);
2971 break;
2973 case TRUST_AUTH_TYPE_CLEAR:
2974 ndr_print_AuthInfoClear(ndr, "clear", &r->clear);
2975 break;
2977 case TRUST_AUTH_TYPE_VERSION:
2978 ndr_print_AuthInfoVersion(ndr, "version", &r->version);
2979 break;
2981 default:
2982 ndr_print_bad_level(ndr, name, level);
2986 _PUBLIC_ enum ndr_err_code ndr_push_AuthenticationInformation(struct ndr_push *ndr, int ndr_flags, const struct AuthenticationInformation *r)
2988 if (ndr_flags & NDR_SCALARS) {
2989 NDR_CHECK(ndr_push_align(ndr, 4));
2990 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->LastUpdateTime));
2991 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType));
2992 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->AuthInfo, r->AuthType));
2993 NDR_CHECK(ndr_push_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo));
2995 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2996 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
2997 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
2998 ndr->flags = _flags_save_DATA_BLOB;
3000 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3002 if (ndr_flags & NDR_BUFFERS) {
3004 return NDR_ERR_SUCCESS;
3007 _PUBLIC_ enum ndr_err_code ndr_pull_AuthenticationInformation(struct ndr_pull *ndr, int ndr_flags, struct AuthenticationInformation *r)
3009 if (ndr_flags & NDR_SCALARS) {
3010 NDR_CHECK(ndr_pull_align(ndr, 4));
3011 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->LastUpdateTime));
3012 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType));
3013 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->AuthInfo, r->AuthType));
3014 NDR_CHECK(ndr_pull_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo));
3016 uint32_t _flags_save_DATA_BLOB = ndr->flags;
3017 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
3018 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
3019 ndr->flags = _flags_save_DATA_BLOB;
3021 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3023 if (ndr_flags & NDR_BUFFERS) {
3025 return NDR_ERR_SUCCESS;
3028 _PUBLIC_ void ndr_print_AuthenticationInformation(struct ndr_print *ndr, const char *name, const struct AuthenticationInformation *r)
3030 ndr_print_struct(ndr, name, "AuthenticationInformation");
3031 ndr->depth++;
3032 ndr_print_NTTIME(ndr, "LastUpdateTime", r->LastUpdateTime);
3033 ndr_print_lsa_TrustAuthType(ndr, "AuthType", r->AuthType);
3034 ndr_print_set_switch_value(ndr, &r->AuthInfo, r->AuthType);
3035 ndr_print_AuthInfo(ndr, "AuthInfo", &r->AuthInfo);
3036 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
3037 ndr->depth--;
3040 _PUBLIC_ size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob *r, struct smb_iconv_convenience *ic, int flags)
3042 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustAuthInOutBlob, ic);
3045 _PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustCurrentPasswords *r)
3047 uint32_t cntr_current_0;
3048 if (ndr_flags & NDR_SCALARS) {
3049 NDR_CHECK(ndr_push_align(ndr, 5));
3050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3051 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3052 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->current[cntr_current_0]));
3054 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3056 if (ndr_flags & NDR_BUFFERS) {
3057 for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
3058 if (r->current[cntr_current_0]) {
3059 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0]));
3060 NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
3061 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0]));
3065 return NDR_ERR_SUCCESS;
3068 _PUBLIC_ enum ndr_err_code ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr, int ndr_flags, struct trustCurrentPasswords *r)
3070 uint32_t _ptr_current;
3071 uint32_t size_current_0 = 0;
3072 uint32_t cntr_current_0;
3073 TALLOC_CTX *_mem_save_current_0;
3074 TALLOC_CTX *_mem_save_current_1;
3075 if (ndr_flags & NDR_SCALARS) {
3076 NDR_CHECK(ndr_pull_align(ndr, 5));
3077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3078 size_current_0 = r->count;
3079 NDR_PULL_ALLOC_N(ndr, r->current, size_current_0);
3080 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr);
3081 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0);
3082 for (cntr_current_0 = 0; cntr_current_0 < size_current_0; cntr_current_0++) {
3083 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_current));
3084 if (_ptr_current) {
3085 NDR_PULL_ALLOC(ndr, r->current[cntr_current_0]);
3086 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->current[cntr_current_0], _ptr_current));
3087 } else {
3088 r->current[cntr_current_0] = NULL;
3091 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0);
3092 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3094 if (ndr_flags & NDR_BUFFERS) {
3095 size_current_0 = r->count;
3096 _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr);
3097 NDR_PULL_SET_MEM_CTX(ndr, r->current, 0);
3098 for (cntr_current_0 = 0; cntr_current_0 < size_current_0; cntr_current_0++) {
3099 if (r->current[cntr_current_0]) {
3100 uint32_t _relative_save_offset;
3101 _relative_save_offset = ndr->offset;
3102 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->current[cntr_current_0]));
3103 _mem_save_current_1 = NDR_PULL_GET_MEM_CTX(ndr);
3104 NDR_PULL_SET_MEM_CTX(ndr, r->current[cntr_current_0], 0);
3105 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
3106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_1, 0);
3107 ndr->offset = _relative_save_offset;
3110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0);
3112 return NDR_ERR_SUCCESS;
3115 _PUBLIC_ void ndr_print_trustCurrentPasswords(struct ndr_print *ndr, const char *name, const struct trustCurrentPasswords *r)
3117 uint32_t cntr_current_0;
3118 ndr_print_struct(ndr, name, "trustCurrentPasswords");
3119 ndr->depth++;
3120 ndr_print_uint32(ndr, "count", r->count);
3121 ndr->print(ndr, "%s: ARRAY(%d)", "current", (int)r->count);
3122 ndr->depth++;
3123 for (cntr_current_0=0;cntr_current_0<r->count;cntr_current_0++) {
3124 char *idx_0=NULL;
3125 if (asprintf(&idx_0, "[%d]", cntr_current_0) != -1) {
3126 ndr_print_ptr(ndr, "current", r->current[cntr_current_0]);
3127 ndr->depth++;
3128 if (r->current[cntr_current_0]) {
3129 ndr_print_AuthenticationInformation(ndr, "current", r->current[cntr_current_0]);
3131 ndr->depth--;
3132 free(idx_0);
3135 ndr->depth--;
3136 ndr->depth--;
3139 _PUBLIC_ size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords *r, struct smb_iconv_convenience *ic, int flags)
3141 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustCurrentPasswords, ic);
3144 _PUBLIC_ enum ndr_err_code ndr_push_trustDomainPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustDomainPasswords *r)
3146 if (ndr_flags & NDR_SCALARS) {
3147 NDR_CHECK(ndr_push_align(ndr, 5));
3148 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->confounder, 512));
3150 struct ndr_push *_ndr_outgoing;
3151 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3152 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing, NDR_SCALARS|NDR_BUFFERS, &r->outgoing));
3153 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3156 struct ndr_push *_ndr_incoming;
3157 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3158 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming, NDR_SCALARS|NDR_BUFFERS, &r->incoming));
3159 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags)));
3162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags)));
3163 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3165 if (ndr_flags & NDR_BUFFERS) {
3167 return NDR_ERR_SUCCESS;
3170 _PUBLIC_ void ndr_print_trustDomainPasswords(struct ndr_print *ndr, const char *name, const struct trustDomainPasswords *r)
3172 ndr_print_struct(ndr, name, "trustDomainPasswords");
3173 ndr->depth++;
3174 ndr_print_array_uint8(ndr, "confounder", r->confounder, 512);
3175 ndr_print_trustCurrentPasswords(ndr, "outgoing", &r->outgoing);
3176 ndr_print_trustCurrentPasswords(ndr, "incoming", &r->incoming);
3177 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);
3178 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);
3179 ndr->depth--;
3182 _PUBLIC_ enum ndr_err_code ndr_push_DsCompressedChunk(struct ndr_push *ndr, int ndr_flags, const struct DsCompressedChunk *r)
3184 if (ndr_flags & NDR_SCALARS) {
3185 NDR_CHECK(ndr_push_align(ndr, 4));
3186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->marker));
3187 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
3188 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3190 if (ndr_flags & NDR_BUFFERS) {
3192 return NDR_ERR_SUCCESS;
3195 _PUBLIC_ enum ndr_err_code ndr_pull_DsCompressedChunk(struct ndr_pull *ndr, int ndr_flags, struct DsCompressedChunk *r)
3197 if (ndr_flags & NDR_SCALARS) {
3198 NDR_CHECK(ndr_pull_align(ndr, 4));
3199 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->marker));
3200 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
3201 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3203 if (ndr_flags & NDR_BUFFERS) {
3205 return NDR_ERR_SUCCESS;
3208 _PUBLIC_ void ndr_print_DsCompressedChunk(struct ndr_print *ndr, const char *name, const struct DsCompressedChunk *r)
3210 ndr_print_struct(ndr, name, "DsCompressedChunk");
3211 ndr->depth++;
3212 ndr_print_uint32(ndr, "marker", r->marker);
3213 ndr_print_DATA_BLOB(ndr, "data", r->data);
3214 ndr->depth--;
3217 static enum ndr_err_code ndr_push_ExtendedErrorAString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorAString *r)
3219 if (ndr_flags & NDR_SCALARS) {
3220 NDR_CHECK(ndr_push_align(ndr, 5));
3221 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size));
3222 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
3223 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3225 if (ndr_flags & NDR_BUFFERS) {
3226 if (r->string) {
3227 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size));
3228 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint8_t), CH_DOS));
3231 return NDR_ERR_SUCCESS;
3234 static enum ndr_err_code ndr_pull_ExtendedErrorAString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorAString *r)
3236 uint32_t _ptr_string;
3237 uint32_t size_string_1 = 0;
3238 TALLOC_CTX *_mem_save_string_0;
3239 if (ndr_flags & NDR_SCALARS) {
3240 NDR_CHECK(ndr_pull_align(ndr, 5));
3241 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size));
3242 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
3243 if (_ptr_string) {
3244 NDR_PULL_ALLOC(ndr, r->string);
3245 } else {
3246 r->string = NULL;
3248 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3250 if (ndr_flags & NDR_BUFFERS) {
3251 if (r->string) {
3252 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
3253 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
3254 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
3255 size_string_1 = ndr_get_array_size(ndr, &r->string);
3256 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, size_string_1, sizeof(uint8_t), CH_DOS));
3257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
3259 if (r->string) {
3260 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size));
3263 return NDR_ERR_SUCCESS;
3266 _PUBLIC_ void ndr_print_ExtendedErrorAString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorAString *r)
3268 ndr_print_struct(ndr, name, "ExtendedErrorAString");
3269 ndr->depth++;
3270 ndr_print_uint16(ndr, "__size", r->__size);
3271 ndr_print_ptr(ndr, "string", r->string);
3272 ndr->depth++;
3273 if (r->string) {
3274 ndr_print_string(ndr, "string", r->string);
3276 ndr->depth--;
3277 ndr->depth--;
3280 static enum ndr_err_code ndr_push_ExtendedErrorUString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorUString *r)
3282 if (ndr_flags & NDR_SCALARS) {
3283 NDR_CHECK(ndr_push_align(ndr, 5));
3284 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size));
3285 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
3286 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3288 if (ndr_flags & NDR_BUFFERS) {
3289 if (r->string) {
3290 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size));
3291 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint16_t), CH_UTF16));
3294 return NDR_ERR_SUCCESS;
3297 static enum ndr_err_code ndr_pull_ExtendedErrorUString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorUString *r)
3299 uint32_t _ptr_string;
3300 uint32_t size_string_1 = 0;
3301 TALLOC_CTX *_mem_save_string_0;
3302 if (ndr_flags & NDR_SCALARS) {
3303 NDR_CHECK(ndr_pull_align(ndr, 5));
3304 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size));
3305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
3306 if (_ptr_string) {
3307 NDR_PULL_ALLOC(ndr, r->string);
3308 } else {
3309 r->string = NULL;
3311 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3313 if (ndr_flags & NDR_BUFFERS) {
3314 if (r->string) {
3315 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
3316 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
3317 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
3318 size_string_1 = ndr_get_array_size(ndr, &r->string);
3319 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, size_string_1, sizeof(uint16_t), CH_UTF16));
3320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
3322 if (r->string) {
3323 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size));
3326 return NDR_ERR_SUCCESS;
3329 _PUBLIC_ void ndr_print_ExtendedErrorUString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorUString *r)
3331 ndr_print_struct(ndr, name, "ExtendedErrorUString");
3332 ndr->depth++;
3333 ndr_print_uint16(ndr, "__size", r->__size);
3334 ndr_print_ptr(ndr, "string", r->string);
3335 ndr->depth++;
3336 if (r->string) {
3337 ndr_print_string(ndr, "string", r->string);
3339 ndr->depth--;
3340 ndr->depth--;
3343 static enum ndr_err_code ndr_push_ExtendedErrorBlob(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorBlob *r)
3345 if (ndr_flags & NDR_SCALARS) {
3346 NDR_CHECK(ndr_push_align(ndr, 5));
3347 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
3348 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
3349 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3351 if (ndr_flags & NDR_BUFFERS) {
3352 if (r->data) {
3353 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
3354 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
3357 return NDR_ERR_SUCCESS;
3360 static enum ndr_err_code ndr_pull_ExtendedErrorBlob(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorBlob *r)
3362 uint32_t _ptr_data;
3363 uint32_t size_data_1 = 0;
3364 TALLOC_CTX *_mem_save_data_0;
3365 if (ndr_flags & NDR_SCALARS) {
3366 NDR_CHECK(ndr_pull_align(ndr, 5));
3367 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
3368 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
3369 if (_ptr_data) {
3370 NDR_PULL_ALLOC(ndr, r->data);
3371 } else {
3372 r->data = NULL;
3374 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3376 if (ndr_flags & NDR_BUFFERS) {
3377 if (r->data) {
3378 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3379 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
3380 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
3381 size_data_1 = ndr_get_array_size(ndr, &r->data);
3382 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
3383 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
3384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
3386 if (r->data) {
3387 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
3390 return NDR_ERR_SUCCESS;
3393 _PUBLIC_ void ndr_print_ExtendedErrorBlob(struct ndr_print *ndr, const char *name, const struct ExtendedErrorBlob *r)
3395 ndr_print_struct(ndr, name, "ExtendedErrorBlob");
3396 ndr->depth++;
3397 ndr_print_uint16(ndr, "length", r->length);
3398 ndr_print_ptr(ndr, "data", r->data);
3399 ndr->depth++;
3400 if (r->data) {
3401 ndr_print_array_uint8(ndr, "data", r->data, r->length);
3403 ndr->depth--;
3404 ndr->depth--;
3407 static enum ndr_err_code ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent r)
3409 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3410 return NDR_ERR_SUCCESS;
3413 static enum ndr_err_code ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent *r)
3415 uint16_t v;
3416 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3417 *r = v;
3418 return NDR_ERR_SUCCESS;
3421 _PUBLIC_ void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print *ndr, const char *name, enum ExtendedErrorComputerNamePresent r)
3423 const char *val = NULL;
3425 switch (r) {
3426 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3427 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3429 ndr_print_enum(ndr, name, "ENUM", val, r);
3432 static enum ndr_err_code ndr_push_ExtendedErrorComputerNameU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorComputerNameU *r)
3434 if (ndr_flags & NDR_SCALARS) {
3435 int level = ndr_push_get_switch_value(ndr, r);
3436 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, level));
3437 NDR_CHECK(ndr_push_union_align(ndr, 5));
3438 switch (level) {
3439 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: {
3440 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name));
3441 break; }
3443 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: {
3444 break; }
3446 default:
3447 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3450 if (ndr_flags & NDR_BUFFERS) {
3451 int level = ndr_push_get_switch_value(ndr, r);
3452 switch (level) {
3453 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3454 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name));
3455 break;
3457 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3458 break;
3460 default:
3461 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3464 return NDR_ERR_SUCCESS;
3467 static enum ndr_err_code ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorComputerNameU *r)
3469 int level;
3470 uint16_t _level;
3471 level = ndr_pull_get_switch_value(ndr, r);
3472 if (ndr_flags & NDR_SCALARS) {
3473 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3474 if (_level != level) {
3475 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3477 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3478 switch (level) {
3479 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: {
3480 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name));
3481 break; }
3483 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: {
3484 break; }
3486 default:
3487 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3490 if (ndr_flags & NDR_BUFFERS) {
3491 switch (level) {
3492 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3493 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name));
3494 break;
3496 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3497 break;
3499 default:
3500 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3503 return NDR_ERR_SUCCESS;
3506 _PUBLIC_ void ndr_print_ExtendedErrorComputerNameU(struct ndr_print *ndr, const char *name, const union ExtendedErrorComputerNameU *r)
3508 int level;
3509 level = ndr_print_get_switch_value(ndr, r);
3510 ndr_print_union(ndr, name, level, "ExtendedErrorComputerNameU");
3511 switch (level) {
3512 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT:
3513 ndr_print_ExtendedErrorUString(ndr, "name", &r->name);
3514 break;
3516 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT:
3517 break;
3519 default:
3520 ndr_print_bad_level(ndr, name, level);
3524 static enum ndr_err_code ndr_push_ExtendedErrorComputerName(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorComputerName *r)
3526 if (ndr_flags & NDR_SCALARS) {
3527 NDR_CHECK(ndr_push_align(ndr, 5));
3528 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, r->present));
3529 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->n, r->present));
3530 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n));
3531 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3533 if (ndr_flags & NDR_BUFFERS) {
3534 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n));
3536 return NDR_ERR_SUCCESS;
3539 static enum ndr_err_code ndr_pull_ExtendedErrorComputerName(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorComputerName *r)
3541 if (ndr_flags & NDR_SCALARS) {
3542 NDR_CHECK(ndr_pull_align(ndr, 5));
3543 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, &r->present));
3544 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->n, r->present));
3545 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n));
3546 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3548 if (ndr_flags & NDR_BUFFERS) {
3549 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n));
3551 return NDR_ERR_SUCCESS;
3554 _PUBLIC_ void ndr_print_ExtendedErrorComputerName(struct ndr_print *ndr, const char *name, const struct ExtendedErrorComputerName *r)
3556 ndr_print_struct(ndr, name, "ExtendedErrorComputerName");
3557 ndr->depth++;
3558 ndr_print_ExtendedErrorComputerNamePresent(ndr, "present", r->present);
3559 ndr_print_set_switch_value(ndr, &r->n, r->present);
3560 ndr_print_ExtendedErrorComputerNameU(ndr, "n", &r->n);
3561 ndr->depth--;
3564 static enum ndr_err_code ndr_push_ExtendedErrorParamType(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorParamType r)
3566 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
3567 return NDR_ERR_SUCCESS;
3570 static enum ndr_err_code ndr_pull_ExtendedErrorParamType(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorParamType *r)
3572 uint16_t v;
3573 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
3574 *r = v;
3575 return NDR_ERR_SUCCESS;
3578 _PUBLIC_ void ndr_print_ExtendedErrorParamType(struct ndr_print *ndr, const char *name, enum ExtendedErrorParamType r)
3580 const char *val = NULL;
3582 switch (r) {
3583 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3584 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3585 case EXTENDED_ERROR_PARAM_TYPE_UINT32: val = "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3586 case EXTENDED_ERROR_PARAM_TYPE_UINT16: val = "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3587 case EXTENDED_ERROR_PARAM_TYPE_UINT64: val = "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3588 case EXTENDED_ERROR_PARAM_TYPE_NONE: val = "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3589 case EXTENDED_ERROR_PARAM_TYPE_BLOB: val = "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3591 ndr_print_enum(ndr, name, "ENUM", val, r);
3594 static enum ndr_err_code ndr_push_ExtendedErrorParamU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorParamU *r)
3596 if (ndr_flags & NDR_SCALARS) {
3597 int level = ndr_push_get_switch_value(ndr, r);
3598 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, level));
3599 NDR_CHECK(ndr_push_union_align(ndr, 8));
3600 switch (level) {
3601 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: {
3602 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string));
3603 break; }
3605 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: {
3606 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string));
3607 break; }
3609 case EXTENDED_ERROR_PARAM_TYPE_UINT32: {
3610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->uint32));
3611 break; }
3613 case EXTENDED_ERROR_PARAM_TYPE_UINT16: {
3614 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->uint16));
3615 break; }
3617 case EXTENDED_ERROR_PARAM_TYPE_UINT64: {
3618 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uint64));
3619 break; }
3621 case EXTENDED_ERROR_PARAM_TYPE_NONE: {
3622 break; }
3624 case EXTENDED_ERROR_PARAM_TYPE_BLOB: {
3625 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob));
3626 break; }
3628 default:
3629 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3632 if (ndr_flags & NDR_BUFFERS) {
3633 int level = ndr_push_get_switch_value(ndr, r);
3634 switch (level) {
3635 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3636 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string));
3637 break;
3639 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3640 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string));
3641 break;
3643 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3644 break;
3646 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3647 break;
3649 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3650 break;
3652 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3653 break;
3655 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3656 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob));
3657 break;
3659 default:
3660 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3663 return NDR_ERR_SUCCESS;
3666 static enum ndr_err_code ndr_pull_ExtendedErrorParamU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorParamU *r)
3668 int level;
3669 uint16_t _level;
3670 level = ndr_pull_get_switch_value(ndr, r);
3671 if (ndr_flags & NDR_SCALARS) {
3672 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3673 if (_level != level) {
3674 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3676 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3677 switch (level) {
3678 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: {
3679 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string));
3680 break; }
3682 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: {
3683 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string));
3684 break; }
3686 case EXTENDED_ERROR_PARAM_TYPE_UINT32: {
3687 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->uint32));
3688 break; }
3690 case EXTENDED_ERROR_PARAM_TYPE_UINT16: {
3691 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->uint16));
3692 break; }
3694 case EXTENDED_ERROR_PARAM_TYPE_UINT64: {
3695 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uint64));
3696 break; }
3698 case EXTENDED_ERROR_PARAM_TYPE_NONE: {
3699 break; }
3701 case EXTENDED_ERROR_PARAM_TYPE_BLOB: {
3702 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob));
3703 break; }
3705 default:
3706 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3709 if (ndr_flags & NDR_BUFFERS) {
3710 switch (level) {
3711 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3712 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string));
3713 break;
3715 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3716 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string));
3717 break;
3719 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3720 break;
3722 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3723 break;
3725 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3726 break;
3728 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3729 break;
3731 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3732 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob));
3733 break;
3735 default:
3736 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3739 return NDR_ERR_SUCCESS;
3742 _PUBLIC_ void ndr_print_ExtendedErrorParamU(struct ndr_print *ndr, const char *name, const union ExtendedErrorParamU *r)
3744 int level;
3745 level = ndr_print_get_switch_value(ndr, r);
3746 ndr_print_union(ndr, name, level, "ExtendedErrorParamU");
3747 switch (level) {
3748 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING:
3749 ndr_print_ExtendedErrorAString(ndr, "a_string", &r->a_string);
3750 break;
3752 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING:
3753 ndr_print_ExtendedErrorUString(ndr, "u_string", &r->u_string);
3754 break;
3756 case EXTENDED_ERROR_PARAM_TYPE_UINT32:
3757 ndr_print_uint32(ndr, "uint32", r->uint32);
3758 break;
3760 case EXTENDED_ERROR_PARAM_TYPE_UINT16:
3761 ndr_print_uint16(ndr, "uint16", r->uint16);
3762 break;
3764 case EXTENDED_ERROR_PARAM_TYPE_UINT64:
3765 ndr_print_hyper(ndr, "uint64", r->uint64);
3766 break;
3768 case EXTENDED_ERROR_PARAM_TYPE_NONE:
3769 break;
3771 case EXTENDED_ERROR_PARAM_TYPE_BLOB:
3772 ndr_print_ExtendedErrorBlob(ndr, "blob", &r->blob);
3773 break;
3775 default:
3776 ndr_print_bad_level(ndr, name, level);
3780 static enum ndr_err_code ndr_push_ExtendedErrorParam(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorParam *r)
3782 if (ndr_flags & NDR_SCALARS) {
3783 NDR_CHECK(ndr_push_align(ndr, 8));
3784 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, r->type));
3785 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->p, r->type));
3786 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p));
3787 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3789 if (ndr_flags & NDR_BUFFERS) {
3790 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p));
3792 return NDR_ERR_SUCCESS;
3795 static enum ndr_err_code ndr_pull_ExtendedErrorParam(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorParam *r)
3797 if (ndr_flags & NDR_SCALARS) {
3798 NDR_CHECK(ndr_pull_align(ndr, 8));
3799 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr, NDR_SCALARS, &r->type));
3800 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->p, r->type));
3801 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p));
3802 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3804 if (ndr_flags & NDR_BUFFERS) {
3805 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p));
3807 return NDR_ERR_SUCCESS;
3810 _PUBLIC_ void ndr_print_ExtendedErrorParam(struct ndr_print *ndr, const char *name, const struct ExtendedErrorParam *r)
3812 ndr_print_struct(ndr, name, "ExtendedErrorParam");
3813 ndr->depth++;
3814 ndr_print_ExtendedErrorParamType(ndr, "type", r->type);
3815 ndr_print_set_switch_value(ndr, &r->p, r->type);
3816 ndr_print_ExtendedErrorParamU(ndr, "p", &r->p);
3817 ndr->depth--;
3820 _PUBLIC_ enum ndr_err_code ndr_push_ExtendedErrorInfo(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfo *r)
3822 uint32_t cntr_params_0;
3823 if (ndr_flags & NDR_SCALARS) {
3824 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_params));
3825 NDR_CHECK(ndr_push_align(ndr, 8));
3826 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
3827 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name));
3828 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pid));
3829 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
3830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->generating_component));
3831 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
3832 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->detection_location));
3833 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags));
3834 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_params));
3835 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3836 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0]));
3838 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3840 if (ndr_flags & NDR_BUFFERS) {
3841 if (r->next) {
3842 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
3844 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name));
3845 for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) {
3846 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0]));
3849 return NDR_ERR_SUCCESS;
3852 _PUBLIC_ enum ndr_err_code ndr_pull_ExtendedErrorInfo(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfo *r)
3854 uint32_t _ptr_next;
3855 TALLOC_CTX *_mem_save_next_0;
3856 uint32_t size_params_0 = 0;
3857 uint32_t cntr_params_0;
3858 TALLOC_CTX *_mem_save_params_0;
3859 if (ndr_flags & NDR_SCALARS) {
3860 NDR_CHECK(ndr_pull_array_size(ndr, &r->params));
3861 NDR_CHECK(ndr_pull_align(ndr, 8));
3862 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
3863 if (_ptr_next) {
3864 NDR_PULL_ALLOC(ndr, r->next);
3865 } else {
3866 r->next = NULL;
3868 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name));
3869 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pid));
3870 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
3871 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->generating_component));
3872 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
3873 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->detection_location));
3874 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags));
3875 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_params));
3876 size_params_0 = ndr_get_array_size(ndr, &r->params);
3877 NDR_PULL_ALLOC_N(ndr, r->params, size_params_0);
3878 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr);
3879 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0);
3880 for (cntr_params_0 = 0; cntr_params_0 < size_params_0; cntr_params_0++) {
3881 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0]));
3883 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0);
3884 if (r->params) {
3885 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->params, r->num_params));
3887 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3889 if (ndr_flags & NDR_BUFFERS) {
3890 if (r->next) {
3891 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
3892 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
3893 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
3894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
3896 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name));
3897 size_params_0 = ndr_get_array_size(ndr, &r->params);
3898 _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr);
3899 NDR_PULL_SET_MEM_CTX(ndr, r->params, 0);
3900 for (cntr_params_0 = 0; cntr_params_0 < size_params_0; cntr_params_0++) {
3901 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0]));
3903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0);
3905 return NDR_ERR_SUCCESS;
3908 _PUBLIC_ void ndr_print_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfo *r)
3910 uint32_t cntr_params_0;
3911 ndr_print_struct(ndr, name, "ExtendedErrorInfo");
3912 ndr->depth++;
3913 ndr_print_ptr(ndr, "next", r->next);
3914 ndr->depth++;
3915 if (r->next) {
3916 ndr_print_ExtendedErrorInfo(ndr, "next", r->next);
3918 ndr->depth--;
3919 ndr_print_ExtendedErrorComputerName(ndr, "computer_name", &r->computer_name);
3920 ndr_print_hyper(ndr, "pid", r->pid);
3921 ndr_print_NTTIME(ndr, "time", r->time);
3922 ndr_print_uint32(ndr, "generating_component", r->generating_component);
3923 ndr_print_WERROR(ndr, "status", r->status);
3924 ndr_print_uint16(ndr, "detection_location", r->detection_location);
3925 ndr_print_uint16(ndr, "flags", r->flags);
3926 ndr_print_uint16(ndr, "num_params", r->num_params);
3927 ndr->print(ndr, "%s: ARRAY(%d)", "params", (int)r->num_params);
3928 ndr->depth++;
3929 for (cntr_params_0=0;cntr_params_0<r->num_params;cntr_params_0++) {
3930 char *idx_0=NULL;
3931 if (asprintf(&idx_0, "[%d]", cntr_params_0) != -1) {
3932 ndr_print_ExtendedErrorParam(ndr, "params", &r->params[cntr_params_0]);
3933 free(idx_0);
3936 ndr->depth--;
3937 ndr->depth--;
3940 static enum ndr_err_code ndr_push_ExtendedErrorInfoPtr(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfoPtr *r)
3942 if (ndr_flags & NDR_SCALARS) {
3943 NDR_CHECK(ndr_push_align(ndr, 5));
3944 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
3945 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3947 if (ndr_flags & NDR_BUFFERS) {
3948 if (r->info) {
3949 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
3952 return NDR_ERR_SUCCESS;
3955 static enum ndr_err_code ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfoPtr *r)
3957 uint32_t _ptr_info;
3958 TALLOC_CTX *_mem_save_info_0;
3959 if (ndr_flags & NDR_SCALARS) {
3960 NDR_CHECK(ndr_pull_align(ndr, 5));
3961 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
3962 if (_ptr_info) {
3963 NDR_PULL_ALLOC(ndr, r->info);
3964 } else {
3965 r->info = NULL;
3967 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3969 if (ndr_flags & NDR_BUFFERS) {
3970 if (r->info) {
3971 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
3972 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
3973 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
3974 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
3977 return NDR_ERR_SUCCESS;
3980 _PUBLIC_ void ndr_print_ExtendedErrorInfoPtr(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfoPtr *r)
3982 ndr_print_struct(ndr, name, "ExtendedErrorInfoPtr");
3983 ndr->depth++;
3984 ndr_print_ptr(ndr, "info", r->info);
3985 ndr->depth++;
3986 if (r->info) {
3987 ndr_print_ExtendedErrorInfo(ndr, "info", r->info);
3989 ndr->depth--;
3990 ndr->depth--;
3993 static enum ndr_err_code ndr_push_decode_replPropertyMetaData(struct ndr_push *ndr, int flags, const struct decode_replPropertyMetaData *r)
3995 if (flags & NDR_IN) {
3996 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob));
3998 if (flags & NDR_OUT) {
4000 return NDR_ERR_SUCCESS;
4003 static enum ndr_err_code ndr_pull_decode_replPropertyMetaData(struct ndr_pull *ndr, int flags, struct decode_replPropertyMetaData *r)
4005 if (flags & NDR_IN) {
4006 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob));
4008 if (flags & NDR_OUT) {
4010 return NDR_ERR_SUCCESS;
4013 _PUBLIC_ void ndr_print_decode_replPropertyMetaData(struct ndr_print *ndr, const char *name, int flags, const struct decode_replPropertyMetaData *r)
4015 ndr_print_struct(ndr, name, "decode_replPropertyMetaData");
4016 ndr->depth++;
4017 if (flags & NDR_SET_VALUES) {
4018 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4020 if (flags & NDR_IN) {
4021 ndr_print_struct(ndr, "in", "decode_replPropertyMetaData");
4022 ndr->depth++;
4023 ndr_print_replPropertyMetaDataBlob(ndr, "blob", &r->in.blob);
4024 ndr->depth--;
4026 if (flags & NDR_OUT) {
4027 ndr_print_struct(ndr, "out", "decode_replPropertyMetaData");
4028 ndr->depth++;
4029 ndr->depth--;
4031 ndr->depth--;
4034 static enum ndr_err_code ndr_push_decode_replUpToDateVector(struct ndr_push *ndr, int flags, const struct decode_replUpToDateVector *r)
4036 if (flags & NDR_IN) {
4037 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob));
4039 if (flags & NDR_OUT) {
4041 return NDR_ERR_SUCCESS;
4044 static enum ndr_err_code ndr_pull_decode_replUpToDateVector(struct ndr_pull *ndr, int flags, struct decode_replUpToDateVector *r)
4046 if (flags & NDR_IN) {
4047 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob));
4049 if (flags & NDR_OUT) {
4051 return NDR_ERR_SUCCESS;
4054 _PUBLIC_ void ndr_print_decode_replUpToDateVector(struct ndr_print *ndr, const char *name, int flags, const struct decode_replUpToDateVector *r)
4056 ndr_print_struct(ndr, name, "decode_replUpToDateVector");
4057 ndr->depth++;
4058 if (flags & NDR_SET_VALUES) {
4059 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4061 if (flags & NDR_IN) {
4062 ndr_print_struct(ndr, "in", "decode_replUpToDateVector");
4063 ndr->depth++;
4064 ndr_print_replUpToDateVectorBlob(ndr, "blob", &r->in.blob);
4065 ndr->depth--;
4067 if (flags & NDR_OUT) {
4068 ndr_print_struct(ndr, "out", "decode_replUpToDateVector");
4069 ndr->depth++;
4070 ndr->depth--;
4072 ndr->depth--;
4075 static enum ndr_err_code ndr_push_decode_repsFromTo(struct ndr_push *ndr, int flags, const struct decode_repsFromTo *r)
4077 if (flags & NDR_IN) {
4078 NDR_CHECK(ndr_push_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4080 if (flags & NDR_OUT) {
4082 return NDR_ERR_SUCCESS;
4085 static enum ndr_err_code ndr_pull_decode_repsFromTo(struct ndr_pull *ndr, int flags, struct decode_repsFromTo *r)
4087 if (flags & NDR_IN) {
4088 NDR_CHECK(ndr_pull_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4090 if (flags & NDR_OUT) {
4092 return NDR_ERR_SUCCESS;
4095 _PUBLIC_ void ndr_print_decode_repsFromTo(struct ndr_print *ndr, const char *name, int flags, const struct decode_repsFromTo *r)
4097 ndr_print_struct(ndr, name, "decode_repsFromTo");
4098 ndr->depth++;
4099 if (flags & NDR_SET_VALUES) {
4100 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4102 if (flags & NDR_IN) {
4103 ndr_print_struct(ndr, "in", "decode_repsFromTo");
4104 ndr->depth++;
4105 ndr_print_repsFromToBlob(ndr, "blob", &r->in.blob);
4106 ndr->depth--;
4108 if (flags & NDR_OUT) {
4109 ndr_print_struct(ndr, "out", "decode_repsFromTo");
4110 ndr->depth++;
4111 ndr->depth--;
4113 ndr->depth--;
4116 static enum ndr_err_code ndr_push_decode_partialAttributeSet(struct ndr_push *ndr, int flags, const struct decode_partialAttributeSet *r)
4118 if (flags & NDR_IN) {
4119 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob));
4121 if (flags & NDR_OUT) {
4123 return NDR_ERR_SUCCESS;
4126 static enum ndr_err_code ndr_pull_decode_partialAttributeSet(struct ndr_pull *ndr, int flags, struct decode_partialAttributeSet *r)
4128 if (flags & NDR_IN) {
4129 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob));
4131 if (flags & NDR_OUT) {
4133 return NDR_ERR_SUCCESS;
4136 _PUBLIC_ void ndr_print_decode_partialAttributeSet(struct ndr_print *ndr, const char *name, int flags, const struct decode_partialAttributeSet *r)
4138 ndr_print_struct(ndr, name, "decode_partialAttributeSet");
4139 ndr->depth++;
4140 if (flags & NDR_SET_VALUES) {
4141 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4143 if (flags & NDR_IN) {
4144 ndr_print_struct(ndr, "in", "decode_partialAttributeSet");
4145 ndr->depth++;
4146 ndr_print_partialAttributeSetBlob(ndr, "blob", &r->in.blob);
4147 ndr->depth--;
4149 if (flags & NDR_OUT) {
4150 ndr_print_struct(ndr, "out", "decode_partialAttributeSet");
4151 ndr->depth++;
4152 ndr->depth--;
4154 ndr->depth--;
4157 static enum ndr_err_code ndr_push_decode_prefixMap(struct ndr_push *ndr, int flags, const struct decode_prefixMap *r)
4159 if (flags & NDR_IN) {
4160 NDR_CHECK(ndr_push_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4162 if (flags & NDR_OUT) {
4164 return NDR_ERR_SUCCESS;
4167 static enum ndr_err_code ndr_pull_decode_prefixMap(struct ndr_pull *ndr, int flags, struct decode_prefixMap *r)
4169 if (flags & NDR_IN) {
4170 NDR_CHECK(ndr_pull_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4172 if (flags & NDR_OUT) {
4174 return NDR_ERR_SUCCESS;
4177 _PUBLIC_ void ndr_print_decode_prefixMap(struct ndr_print *ndr, const char *name, int flags, const struct decode_prefixMap *r)
4179 ndr_print_struct(ndr, name, "decode_prefixMap");
4180 ndr->depth++;
4181 if (flags & NDR_SET_VALUES) {
4182 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4184 if (flags & NDR_IN) {
4185 ndr_print_struct(ndr, "in", "decode_prefixMap");
4186 ndr->depth++;
4187 ndr_print_prefixMapBlob(ndr, "blob", &r->in.blob);
4188 ndr->depth--;
4190 if (flags & NDR_OUT) {
4191 ndr_print_struct(ndr, "out", "decode_prefixMap");
4192 ndr->depth++;
4193 ndr->depth--;
4195 ndr->depth--;
4198 static enum ndr_err_code ndr_push_decode_ldapControlDirSync(struct ndr_push *ndr, int flags, const struct decode_ldapControlDirSync *r)
4200 if (flags & NDR_IN) {
4201 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie));
4203 if (flags & NDR_OUT) {
4205 return NDR_ERR_SUCCESS;
4208 static enum ndr_err_code ndr_pull_decode_ldapControlDirSync(struct ndr_pull *ndr, int flags, struct decode_ldapControlDirSync *r)
4210 if (flags & NDR_IN) {
4211 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie));
4213 if (flags & NDR_OUT) {
4215 return NDR_ERR_SUCCESS;
4218 _PUBLIC_ void ndr_print_decode_ldapControlDirSync(struct ndr_print *ndr, const char *name, int flags, const struct decode_ldapControlDirSync *r)
4220 ndr_print_struct(ndr, name, "decode_ldapControlDirSync");
4221 ndr->depth++;
4222 if (flags & NDR_SET_VALUES) {
4223 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4225 if (flags & NDR_IN) {
4226 ndr_print_struct(ndr, "in", "decode_ldapControlDirSync");
4227 ndr->depth++;
4228 ndr_print_ldapControlDirSyncCookie(ndr, "cookie", &r->in.cookie);
4229 ndr->depth--;
4231 if (flags & NDR_OUT) {
4232 ndr_print_struct(ndr, "out", "decode_ldapControlDirSync");
4233 ndr->depth++;
4234 ndr->depth--;
4236 ndr->depth--;
4239 static enum ndr_err_code ndr_push_decode_supplementalCredentials(struct ndr_push *ndr, int flags, const struct decode_supplementalCredentials *r)
4241 if (flags & NDR_IN) {
4242 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob));
4244 if (flags & NDR_OUT) {
4246 return NDR_ERR_SUCCESS;
4249 static enum ndr_err_code ndr_pull_decode_supplementalCredentials(struct ndr_pull *ndr, int flags, struct decode_supplementalCredentials *r)
4251 if (flags & NDR_IN) {
4252 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob));
4254 if (flags & NDR_OUT) {
4256 return NDR_ERR_SUCCESS;
4259 _PUBLIC_ void ndr_print_decode_supplementalCredentials(struct ndr_print *ndr, const char *name, int flags, const struct decode_supplementalCredentials *r)
4261 ndr_print_struct(ndr, name, "decode_supplementalCredentials");
4262 ndr->depth++;
4263 if (flags & NDR_SET_VALUES) {
4264 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4266 if (flags & NDR_IN) {
4267 ndr_print_struct(ndr, "in", "decode_supplementalCredentials");
4268 ndr->depth++;
4269 ndr_print_supplementalCredentialsBlob(ndr, "blob", &r->in.blob);
4270 ndr->depth--;
4272 if (flags & NDR_OUT) {
4273 ndr_print_struct(ndr, "out", "decode_supplementalCredentials");
4274 ndr->depth++;
4275 ndr->depth--;
4277 ndr->depth--;
4280 static enum ndr_err_code ndr_push_decode_Packages(struct ndr_push *ndr, int flags, const struct decode_Packages *r)
4282 if (flags & NDR_IN) {
4283 NDR_CHECK(ndr_push_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob));
4285 if (flags & NDR_OUT) {
4287 return NDR_ERR_SUCCESS;
4290 static enum ndr_err_code ndr_pull_decode_Packages(struct ndr_pull *ndr, int flags, struct decode_Packages *r)
4292 if (flags & NDR_IN) {
4293 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob));
4295 if (flags & NDR_OUT) {
4297 return NDR_ERR_SUCCESS;
4300 _PUBLIC_ void ndr_print_decode_Packages(struct ndr_print *ndr, const char *name, int flags, const struct decode_Packages *r)
4302 ndr_print_struct(ndr, name, "decode_Packages");
4303 ndr->depth++;
4304 if (flags & NDR_SET_VALUES) {
4305 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4307 if (flags & NDR_IN) {
4308 ndr_print_struct(ndr, "in", "decode_Packages");
4309 ndr->depth++;
4310 ndr_print_package_PackagesBlob(ndr, "blob", &r->in.blob);
4311 ndr->depth--;
4313 if (flags & NDR_OUT) {
4314 ndr_print_struct(ndr, "out", "decode_Packages");
4315 ndr->depth++;
4316 ndr->depth--;
4318 ndr->depth--;
4321 static enum ndr_err_code ndr_push_decode_PrimaryKerberos(struct ndr_push *ndr, int flags, const struct decode_PrimaryKerberos *r)
4323 if (flags & NDR_IN) {
4324 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4326 if (flags & NDR_OUT) {
4328 return NDR_ERR_SUCCESS;
4331 static enum ndr_err_code ndr_pull_decode_PrimaryKerberos(struct ndr_pull *ndr, int flags, struct decode_PrimaryKerberos *r)
4333 if (flags & NDR_IN) {
4334 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4336 if (flags & NDR_OUT) {
4338 return NDR_ERR_SUCCESS;
4341 _PUBLIC_ void ndr_print_decode_PrimaryKerberos(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryKerberos *r)
4343 ndr_print_struct(ndr, name, "decode_PrimaryKerberos");
4344 ndr->depth++;
4345 if (flags & NDR_SET_VALUES) {
4346 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4348 if (flags & NDR_IN) {
4349 ndr_print_struct(ndr, "in", "decode_PrimaryKerberos");
4350 ndr->depth++;
4351 ndr_print_package_PrimaryKerberosBlob(ndr, "blob", &r->in.blob);
4352 ndr->depth--;
4354 if (flags & NDR_OUT) {
4355 ndr_print_struct(ndr, "out", "decode_PrimaryKerberos");
4356 ndr->depth++;
4357 ndr->depth--;
4359 ndr->depth--;
4362 static enum ndr_err_code ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push *ndr, int flags, const struct decode_PrimaryCLEARTEXT *r)
4364 if (flags & NDR_IN) {
4365 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob));
4367 if (flags & NDR_OUT) {
4369 return NDR_ERR_SUCCESS;
4372 static enum ndr_err_code ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull *ndr, int flags, struct decode_PrimaryCLEARTEXT *r)
4374 if (flags & NDR_IN) {
4375 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob));
4377 if (flags & NDR_OUT) {
4379 return NDR_ERR_SUCCESS;
4382 _PUBLIC_ void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryCLEARTEXT *r)
4384 ndr_print_struct(ndr, name, "decode_PrimaryCLEARTEXT");
4385 ndr->depth++;
4386 if (flags & NDR_SET_VALUES) {
4387 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4389 if (flags & NDR_IN) {
4390 ndr_print_struct(ndr, "in", "decode_PrimaryCLEARTEXT");
4391 ndr->depth++;
4392 ndr_print_package_PrimaryCLEARTEXTBlob(ndr, "blob", &r->in.blob);
4393 ndr->depth--;
4395 if (flags & NDR_OUT) {
4396 ndr_print_struct(ndr, "out", "decode_PrimaryCLEARTEXT");
4397 ndr->depth++;
4398 ndr->depth--;
4400 ndr->depth--;
4403 static enum ndr_err_code ndr_push_decode_PrimaryWDigest(struct ndr_push *ndr, int flags, const struct decode_PrimaryWDigest *r)
4405 if (flags & NDR_IN) {
4406 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob));
4408 if (flags & NDR_OUT) {
4410 return NDR_ERR_SUCCESS;
4413 static enum ndr_err_code ndr_pull_decode_PrimaryWDigest(struct ndr_pull *ndr, int flags, struct decode_PrimaryWDigest *r)
4415 if (flags & NDR_IN) {
4416 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob));
4418 if (flags & NDR_OUT) {
4420 return NDR_ERR_SUCCESS;
4423 _PUBLIC_ void ndr_print_decode_PrimaryWDigest(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryWDigest *r)
4425 ndr_print_struct(ndr, name, "decode_PrimaryWDigest");
4426 ndr->depth++;
4427 if (flags & NDR_SET_VALUES) {
4428 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4430 if (flags & NDR_IN) {
4431 ndr_print_struct(ndr, "in", "decode_PrimaryWDigest");
4432 ndr->depth++;
4433 ndr_print_package_PrimaryWDigestBlob(ndr, "blob", &r->in.blob);
4434 ndr->depth--;
4436 if (flags & NDR_OUT) {
4437 ndr_print_struct(ndr, "out", "decode_PrimaryWDigest");
4438 ndr->depth++;
4439 ndr->depth--;
4441 ndr->depth--;
4444 static enum ndr_err_code ndr_push_decode_trustAuthInOut(struct ndr_push *ndr, int flags, const struct decode_trustAuthInOut *r)
4446 if (flags & NDR_IN) {
4447 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4449 if (flags & NDR_OUT) {
4451 return NDR_ERR_SUCCESS;
4454 static enum ndr_err_code ndr_pull_decode_trustAuthInOut(struct ndr_pull *ndr, int flags, struct decode_trustAuthInOut *r)
4456 if (flags & NDR_IN) {
4457 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4459 if (flags & NDR_OUT) {
4461 return NDR_ERR_SUCCESS;
4464 _PUBLIC_ void ndr_print_decode_trustAuthInOut(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustAuthInOut *r)
4466 ndr_print_struct(ndr, name, "decode_trustAuthInOut");
4467 ndr->depth++;
4468 if (flags & NDR_SET_VALUES) {
4469 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4471 if (flags & NDR_IN) {
4472 ndr_print_struct(ndr, "in", "decode_trustAuthInOut");
4473 ndr->depth++;
4474 ndr_print_trustAuthInOutBlob(ndr, "blob", &r->in.blob);
4475 ndr->depth--;
4477 if (flags & NDR_OUT) {
4478 ndr_print_struct(ndr, "out", "decode_trustAuthInOut");
4479 ndr->depth++;
4480 ndr->depth--;
4482 ndr->depth--;
4485 static enum ndr_err_code ndr_push_decode_trustDomainPasswords(struct ndr_push *ndr, int flags, const struct decode_trustDomainPasswords *r)
4487 if (flags & NDR_IN) {
4488 NDR_CHECK(ndr_push_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4490 if (flags & NDR_OUT) {
4492 return NDR_ERR_SUCCESS;
4495 static enum ndr_err_code ndr_pull_decode_trustDomainPasswords(struct ndr_pull *ndr, int flags, struct decode_trustDomainPasswords *r)
4497 if (flags & NDR_IN) {
4498 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob));
4500 if (flags & NDR_OUT) {
4502 return NDR_ERR_SUCCESS;
4505 _PUBLIC_ void ndr_print_decode_trustDomainPasswords(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustDomainPasswords *r)
4507 ndr_print_struct(ndr, name, "decode_trustDomainPasswords");
4508 ndr->depth++;
4509 if (flags & NDR_SET_VALUES) {
4510 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4512 if (flags & NDR_IN) {
4513 ndr_print_struct(ndr, "in", "decode_trustDomainPasswords");
4514 ndr->depth++;
4515 ndr_print_trustDomainPasswords(ndr, "blob", &r->in.blob);
4516 ndr->depth--;
4518 if (flags & NDR_OUT) {
4519 ndr_print_struct(ndr, "out", "decode_trustDomainPasswords");
4520 ndr->depth++;
4521 ndr->depth--;
4523 ndr->depth--;
4526 static enum ndr_err_code ndr_push_decode_ExtendedErrorInfo(struct ndr_push *ndr, int flags, const struct decode_ExtendedErrorInfo *r)
4528 if (flags & NDR_IN) {
4530 struct ndr_push *_ndr_ptr;
4531 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1));
4532 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr));
4533 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1));
4536 if (flags & NDR_OUT) {
4538 return NDR_ERR_SUCCESS;
4541 static enum ndr_err_code ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull *ndr, int flags, struct decode_ExtendedErrorInfo *r)
4543 if (flags & NDR_IN) {
4545 struct ndr_pull *_ndr_ptr;
4546 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1));
4547 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr));
4548 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1));
4551 if (flags & NDR_OUT) {
4553 return NDR_ERR_SUCCESS;
4556 _PUBLIC_ void ndr_print_decode_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ExtendedErrorInfo *r)
4558 ndr_print_struct(ndr, name, "decode_ExtendedErrorInfo");
4559 ndr->depth++;
4560 if (flags & NDR_SET_VALUES) {
4561 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4563 if (flags & NDR_IN) {
4564 ndr_print_struct(ndr, "in", "decode_ExtendedErrorInfo");
4565 ndr->depth++;
4566 ndr_print_ExtendedErrorInfoPtr(ndr, "ptr", &r->in.ptr);
4567 ndr->depth--;
4569 if (flags & NDR_OUT) {
4570 ndr_print_struct(ndr, "out", "decode_ExtendedErrorInfo");
4571 ndr->depth++;
4572 ndr->depth--;
4574 ndr->depth--;
4577 static const struct ndr_interface_call drsblobs_calls[] = {
4579 "decode_replPropertyMetaData",
4580 sizeof(struct decode_replPropertyMetaData),
4581 (ndr_push_flags_fn_t) ndr_push_decode_replPropertyMetaData,
4582 (ndr_pull_flags_fn_t) ndr_pull_decode_replPropertyMetaData,
4583 (ndr_print_function_t) ndr_print_decode_replPropertyMetaData,
4584 false,
4587 "decode_replUpToDateVector",
4588 sizeof(struct decode_replUpToDateVector),
4589 (ndr_push_flags_fn_t) ndr_push_decode_replUpToDateVector,
4590 (ndr_pull_flags_fn_t) ndr_pull_decode_replUpToDateVector,
4591 (ndr_print_function_t) ndr_print_decode_replUpToDateVector,
4592 false,
4595 "decode_repsFromTo",
4596 sizeof(struct decode_repsFromTo),
4597 (ndr_push_flags_fn_t) ndr_push_decode_repsFromTo,
4598 (ndr_pull_flags_fn_t) ndr_pull_decode_repsFromTo,
4599 (ndr_print_function_t) ndr_print_decode_repsFromTo,
4600 false,
4603 "decode_partialAttributeSet",
4604 sizeof(struct decode_partialAttributeSet),
4605 (ndr_push_flags_fn_t) ndr_push_decode_partialAttributeSet,
4606 (ndr_pull_flags_fn_t) ndr_pull_decode_partialAttributeSet,
4607 (ndr_print_function_t) ndr_print_decode_partialAttributeSet,
4608 false,
4611 "decode_prefixMap",
4612 sizeof(struct decode_prefixMap),
4613 (ndr_push_flags_fn_t) ndr_push_decode_prefixMap,
4614 (ndr_pull_flags_fn_t) ndr_pull_decode_prefixMap,
4615 (ndr_print_function_t) ndr_print_decode_prefixMap,
4616 false,
4619 "decode_ldapControlDirSync",
4620 sizeof(struct decode_ldapControlDirSync),
4621 (ndr_push_flags_fn_t) ndr_push_decode_ldapControlDirSync,
4622 (ndr_pull_flags_fn_t) ndr_pull_decode_ldapControlDirSync,
4623 (ndr_print_function_t) ndr_print_decode_ldapControlDirSync,
4624 false,
4627 "decode_supplementalCredentials",
4628 sizeof(struct decode_supplementalCredentials),
4629 (ndr_push_flags_fn_t) ndr_push_decode_supplementalCredentials,
4630 (ndr_pull_flags_fn_t) ndr_pull_decode_supplementalCredentials,
4631 (ndr_print_function_t) ndr_print_decode_supplementalCredentials,
4632 false,
4635 "decode_Packages",
4636 sizeof(struct decode_Packages),
4637 (ndr_push_flags_fn_t) ndr_push_decode_Packages,
4638 (ndr_pull_flags_fn_t) ndr_pull_decode_Packages,
4639 (ndr_print_function_t) ndr_print_decode_Packages,
4640 false,
4643 "decode_PrimaryKerberos",
4644 sizeof(struct decode_PrimaryKerberos),
4645 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryKerberos,
4646 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryKerberos,
4647 (ndr_print_function_t) ndr_print_decode_PrimaryKerberos,
4648 false,
4651 "decode_PrimaryCLEARTEXT",
4652 sizeof(struct decode_PrimaryCLEARTEXT),
4653 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryCLEARTEXT,
4654 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryCLEARTEXT,
4655 (ndr_print_function_t) ndr_print_decode_PrimaryCLEARTEXT,
4656 false,
4659 "decode_PrimaryWDigest",
4660 sizeof(struct decode_PrimaryWDigest),
4661 (ndr_push_flags_fn_t) ndr_push_decode_PrimaryWDigest,
4662 (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryWDigest,
4663 (ndr_print_function_t) ndr_print_decode_PrimaryWDigest,
4664 false,
4667 "decode_trustAuthInOut",
4668 sizeof(struct decode_trustAuthInOut),
4669 (ndr_push_flags_fn_t) ndr_push_decode_trustAuthInOut,
4670 (ndr_pull_flags_fn_t) ndr_pull_decode_trustAuthInOut,
4671 (ndr_print_function_t) ndr_print_decode_trustAuthInOut,
4672 false,
4675 "decode_trustDomainPasswords",
4676 sizeof(struct decode_trustDomainPasswords),
4677 (ndr_push_flags_fn_t) ndr_push_decode_trustDomainPasswords,
4678 (ndr_pull_flags_fn_t) ndr_pull_decode_trustDomainPasswords,
4679 (ndr_print_function_t) ndr_print_decode_trustDomainPasswords,
4680 false,
4683 "decode_ExtendedErrorInfo",
4684 sizeof(struct decode_ExtendedErrorInfo),
4685 (ndr_push_flags_fn_t) ndr_push_decode_ExtendedErrorInfo,
4686 (ndr_pull_flags_fn_t) ndr_pull_decode_ExtendedErrorInfo,
4687 (ndr_print_function_t) ndr_print_decode_ExtendedErrorInfo,
4688 false,
4690 { NULL, 0, NULL, NULL, NULL, false }
4693 static const char * const drsblobs_endpoint_strings[] = {
4694 "ncacn_np:[\\pipe\\drsblobs]",
4697 static const struct ndr_interface_string_array drsblobs_endpoints = {
4698 .count = 1,
4699 .names = drsblobs_endpoint_strings
4702 static const char * const drsblobs_authservice_strings[] = {
4703 "host",
4706 static const struct ndr_interface_string_array drsblobs_authservices = {
4707 .count = 1,
4708 .names = drsblobs_authservice_strings
4712 const struct ndr_interface_table ndr_table_drsblobs = {
4713 .name = "drsblobs",
4714 .syntax_id = {
4715 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
4716 NDR_DRSBLOBS_VERSION
4718 .helpstring = NDR_DRSBLOBS_HELPSTRING,
4719 .num_calls = 14,
4720 .calls = drsblobs_calls,
4721 .endpoints = &drsblobs_endpoints,
4722 .authservices = &drsblobs_authservices