1 /* parser auto-generated by pidl */
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");
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
);
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");
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
);
107 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
109 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
110 ndr_print_replPropertyMetaData1(ndr
, "array", &r
->array
[cntr_array_0
]);
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));
125 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
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
);
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
)
148 level
= ndr_pull_get_switch_value(ndr
, r
);
149 if (ndr_flags
& NDR_SCALARS
) {
150 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
153 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
157 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
160 if (ndr_flags
& NDR_BUFFERS
) {
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
)
175 level
= ndr_print_get_switch_value(ndr
, r
);
176 ndr_print_union(ndr
, name
, level
, "replPropertyMetaDataCtr");
179 ndr_print_replPropertyMetaDataCtr1(ndr
, "ctr1", &r
->ctr1
);
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");
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
);
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");
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
);
278 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
280 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
281 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
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");
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
);
339 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
341 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
342 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
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));
357 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
361 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
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
);
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
)
387 level
= ndr_pull_get_switch_value(ndr
, r
);
388 if (ndr_flags
& NDR_SCALARS
) {
389 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
392 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
396 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
400 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
403 if (ndr_flags
& NDR_BUFFERS
) {
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
)
421 level
= ndr_print_get_switch_value(ndr
, r
);
422 ndr_print_union(ndr
, name
, level
, "replUpToDateVectorCtr");
425 ndr_print_replUpToDateVectorCtr1(ndr
, "ctr1", &r
->ctr1
);
429 ndr_print_replUpToDateVectorCtr2(ndr
, "ctr2", &r
->ctr2
);
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");
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
);
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");
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
);
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
) {
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
));
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
) {
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
);
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
);
620 ndr_print_repsFromTo1OtherInfo(ndr
, "other_info", r
->other_info
);
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
);
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
);
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
);
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
));
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
));
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
);
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
);
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");
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
);
776 ndr_print_string(ndr
, "dns_name1", r
->dns_name1
);
779 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
780 ndr_print_ptr(ndr
, "dns_name2", r
->dns_name2
);
783 ndr_print_string(ndr
, "dns_name2", r
->dns_name2
);
786 ndr_print_hyper(ndr
, "unknown2", r
->unknown2
);
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
) {
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
));
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
) {
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
);
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
);
897 ndr_print_repsFromTo2OtherInfo(ndr
, "other_info", r
->other_info
);
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
);
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));
927 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
931 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
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
);
942 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
946 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
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
)
959 level
= ndr_pull_get_switch_value(ndr
, r
);
960 if (ndr_flags
& NDR_SCALARS
) {
961 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
964 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
968 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
972 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
975 if (ndr_flags
& NDR_BUFFERS
) {
978 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
982 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
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
)
995 level
= ndr_print_get_switch_value(ndr
, r
);
996 ndr_print_union(ndr
, name
, level
, "repsFromTo");
999 ndr_print_repsFromTo1(ndr
, "ctr1", &r
->ctr1
);
1003 ndr_print_repsFromTo2(ndr
, "ctr2", &r
->ctr2
);
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");
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
);
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");
1098 ndr_print_uint32(ndr
, "count", r
->count
);
1099 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
1101 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
1103 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
1104 ndr_print_drsuapi_DsAttributeId(ndr
, "array", r
->array
[cntr_array_0
]);
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));
1119 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
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
);
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
)
1142 level
= ndr_pull_get_switch_value(ndr
, r
);
1143 if (ndr_flags
& NDR_SCALARS
) {
1144 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
1147 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1151 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1154 if (ndr_flags
& NDR_BUFFERS
) {
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
)
1169 level
= ndr_print_get_switch_value(ndr
, r
);
1170 ndr_print_union(ndr
, name
, level
, "partialAttributeSetCtr");
1173 ndr_print_partialAttributeSetCtr1(ndr
, "ctr1", &r
->ctr1
);
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");
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
);
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
)
1231 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &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
;
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));
1252 case PREFIX_MAP_VERSION_DSDB
: {
1253 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
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
);
1263 case PREFIX_MAP_VERSION_DSDB
:
1264 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
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
)
1277 level
= ndr_pull_get_switch_value(ndr
, r
);
1278 if (ndr_flags
& NDR_SCALARS
) {
1279 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1281 case PREFIX_MAP_VERSION_DSDB
: {
1282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1286 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1289 if (ndr_flags
& NDR_BUFFERS
) {
1291 case PREFIX_MAP_VERSION_DSDB
:
1292 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
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
)
1305 level
= ndr_print_get_switch_value(ndr
, r
);
1306 ndr_print_union(ndr
, name
, level
, "prefixMapCtr");
1308 case PREFIX_MAP_VERSION_DSDB
:
1309 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "dsdb", &r
->dsdb
);
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");
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
);
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));
1370 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1375 if (ndr_flags
& NDR_BUFFERS
) {
1376 int level
= ndr_push_get_switch_value(ndr
, r
);
1386 return NDR_ERR_SUCCESS
;
1389 static enum ndr_err_code
ndr_pull_ldapControlDirSyncExtra(struct ndr_pull
*ndr
, int ndr_flags
, union ldapControlDirSyncExtra
*r
)
1392 level
= ndr_pull_get_switch_value(ndr
, r
);
1393 if (ndr_flags
& NDR_SCALARS
) {
1394 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1400 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1405 if (ndr_flags
& NDR_BUFFERS
) {
1415 return NDR_ERR_SUCCESS
;
1418 _PUBLIC_
void ndr_print_ldapControlDirSyncExtra(struct ndr_print
*ndr
, const char *name
, const union ldapControlDirSyncExtra
*r
)
1421 level
= ndr_print_get_switch_value(ndr
, r
);
1422 ndr_print_union(ndr
, name
, level
, "ldapControlDirSyncExtra");
1428 ndr_print_replUpToDateVectorBlob(ndr
, "uptodateness_vector", &r
->uptodateness_vector
);
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");
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
);
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
));
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");
1547 ndr_print_string(ndr
, "msds", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?"MSDS":r
->msds
);
1548 ndr_print_ldapControlDirSyncBlob(ndr
, "blob", &r
->blob
);
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");
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
);
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
)
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
));
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
);
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");
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
);
1694 for (cntr_packages_0
=0;cntr_packages_0
<r
->num_packages
;cntr_packages_0
++) {
1696 if (asprintf(&idx_0
, "[%d]", cntr_packages_0
) != -1) {
1697 ndr_print_supplementalCredentialsPackage(ndr
, "packages", &r
->packages
[cntr_packages_0
]);
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");
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
);
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");
1802 ndr_print_string_array(ndr
, "names", r
->names
);
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
);
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
));
1853 NDR_PULL_ALLOC(ndr
, r
->string
);
1854 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->string
, _ptr_string
));
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
);
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");
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
);
1896 ndr_print_string(ndr
, "string", r
->string
);
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
);
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
));
1955 NDR_PULL_ALLOC(ndr
, r
->value
);
1956 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
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
);
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");
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
);
2001 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
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");
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
);
2108 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2110 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2111 ndr_print_package_PrimaryKerberosKey3(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2116 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2118 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
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
]);
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
);
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
);
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
));
2189 NDR_PULL_ALLOC(ndr
, r
->value
);
2190 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
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
);
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");
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
);
2236 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
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");
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
);
2387 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2389 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2390 ndr_print_package_PrimaryKerberosKey4(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2395 ndr
->print(ndr
, "%s: ARRAY(%d)", "service_keys", (int)r
->num_service_keys
);
2397 for (cntr_service_keys_0
=0;cntr_service_keys_0
<r
->num_service_keys
;cntr_service_keys_0
++) {
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
]);
2405 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2407 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
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
]);
2415 ndr
->print(ndr
, "%s: ARRAY(%d)", "older_keys", (int)r
->num_older_keys
);
2417 for (cntr_older_keys_0
=0;cntr_older_keys_0
<r
->num_older_keys
;cntr_older_keys_0
++) {
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
]);
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));
2435 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2439 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
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
);
2450 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2454 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
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
)
2467 level
= ndr_pull_get_switch_value(ndr
, r
);
2468 if (ndr_flags
& NDR_SCALARS
) {
2469 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
2472 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2476 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2480 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2483 if (ndr_flags
& NDR_BUFFERS
) {
2486 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2490 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
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
)
2503 level
= ndr_print_get_switch_value(ndr
, r
);
2504 ndr_print_union(ndr
, name
, level
, "package_PrimaryKerberosCtr");
2507 ndr_print_package_PrimaryKerberosCtr3(ndr
, "ctr3", &r
->ctr3
);
2511 ndr_print_package_PrimaryKerberosCtr4(ndr
, "ctr4", &r
->ctr4
);
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");
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
);
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");
2600 ndr_print_DATA_BLOB(ndr
, "cleartext", r
->cleartext
);
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));
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
);
2647 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
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");
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
);
2712 for (cntr_hashes_0
=0;cntr_hashes_0
<r
->num_hashes
;cntr_hashes_0
++) {
2714 if (asprintf(&idx_0
, "[%d]", cntr_hashes_0
) != -1) {
2715 ndr_print_package_PrimaryWDigestHash(ndr
, "hashes", &r
->hashes
[cntr_hashes_0
]);
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");
2751 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->size
);
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");
2785 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?16:r
->size
);
2786 ndr_print_samr_Password(ndr
, "password", &r
->password
);
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");
2823 ndr_print_uint32(ndr
, "size", r
->size
);
2824 ndr_print_array_uint8(ndr
, "password", r
->password
, r
->size
);
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");
2858 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?4:r
->size
);
2859 ndr_print_uint32(ndr
, "version", r
->version
);
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));
2869 case TRUST_AUTH_TYPE_NONE
: {
2870 NDR_CHECK(ndr_push_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2873 case TRUST_AUTH_TYPE_NT4OWF
: {
2874 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2877 case TRUST_AUTH_TYPE_CLEAR
: {
2878 NDR_CHECK(ndr_push_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2881 case TRUST_AUTH_TYPE_VERSION
: {
2882 NDR_CHECK(ndr_push_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
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
);
2892 case TRUST_AUTH_TYPE_NONE
:
2895 case TRUST_AUTH_TYPE_NT4OWF
:
2898 case TRUST_AUTH_TYPE_CLEAR
:
2901 case TRUST_AUTH_TYPE_VERSION
:
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
)
2914 level
= ndr_pull_get_switch_value(ndr
, r
);
2915 if (ndr_flags
& NDR_SCALARS
) {
2916 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
2918 case TRUST_AUTH_TYPE_NONE
: {
2919 NDR_CHECK(ndr_pull_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2922 case TRUST_AUTH_TYPE_NT4OWF
: {
2923 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2926 case TRUST_AUTH_TYPE_CLEAR
: {
2927 NDR_CHECK(ndr_pull_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2930 case TRUST_AUTH_TYPE_VERSION
: {
2931 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2935 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2938 if (ndr_flags
& NDR_BUFFERS
) {
2940 case TRUST_AUTH_TYPE_NONE
:
2943 case TRUST_AUTH_TYPE_NT4OWF
:
2946 case TRUST_AUTH_TYPE_CLEAR
:
2949 case TRUST_AUTH_TYPE_VERSION
:
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
)
2962 level
= ndr_print_get_switch_value(ndr
, r
);
2963 ndr_print_union(ndr
, name
, level
, "AuthInfo");
2965 case TRUST_AUTH_TYPE_NONE
:
2966 ndr_print_AuthInfoNone(ndr
, "none", &r
->none
);
2969 case TRUST_AUTH_TYPE_NT4OWF
:
2970 ndr_print_AuthInfoNT4Owf(ndr
, "nt4owf", &r
->nt4owf
);
2973 case TRUST_AUTH_TYPE_CLEAR
:
2974 ndr_print_AuthInfoClear(ndr
, "clear", &r
->clear
);
2977 case TRUST_AUTH_TYPE_VERSION
:
2978 ndr_print_AuthInfoVersion(ndr
, "version", &r
->version
);
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");
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
);
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
));
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
));
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");
3120 ndr_print_uint32(ndr
, "count", r
->count
);
3121 ndr
->print(ndr
, "%s: ARRAY(%d)", "current", (int)r
->count
);
3123 for (cntr_current_0
=0;cntr_current_0
<r
->count
;cntr_current_0
++) {
3125 if (asprintf(&idx_0
, "[%d]", cntr_current_0
) != -1) {
3126 ndr_print_ptr(ndr
, "current", r
->current
[cntr_current_0
]);
3128 if (r
->current
[cntr_current_0
]) {
3129 ndr_print_AuthenticationInformation(ndr
, "current", r
->current
[cntr_current_0
]);
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");
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
);
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");
3212 ndr_print_uint32(ndr
, "marker", r
->marker
);
3213 ndr_print_DATA_BLOB(ndr
, "data", r
->data
);
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
) {
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
));
3244 NDR_PULL_ALLOC(ndr
, r
->string
);
3248 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3250 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
3270 ndr_print_uint16(ndr
, "__size", r
->__size
);
3271 ndr_print_ptr(ndr
, "string", r
->string
);
3274 ndr_print_string(ndr
, "string", r
->string
);
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
) {
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
));
3307 NDR_PULL_ALLOC(ndr
, r
->string
);
3311 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3313 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
3333 ndr_print_uint16(ndr
, "__size", r
->__size
);
3334 ndr_print_ptr(ndr
, "string", r
->string
);
3337 ndr_print_string(ndr
, "string", r
->string
);
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
) {
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
)
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
));
3370 NDR_PULL_ALLOC(ndr
, r
->data
);
3374 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3376 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
3397 ndr_print_uint16(ndr
, "length", r
->length
);
3398 ndr_print_ptr(ndr
, "data", r
->data
);
3401 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
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
)
3416 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &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
;
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));
3439 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3440 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3443 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
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
);
3453 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3454 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3457 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
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
)
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));
3479 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3480 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3483 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3487 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3490 if (ndr_flags
& NDR_BUFFERS
) {
3492 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3493 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3496 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
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
)
3509 level
= ndr_print_get_switch_value(ndr
, r
);
3510 ndr_print_union(ndr
, name
, level
, "ExtendedErrorComputerNameU");
3512 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3513 ndr_print_ExtendedErrorUString(ndr
, "name", &r
->name
);
3516 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
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");
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
);
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
)
3573 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &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
;
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));
3601 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3602 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3605 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3606 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3609 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3610 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->uint32
));
3613 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3614 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->uint16
));
3617 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3618 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->uint64
));
3621 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3624 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3625 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
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
);
3635 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3636 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3639 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3640 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3643 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3646 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3649 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3652 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3655 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3656 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
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
)
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));
3678 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3679 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3682 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3683 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3686 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3687 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->uint32
));
3690 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3691 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->uint16
));
3694 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3695 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->uint64
));
3698 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3701 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3702 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3706 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3709 if (ndr_flags
& NDR_BUFFERS
) {
3711 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3712 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3715 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3716 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3719 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3722 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3725 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3728 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3731 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3732 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
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
)
3745 level
= ndr_print_get_switch_value(ndr
, r
);
3746 ndr_print_union(ndr
, name
, level
, "ExtendedErrorParamU");
3748 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3749 ndr_print_ExtendedErrorAString(ndr
, "a_string", &r
->a_string
);
3752 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3753 ndr_print_ExtendedErrorUString(ndr
, "u_string", &r
->u_string
);
3756 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3757 ndr_print_uint32(ndr
, "uint32", r
->uint32
);
3760 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3761 ndr_print_uint16(ndr
, "uint16", r
->uint16
);
3764 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3765 ndr_print_hyper(ndr
, "uint64", r
->uint64
);
3768 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3771 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3772 ndr_print_ExtendedErrorBlob(ndr
, "blob", &r
->blob
);
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");
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
);
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
) {
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
)
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
));
3864 NDR_PULL_ALLOC(ndr
, r
->next
);
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);
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
) {
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");
3913 ndr_print_ptr(ndr
, "next", r
->next
);
3916 ndr_print_ExtendedErrorInfo(ndr
, "next", r
->next
);
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
);
3929 for (cntr_params_0
=0;cntr_params_0
<r
->num_params
;cntr_params_0
++) {
3931 if (asprintf(&idx_0
, "[%d]", cntr_params_0
) != -1) {
3932 ndr_print_ExtendedErrorParam(ndr
, "params", &r
->params
[cntr_params_0
]);
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
) {
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
)
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
));
3963 NDR_PULL_ALLOC(ndr
, r
->info
);
3967 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3969 if (ndr_flags
& NDR_BUFFERS
) {
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");
3984 ndr_print_ptr(ndr
, "info", r
->info
);
3987 ndr_print_ExtendedErrorInfo(ndr
, "info", r
->info
);
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");
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");
4023 ndr_print_replPropertyMetaDataBlob(ndr
, "blob", &r
->in
.blob
);
4026 if (flags
& NDR_OUT
) {
4027 ndr_print_struct(ndr
, "out", "decode_replPropertyMetaData");
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");
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");
4064 ndr_print_replUpToDateVectorBlob(ndr
, "blob", &r
->in
.blob
);
4067 if (flags
& NDR_OUT
) {
4068 ndr_print_struct(ndr
, "out", "decode_replUpToDateVector");
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");
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");
4105 ndr_print_repsFromToBlob(ndr
, "blob", &r
->in
.blob
);
4108 if (flags
& NDR_OUT
) {
4109 ndr_print_struct(ndr
, "out", "decode_repsFromTo");
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");
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");
4146 ndr_print_partialAttributeSetBlob(ndr
, "blob", &r
->in
.blob
);
4149 if (flags
& NDR_OUT
) {
4150 ndr_print_struct(ndr
, "out", "decode_partialAttributeSet");
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");
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");
4187 ndr_print_prefixMapBlob(ndr
, "blob", &r
->in
.blob
);
4190 if (flags
& NDR_OUT
) {
4191 ndr_print_struct(ndr
, "out", "decode_prefixMap");
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");
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");
4228 ndr_print_ldapControlDirSyncCookie(ndr
, "cookie", &r
->in
.cookie
);
4231 if (flags
& NDR_OUT
) {
4232 ndr_print_struct(ndr
, "out", "decode_ldapControlDirSync");
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");
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");
4269 ndr_print_supplementalCredentialsBlob(ndr
, "blob", &r
->in
.blob
);
4272 if (flags
& NDR_OUT
) {
4273 ndr_print_struct(ndr
, "out", "decode_supplementalCredentials");
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");
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");
4310 ndr_print_package_PackagesBlob(ndr
, "blob", &r
->in
.blob
);
4313 if (flags
& NDR_OUT
) {
4314 ndr_print_struct(ndr
, "out", "decode_Packages");
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");
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");
4351 ndr_print_package_PrimaryKerberosBlob(ndr
, "blob", &r
->in
.blob
);
4354 if (flags
& NDR_OUT
) {
4355 ndr_print_struct(ndr
, "out", "decode_PrimaryKerberos");
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");
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");
4392 ndr_print_package_PrimaryCLEARTEXTBlob(ndr
, "blob", &r
->in
.blob
);
4395 if (flags
& NDR_OUT
) {
4396 ndr_print_struct(ndr
, "out", "decode_PrimaryCLEARTEXT");
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");
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");
4433 ndr_print_package_PrimaryWDigestBlob(ndr
, "blob", &r
->in
.blob
);
4436 if (flags
& NDR_OUT
) {
4437 ndr_print_struct(ndr
, "out", "decode_PrimaryWDigest");
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");
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");
4474 ndr_print_trustAuthInOutBlob(ndr
, "blob", &r
->in
.blob
);
4477 if (flags
& NDR_OUT
) {
4478 ndr_print_struct(ndr
, "out", "decode_trustAuthInOut");
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");
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");
4515 ndr_print_trustDomainPasswords(ndr
, "blob", &r
->in
.blob
);
4518 if (flags
& NDR_OUT
) {
4519 ndr_print_struct(ndr
, "out", "decode_trustDomainPasswords");
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");
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");
4566 ndr_print_ExtendedErrorInfoPtr(ndr
, "ptr", &r
->in
.ptr
);
4569 if (flags
& NDR_OUT
) {
4570 ndr_print_struct(ndr
, "out", "decode_ExtendedErrorInfo");
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
= {
4699 .names
= drsblobs_endpoint_strings
4702 static const char * const drsblobs_authservice_strings
[] = {
4706 static const struct ndr_interface_string_array drsblobs_authservices
= {
4708 .names
= drsblobs_authservice_strings
4712 const struct ndr_interface_table ndr_table_drsblobs
= {
4715 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
4716 NDR_DRSBLOBS_VERSION
4718 .helpstring
= NDR_DRSBLOBS_HELPSTRING
,
4720 .calls
= drsblobs_calls
,
4721 .endpoints
= &drsblobs_endpoints
,
4722 .authservices
= &drsblobs_authservices