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 cntr_array_0
;
77 TALLOC_CTX
*_mem_save_array_0
;
78 if (ndr_flags
& NDR_SCALARS
) {
79 NDR_CHECK(ndr_pull_align(ndr
, 8));
80 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
81 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
82 NDR_PULL_ALLOC_N(ndr
, r
->array
, r
->count
);
83 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
84 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
85 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
86 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
88 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
89 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
91 if (ndr_flags
& NDR_BUFFERS
) {
93 return NDR_ERR_SUCCESS
;
96 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr1(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataCtr1
*r
)
98 uint32_t cntr_array_0
;
99 ndr_print_struct(ndr
, name
, "replPropertyMetaDataCtr1");
101 ndr_print_uint32(ndr
, "count", r
->count
);
102 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
103 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
105 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
107 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
108 ndr_print_replPropertyMetaData1(ndr
, "array", &r
->array
[cntr_array_0
]);
116 static enum ndr_err_code
ndr_push_replPropertyMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replPropertyMetaDataCtr
*r
)
118 if (ndr_flags
& NDR_SCALARS
) {
119 int level
= ndr_push_get_switch_value(ndr
, r
);
120 NDR_CHECK(ndr_push_union_align(ndr
, 8));
123 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
127 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
130 if (ndr_flags
& NDR_BUFFERS
) {
131 int level
= ndr_push_get_switch_value(ndr
, r
);
137 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
140 return NDR_ERR_SUCCESS
;
143 static enum ndr_err_code
ndr_pull_replPropertyMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replPropertyMetaDataCtr
*r
)
146 level
= ndr_pull_get_switch_value(ndr
, r
);
147 if (ndr_flags
& NDR_SCALARS
) {
148 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
151 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
155 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
158 if (ndr_flags
& NDR_BUFFERS
) {
164 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
167 return NDR_ERR_SUCCESS
;
170 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const union replPropertyMetaDataCtr
*r
)
173 level
= ndr_print_get_switch_value(ndr
, r
);
174 ndr_print_union(ndr
, name
, level
, "replPropertyMetaDataCtr");
177 ndr_print_replPropertyMetaDataCtr1(ndr
, "ctr1", &r
->ctr1
);
181 ndr_print_bad_level(ndr
, name
, level
);
185 _PUBLIC_
enum ndr_err_code
ndr_push_replPropertyMetaDataBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaDataBlob
*r
)
187 if (ndr_flags
& NDR_SCALARS
) {
188 NDR_CHECK(ndr_push_align(ndr
, 8));
189 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
190 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
191 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
192 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
193 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
195 if (ndr_flags
& NDR_BUFFERS
) {
197 return NDR_ERR_SUCCESS
;
200 _PUBLIC_
enum ndr_err_code
ndr_pull_replPropertyMetaDataBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaDataBlob
*r
)
202 if (ndr_flags
& NDR_SCALARS
) {
203 NDR_CHECK(ndr_pull_align(ndr
, 8));
204 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
205 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
206 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
207 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
208 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
210 if (ndr_flags
& NDR_BUFFERS
) {
212 return NDR_ERR_SUCCESS
;
215 _PUBLIC_
void ndr_print_replPropertyMetaDataBlob(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataBlob
*r
)
217 ndr_print_struct(ndr
, name
, "replPropertyMetaDataBlob");
219 ndr_print_uint32(ndr
, "version", r
->version
);
220 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
221 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
222 ndr_print_replPropertyMetaDataCtr(ndr
, "ctr", &r
->ctr
);
226 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr1
*r
)
228 uint32_t cntr_cursors_0
;
229 if (ndr_flags
& NDR_SCALARS
) {
230 NDR_CHECK(ndr_push_align(ndr
, 8));
231 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
232 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
233 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
234 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
236 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
238 if (ndr_flags
& NDR_BUFFERS
) {
240 return NDR_ERR_SUCCESS
;
243 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr1
*r
)
245 uint32_t cntr_cursors_0
;
246 TALLOC_CTX
*_mem_save_cursors_0
;
247 if (ndr_flags
& NDR_SCALARS
) {
248 NDR_CHECK(ndr_pull_align(ndr
, 8));
249 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
250 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
251 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, r
->count
);
252 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
253 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
254 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
255 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
257 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
258 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
260 if (ndr_flags
& NDR_BUFFERS
) {
262 return NDR_ERR_SUCCESS
;
265 _PUBLIC_
void ndr_print_replUpToDateVectorCtr1(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr1
*r
)
267 uint32_t cntr_cursors_0
;
268 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr1");
270 ndr_print_uint32(ndr
, "count", r
->count
);
271 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
272 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
274 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
276 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
277 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
285 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr2
*r
)
287 uint32_t cntr_cursors_0
;
288 if (ndr_flags
& NDR_SCALARS
) {
289 NDR_CHECK(ndr_push_align(ndr
, 8));
290 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
291 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
292 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
293 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
295 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
297 if (ndr_flags
& NDR_BUFFERS
) {
299 return NDR_ERR_SUCCESS
;
302 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr2
*r
)
304 uint32_t cntr_cursors_0
;
305 TALLOC_CTX
*_mem_save_cursors_0
;
306 if (ndr_flags
& NDR_SCALARS
) {
307 NDR_CHECK(ndr_pull_align(ndr
, 8));
308 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
309 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
310 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, r
->count
);
311 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
312 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
313 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
317 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
319 if (ndr_flags
& NDR_BUFFERS
) {
321 return NDR_ERR_SUCCESS
;
324 _PUBLIC_
void ndr_print_replUpToDateVectorCtr2(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr2
*r
)
326 uint32_t cntr_cursors_0
;
327 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr2");
329 ndr_print_uint32(ndr
, "count", r
->count
);
330 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
331 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
333 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
335 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
336 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
344 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replUpToDateVectorCtr
*r
)
346 if (ndr_flags
& NDR_SCALARS
) {
347 int level
= ndr_push_get_switch_value(ndr
, r
);
348 NDR_CHECK(ndr_push_union_align(ndr
, 8));
351 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
355 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
359 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
362 if (ndr_flags
& NDR_BUFFERS
) {
363 int level
= ndr_push_get_switch_value(ndr
, r
);
372 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
375 return NDR_ERR_SUCCESS
;
378 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replUpToDateVectorCtr
*r
)
381 level
= ndr_pull_get_switch_value(ndr
, r
);
382 if (ndr_flags
& NDR_SCALARS
) {
383 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
386 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
390 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
394 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
397 if (ndr_flags
& NDR_BUFFERS
) {
406 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
409 return NDR_ERR_SUCCESS
;
412 _PUBLIC_
void ndr_print_replUpToDateVectorCtr(struct ndr_print
*ndr
, const char *name
, const union replUpToDateVectorCtr
*r
)
415 level
= ndr_print_get_switch_value(ndr
, r
);
416 ndr_print_union(ndr
, name
, level
, "replUpToDateVectorCtr");
419 ndr_print_replUpToDateVectorCtr1(ndr
, "ctr1", &r
->ctr1
);
423 ndr_print_replUpToDateVectorCtr2(ndr
, "ctr2", &r
->ctr2
);
427 ndr_print_bad_level(ndr
, name
, level
);
431 _PUBLIC_
enum ndr_err_code
ndr_push_replUpToDateVectorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorBlob
*r
)
433 if (ndr_flags
& NDR_SCALARS
) {
434 NDR_CHECK(ndr_push_align(ndr
, 8));
435 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
436 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
437 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
438 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
439 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
441 if (ndr_flags
& NDR_BUFFERS
) {
443 return NDR_ERR_SUCCESS
;
446 _PUBLIC_
enum ndr_err_code
ndr_pull_replUpToDateVectorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorBlob
*r
)
448 if (ndr_flags
& NDR_SCALARS
) {
449 NDR_CHECK(ndr_pull_align(ndr
, 8));
450 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
451 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
452 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
453 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
454 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
456 if (ndr_flags
& NDR_BUFFERS
) {
458 return NDR_ERR_SUCCESS
;
461 _PUBLIC_
void ndr_print_replUpToDateVectorBlob(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorBlob
*r
)
463 ndr_print_struct(ndr
, name
, "replUpToDateVectorBlob");
465 ndr_print_uint32(ndr
, "version", r
->version
);
466 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
467 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
468 ndr_print_replUpToDateVectorCtr(ndr
, "ctr", &r
->ctr
);
472 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1OtherInfo
*r
)
474 if (ndr_flags
& NDR_SCALARS
) {
475 NDR_CHECK(ndr_push_align(ndr
, 4));
476 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen(r
->dns_name
) + 1));
477 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, strlen(r
->dns_name
) + 1, sizeof(uint8_t), CH_DOS
));
478 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
480 if (ndr_flags
& NDR_BUFFERS
) {
482 return NDR_ERR_SUCCESS
;
485 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1OtherInfo
*r
)
487 if (ndr_flags
& NDR_SCALARS
) {
488 NDR_CHECK(ndr_pull_align(ndr
, 4));
489 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__dns_name_size
));
490 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, r
->__dns_name_size
, sizeof(uint8_t), CH_DOS
));
491 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
493 if (ndr_flags
& NDR_BUFFERS
) {
495 return NDR_ERR_SUCCESS
;
498 _PUBLIC_
void ndr_print_repsFromTo1OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1OtherInfo
*r
)
500 ndr_print_struct(ndr
, name
, "repsFromTo1OtherInfo");
502 ndr_print_uint32(ndr
, "__dns_name_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->dns_name
) + 1:r
->__dns_name_size
);
503 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
507 _PUBLIC_
size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
509 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1OtherInfo
, ic
);
512 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1
*r
)
515 uint32_t _flags_save_STRUCT
= ndr
->flags
;
516 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
517 if (ndr_flags
& NDR_SCALARS
) {
518 NDR_CHECK(ndr_push_align(ndr
, 8));
519 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
520 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
521 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
522 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
523 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
524 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
525 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
526 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
527 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
528 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
529 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
530 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
531 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
532 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
533 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
535 if (ndr_flags
& NDR_BUFFERS
) {
537 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->other_info
));
538 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
541 ndr
->flags
= _flags_save_STRUCT
;
543 return NDR_ERR_SUCCESS
;
546 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1
*r
)
548 uint32_t _ptr_other_info
;
549 TALLOC_CTX
*_mem_save_other_info_0
;
551 uint32_t _flags_save_STRUCT
= ndr
->flags
;
552 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
553 if (ndr_flags
& NDR_SCALARS
) {
554 NDR_CHECK(ndr_pull_align(ndr
, 8));
555 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
556 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
557 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
558 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
559 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
560 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
561 if (_ptr_other_info
) {
562 NDR_PULL_ALLOC(ndr
, r
->other_info
);
563 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
565 r
->other_info
= NULL
;
567 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
568 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
569 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
570 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
571 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
572 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
573 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
574 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
575 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
577 if (ndr_flags
& NDR_BUFFERS
) {
579 uint32_t _relative_save_offset
;
580 _relative_save_offset
= ndr
->offset
;
581 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
582 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
583 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
584 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
585 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
586 ndr
->offset
= _relative_save_offset
;
589 ndr
->flags
= _flags_save_STRUCT
;
591 return NDR_ERR_SUCCESS
;
594 _PUBLIC_
void ndr_print_repsFromTo1(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1
*r
)
596 ndr_print_struct(ndr
, name
, "repsFromTo1");
598 uint32_t _flags_save_STRUCT
= ndr
->flags
;
599 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
601 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
602 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
603 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
604 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
605 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
606 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
609 ndr_print_repsFromTo1OtherInfo(ndr
, "other_info", r
->other_info
);
612 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
);
613 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
614 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
615 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
616 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
617 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
618 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
619 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
621 ndr
->flags
= _flags_save_STRUCT
;
625 _PUBLIC_
size_t ndr_size_repsFromTo1(const struct repsFromTo1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
627 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
628 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1
, ic
);
631 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo2OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo2OtherInfo
*r
)
633 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
634 if (ndr_flags
& NDR_SCALARS
) {
635 NDR_CHECK(ndr_push_align(ndr
, 8));
636 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
637 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2OtherInfo(r
, ndr
->iconv_convenience
, ndr
->flags
)));
639 uint32_t _flags_save_string
= ndr
->flags
;
640 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
641 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->dns_name1
));
642 ndr
->flags
= _flags_save_string
;
644 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
646 uint32_t _flags_save_string
= ndr
->flags
;
647 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
648 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->dns_name2
));
649 ndr
->flags
= _flags_save_string
;
651 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown2
));
652 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
654 if (ndr_flags
& NDR_BUFFERS
) {
655 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
657 uint32_t _flags_save_string
= ndr
->flags
;
658 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
660 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->dns_name1
));
661 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->dns_name1
));
663 ndr
->flags
= _flags_save_string
;
666 uint32_t _flags_save_string
= ndr
->flags
;
667 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
669 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->dns_name2
));
670 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->dns_name2
));
672 ndr
->flags
= _flags_save_string
;
675 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
676 return NDR_ERR_SUCCESS
;
679 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo2OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo2OtherInfo
*r
)
681 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
682 uint32_t _ptr_dns_name1
;
683 TALLOC_CTX
*_mem_save_dns_name1_0
;
684 uint32_t _ptr_dns_name2
;
685 TALLOC_CTX
*_mem_save_dns_name2_0
;
686 if (ndr_flags
& NDR_SCALARS
) {
687 NDR_CHECK(ndr_pull_align(ndr
, 8));
688 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
689 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
691 uint32_t _flags_save_string
= ndr
->flags
;
692 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
693 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name1
));
694 if (_ptr_dns_name1
) {
695 NDR_PULL_ALLOC(ndr
, r
->dns_name1
);
696 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->dns_name1
, _ptr_dns_name1
));
700 ndr
->flags
= _flags_save_string
;
702 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
704 uint32_t _flags_save_string
= ndr
->flags
;
705 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
706 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name2
));
707 if (_ptr_dns_name2
) {
708 NDR_PULL_ALLOC(ndr
, r
->dns_name2
);
709 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->dns_name2
, _ptr_dns_name2
));
713 ndr
->flags
= _flags_save_string
;
715 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown2
));
716 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
718 if (ndr_flags
& NDR_BUFFERS
) {
719 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
721 uint32_t _flags_save_string
= ndr
->flags
;
722 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
724 uint32_t _relative_save_offset
;
725 _relative_save_offset
= ndr
->offset
;
726 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->dns_name1
));
727 _mem_save_dns_name1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
728 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name1
, 0);
729 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->dns_name1
));
730 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name1_0
, 0);
731 ndr
->offset
= _relative_save_offset
;
733 ndr
->flags
= _flags_save_string
;
736 uint32_t _flags_save_string
= ndr
->flags
;
737 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
739 uint32_t _relative_save_offset
;
740 _relative_save_offset
= ndr
->offset
;
741 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->dns_name2
));
742 _mem_save_dns_name2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
743 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name2
, 0);
744 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->dns_name2
));
745 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name2_0
, 0);
746 ndr
->offset
= _relative_save_offset
;
748 ndr
->flags
= _flags_save_string
;
751 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
752 return NDR_ERR_SUCCESS
;
755 _PUBLIC_
void ndr_print_repsFromTo2OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo2OtherInfo
*r
)
757 ndr_print_struct(ndr
, name
, "repsFromTo2OtherInfo");
759 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2OtherInfo(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
760 ndr_print_ptr(ndr
, "dns_name1", r
->dns_name1
);
763 ndr_print_string(ndr
, "dns_name1", r
->dns_name1
);
766 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
767 ndr_print_ptr(ndr
, "dns_name2", r
->dns_name2
);
770 ndr_print_string(ndr
, "dns_name2", r
->dns_name2
);
773 ndr_print_hyper(ndr
, "unknown2", r
->unknown2
);
777 _PUBLIC_
size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
779 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo2OtherInfo
, ic
);
782 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo2(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo2
*r
)
785 uint32_t _flags_save_STRUCT
= ndr
->flags
;
786 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
787 if (ndr_flags
& NDR_SCALARS
) {
788 NDR_CHECK(ndr_push_align(ndr
, 8));
789 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
790 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
791 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
792 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
793 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
794 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
795 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
796 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
797 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
798 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
799 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
800 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
801 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
802 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
803 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
804 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
806 if (ndr_flags
& NDR_BUFFERS
) {
808 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->other_info
));
809 NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->other_info
));
812 ndr
->flags
= _flags_save_STRUCT
;
814 return NDR_ERR_SUCCESS
;
817 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo2(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo2
*r
)
819 uint32_t _ptr_other_info
;
820 TALLOC_CTX
*_mem_save_other_info_0
;
822 uint32_t _flags_save_STRUCT
= ndr
->flags
;
823 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
824 if (ndr_flags
& NDR_SCALARS
) {
825 NDR_CHECK(ndr_pull_align(ndr
, 8));
826 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
827 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
828 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
829 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
830 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
831 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
832 if (_ptr_other_info
) {
833 NDR_PULL_ALLOC(ndr
, r
->other_info
);
834 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
836 r
->other_info
= NULL
;
838 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
839 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
840 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
841 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
842 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
843 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
844 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
845 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
846 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
847 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
849 if (ndr_flags
& NDR_BUFFERS
) {
851 uint32_t _relative_save_offset
;
852 _relative_save_offset
= ndr
->offset
;
853 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
854 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
855 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
856 NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->other_info
));
857 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
858 ndr
->offset
= _relative_save_offset
;
861 ndr
->flags
= _flags_save_STRUCT
;
863 return NDR_ERR_SUCCESS
;
866 _PUBLIC_
void ndr_print_repsFromTo2(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo2
*r
)
868 ndr_print_struct(ndr
, name
, "repsFromTo2");
870 uint32_t _flags_save_STRUCT
= ndr
->flags
;
871 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
873 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
874 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
875 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
876 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
877 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
878 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
881 ndr_print_repsFromTo2OtherInfo(ndr
, "other_info", r
->other_info
);
884 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
);
885 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
886 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
887 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
888 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
889 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
890 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
891 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
892 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
894 ndr
->flags
= _flags_save_STRUCT
;
898 _PUBLIC_
size_t ndr_size_repsFromTo2(const struct repsFromTo2
*r
, struct smb_iconv_convenience
*ic
, int flags
)
900 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
901 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo2
, ic
);
904 static enum ndr_err_code
ndr_push_repsFromTo(struct ndr_push
*ndr
, int ndr_flags
, const union repsFromTo
*r
)
906 if (ndr_flags
& NDR_SCALARS
) {
907 int level
= ndr_push_get_switch_value(ndr
, r
);
908 NDR_CHECK(ndr_push_union_align(ndr
, 8));
911 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
915 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
919 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
922 if (ndr_flags
& NDR_BUFFERS
) {
923 int level
= ndr_push_get_switch_value(ndr
, r
);
926 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
930 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
934 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
937 return NDR_ERR_SUCCESS
;
940 static enum ndr_err_code
ndr_pull_repsFromTo(struct ndr_pull
*ndr
, int ndr_flags
, union repsFromTo
*r
)
943 level
= ndr_pull_get_switch_value(ndr
, r
);
944 if (ndr_flags
& NDR_SCALARS
) {
945 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
948 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
952 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
956 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
959 if (ndr_flags
& NDR_BUFFERS
) {
962 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
966 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
970 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
973 return NDR_ERR_SUCCESS
;
976 _PUBLIC_
void ndr_print_repsFromTo(struct ndr_print
*ndr
, const char *name
, const union repsFromTo
*r
)
979 level
= ndr_print_get_switch_value(ndr
, r
);
980 ndr_print_union(ndr
, name
, level
, "repsFromTo");
983 ndr_print_repsFromTo1(ndr
, "ctr1", &r
->ctr1
);
987 ndr_print_repsFromTo2(ndr
, "ctr2", &r
->ctr2
);
991 ndr_print_bad_level(ndr
, name
, level
);
995 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromToBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromToBlob
*r
)
997 if (ndr_flags
& NDR_SCALARS
) {
998 NDR_CHECK(ndr_push_align(ndr
, 8));
999 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
1000 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
1001 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1002 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
1003 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1005 if (ndr_flags
& NDR_BUFFERS
) {
1006 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
1008 return NDR_ERR_SUCCESS
;
1011 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromToBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromToBlob
*r
)
1013 if (ndr_flags
& NDR_SCALARS
) {
1014 NDR_CHECK(ndr_pull_align(ndr
, 8));
1015 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1016 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1017 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1018 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
1019 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1021 if (ndr_flags
& NDR_BUFFERS
) {
1022 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
1024 return NDR_ERR_SUCCESS
;
1027 _PUBLIC_
void ndr_print_repsFromToBlob(struct ndr_print
*ndr
, const char *name
, const struct repsFromToBlob
*r
)
1029 ndr_print_struct(ndr
, name
, "repsFromToBlob");
1031 ndr_print_uint32(ndr
, "version", r
->version
);
1032 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1033 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1034 ndr_print_repsFromTo(ndr
, "ctr", &r
->ctr
);
1038 static enum ndr_err_code
ndr_push_partialAttributeSetCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetCtr1
*r
)
1040 uint32_t cntr_array_0
;
1041 if (ndr_flags
& NDR_SCALARS
) {
1042 NDR_CHECK(ndr_push_align(ndr
, 4));
1043 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1044 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
1045 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->array
[cntr_array_0
]));
1047 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1049 if (ndr_flags
& NDR_BUFFERS
) {
1051 return NDR_ERR_SUCCESS
;
1054 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetCtr1
*r
)
1056 uint32_t cntr_array_0
;
1057 TALLOC_CTX
*_mem_save_array_0
;
1058 if (ndr_flags
& NDR_SCALARS
) {
1059 NDR_CHECK(ndr_pull_align(ndr
, 4));
1060 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1061 NDR_PULL_ALLOC_N(ndr
, r
->array
, r
->count
);
1062 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1063 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
1064 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
1065 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
1067 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
1068 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1070 if (ndr_flags
& NDR_BUFFERS
) {
1072 return NDR_ERR_SUCCESS
;
1075 _PUBLIC_
void ndr_print_partialAttributeSetCtr1(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetCtr1
*r
)
1077 uint32_t cntr_array_0
;
1078 ndr_print_struct(ndr
, name
, "partialAttributeSetCtr1");
1080 ndr_print_uint32(ndr
, "count", r
->count
);
1081 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
1083 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
1085 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
1086 ndr_print_drsuapi_DsAttributeId(ndr
, "array", r
->array
[cntr_array_0
]);
1094 static enum ndr_err_code
ndr_push_partialAttributeSetCtr(struct ndr_push
*ndr
, int ndr_flags
, const union partialAttributeSetCtr
*r
)
1096 if (ndr_flags
& NDR_SCALARS
) {
1097 int level
= ndr_push_get_switch_value(ndr
, r
);
1098 NDR_CHECK(ndr_push_union_align(ndr
, 4));
1101 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1105 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1108 if (ndr_flags
& NDR_BUFFERS
) {
1109 int level
= ndr_push_get_switch_value(ndr
, r
);
1115 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1118 return NDR_ERR_SUCCESS
;
1121 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr(struct ndr_pull
*ndr
, int ndr_flags
, union partialAttributeSetCtr
*r
)
1124 level
= ndr_pull_get_switch_value(ndr
, r
);
1125 if (ndr_flags
& NDR_SCALARS
) {
1126 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
1129 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1133 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1136 if (ndr_flags
& NDR_BUFFERS
) {
1142 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1145 return NDR_ERR_SUCCESS
;
1148 _PUBLIC_
void ndr_print_partialAttributeSetCtr(struct ndr_print
*ndr
, const char *name
, const union partialAttributeSetCtr
*r
)
1151 level
= ndr_print_get_switch_value(ndr
, r
);
1152 ndr_print_union(ndr
, name
, level
, "partialAttributeSetCtr");
1155 ndr_print_partialAttributeSetCtr1(ndr
, "ctr1", &r
->ctr1
);
1159 ndr_print_bad_level(ndr
, name
, level
);
1163 _PUBLIC_
enum ndr_err_code
ndr_push_partialAttributeSetBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetBlob
*r
)
1165 if (ndr_flags
& NDR_SCALARS
) {
1166 NDR_CHECK(ndr_push_align(ndr
, 4));
1167 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
1168 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
1169 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1170 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1171 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1173 if (ndr_flags
& NDR_BUFFERS
) {
1175 return NDR_ERR_SUCCESS
;
1178 _PUBLIC_
enum ndr_err_code
ndr_pull_partialAttributeSetBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetBlob
*r
)
1180 if (ndr_flags
& NDR_SCALARS
) {
1181 NDR_CHECK(ndr_pull_align(ndr
, 4));
1182 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1183 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1184 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1185 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1186 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1188 if (ndr_flags
& NDR_BUFFERS
) {
1190 return NDR_ERR_SUCCESS
;
1193 _PUBLIC_
void ndr_print_partialAttributeSetBlob(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetBlob
*r
)
1195 ndr_print_struct(ndr
, name
, "partialAttributeSetBlob");
1197 ndr_print_uint32(ndr
, "version", r
->version
);
1198 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1199 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1200 ndr_print_partialAttributeSetCtr(ndr
, "ctr", &r
->ctr
);
1204 static enum ndr_err_code
ndr_push_prefixMapVersion(struct ndr_push
*ndr
, int ndr_flags
, enum prefixMapVersion r
)
1206 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1207 return NDR_ERR_SUCCESS
;
1210 static enum ndr_err_code
ndr_pull_prefixMapVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum prefixMapVersion
*r
)
1213 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1215 return NDR_ERR_SUCCESS
;
1218 _PUBLIC_
void ndr_print_prefixMapVersion(struct ndr_print
*ndr
, const char *name
, enum prefixMapVersion r
)
1220 const char *val
= NULL
;
1223 case PREFIX_MAP_VERSION_DSDB
: val
= "PREFIX_MAP_VERSION_DSDB"; break;
1225 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1228 static enum ndr_err_code
ndr_push_prefixMapCtr(struct ndr_push
*ndr
, int ndr_flags
, const union prefixMapCtr
*r
)
1230 if (ndr_flags
& NDR_SCALARS
) {
1231 int level
= ndr_push_get_switch_value(ndr
, r
);
1232 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1234 case PREFIX_MAP_VERSION_DSDB
: {
1235 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1239 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1242 if (ndr_flags
& NDR_BUFFERS
) {
1243 int level
= ndr_push_get_switch_value(ndr
, r
);
1245 case PREFIX_MAP_VERSION_DSDB
:
1246 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
1250 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1253 return NDR_ERR_SUCCESS
;
1256 static enum ndr_err_code
ndr_pull_prefixMapCtr(struct ndr_pull
*ndr
, int ndr_flags
, union prefixMapCtr
*r
)
1259 level
= ndr_pull_get_switch_value(ndr
, r
);
1260 if (ndr_flags
& NDR_SCALARS
) {
1261 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1263 case PREFIX_MAP_VERSION_DSDB
: {
1264 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1268 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1271 if (ndr_flags
& NDR_BUFFERS
) {
1273 case PREFIX_MAP_VERSION_DSDB
:
1274 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
1278 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1281 return NDR_ERR_SUCCESS
;
1284 _PUBLIC_
void ndr_print_prefixMapCtr(struct ndr_print
*ndr
, const char *name
, const union prefixMapCtr
*r
)
1287 level
= ndr_print_get_switch_value(ndr
, r
);
1288 ndr_print_union(ndr
, name
, level
, "prefixMapCtr");
1290 case PREFIX_MAP_VERSION_DSDB
:
1291 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "dsdb", &r
->dsdb
);
1295 ndr_print_bad_level(ndr
, name
, level
);
1299 _PUBLIC_
enum ndr_err_code
ndr_push_prefixMapBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct prefixMapBlob
*r
)
1301 if (ndr_flags
& NDR_SCALARS
) {
1302 NDR_CHECK(ndr_push_align(ndr
, 5));
1303 NDR_CHECK(ndr_push_prefixMapVersion(ndr
, NDR_SCALARS
, r
->version
));
1304 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
1305 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1306 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1307 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1309 if (ndr_flags
& NDR_BUFFERS
) {
1310 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1312 return NDR_ERR_SUCCESS
;
1315 _PUBLIC_
enum ndr_err_code
ndr_pull_prefixMapBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct prefixMapBlob
*r
)
1317 if (ndr_flags
& NDR_SCALARS
) {
1318 NDR_CHECK(ndr_pull_align(ndr
, 5));
1319 NDR_CHECK(ndr_pull_prefixMapVersion(ndr
, NDR_SCALARS
, &r
->version
));
1320 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1321 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1322 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1323 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1325 if (ndr_flags
& NDR_BUFFERS
) {
1326 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1328 return NDR_ERR_SUCCESS
;
1331 _PUBLIC_
void ndr_print_prefixMapBlob(struct ndr_print
*ndr
, const char *name
, const struct prefixMapBlob
*r
)
1333 ndr_print_struct(ndr
, name
, "prefixMapBlob");
1335 ndr_print_prefixMapVersion(ndr
, "version", r
->version
);
1336 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1337 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1338 ndr_print_prefixMapCtr(ndr
, "ctr", &r
->ctr
);
1342 static enum ndr_err_code
ndr_push_ldapControlDirSyncExtra(struct ndr_push
*ndr
, int ndr_flags
, const union ldapControlDirSyncExtra
*r
)
1344 if (ndr_flags
& NDR_SCALARS
) {
1345 int level
= ndr_push_get_switch_value(ndr
, r
);
1346 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1352 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1357 if (ndr_flags
& NDR_BUFFERS
) {
1358 int level
= ndr_push_get_switch_value(ndr
, r
);
1368 return NDR_ERR_SUCCESS
;
1371 static enum ndr_err_code
ndr_pull_ldapControlDirSyncExtra(struct ndr_pull
*ndr
, int ndr_flags
, union ldapControlDirSyncExtra
*r
)
1374 level
= ndr_pull_get_switch_value(ndr
, r
);
1375 if (ndr_flags
& NDR_SCALARS
) {
1376 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1382 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1387 if (ndr_flags
& NDR_BUFFERS
) {
1397 return NDR_ERR_SUCCESS
;
1400 _PUBLIC_
void ndr_print_ldapControlDirSyncExtra(struct ndr_print
*ndr
, const char *name
, const union ldapControlDirSyncExtra
*r
)
1403 level
= ndr_print_get_switch_value(ndr
, r
);
1404 ndr_print_union(ndr
, name
, level
, "ldapControlDirSyncExtra");
1410 ndr_print_replUpToDateVectorBlob(ndr
, "uptodateness_vector", &r
->uptodateness_vector
);
1416 static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra
*r
, uint32_t level
, struct smb_iconv_convenience
*ic
, int flags
)
1418 return ndr_size_union(r
, flags
, level
, (ndr_push_flags_fn_t
)ndr_push_ldapControlDirSyncExtra
, ic
);
1421 static enum ndr_err_code
ndr_push_ldapControlDirSyncBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncBlob
*r
)
1423 if (ndr_flags
& NDR_SCALARS
) {
1424 NDR_CHECK(ndr_push_align(ndr
, 8));
1425 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 3));
1426 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
1427 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
1428 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
1429 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1430 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1431 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1432 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->extra
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1433 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1434 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1436 if (ndr_flags
& NDR_BUFFERS
) {
1437 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1439 return NDR_ERR_SUCCESS
;
1442 static enum ndr_err_code
ndr_pull_ldapControlDirSyncBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncBlob
*r
)
1444 if (ndr_flags
& NDR_SCALARS
) {
1445 NDR_CHECK(ndr_pull_align(ndr
, 8));
1446 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
1447 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
1448 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
1449 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
1450 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extra_length
));
1451 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1452 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1453 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->extra
, r
->extra_length
));
1454 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1455 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1457 if (ndr_flags
& NDR_BUFFERS
) {
1458 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1460 return NDR_ERR_SUCCESS
;
1463 _PUBLIC_
void ndr_print_ldapControlDirSyncBlob(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncBlob
*r
)
1465 ndr_print_struct(ndr
, name
, "ldapControlDirSyncBlob");
1467 ndr_print_uint32(ndr
, "u1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?3:r
->u1
);
1468 ndr_print_NTTIME(ndr
, "time", r
->time
);
1469 ndr_print_uint32(ndr
, "u2", r
->u2
);
1470 ndr_print_uint32(ndr
, "u3", r
->u3
);
1471 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
);
1472 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1473 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
1474 ndr_print_set_switch_value(ndr
, &r
->extra
, r
->extra_length
);
1475 ndr_print_ldapControlDirSyncExtra(ndr
, "extra", &r
->extra
);
1479 _PUBLIC_
enum ndr_err_code
ndr_push_ldapControlDirSyncCookie(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncCookie
*r
)
1481 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
1482 if (ndr_flags
& NDR_SCALARS
) {
1483 NDR_CHECK(ndr_push_align(ndr
, 8));
1484 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1485 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, "MSDS", 4, sizeof(uint8_t), CH_DOS
));
1487 struct ndr_push
*_ndr_blob
;
1488 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1489 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1490 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1492 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1494 if (ndr_flags
& NDR_BUFFERS
) {
1495 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
1497 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1498 return NDR_ERR_SUCCESS
;
1501 _PUBLIC_
enum ndr_err_code
ndr_pull_ldapControlDirSyncCookie(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncCookie
*r
)
1503 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
1504 if (ndr_flags
& NDR_SCALARS
) {
1505 NDR_CHECK(ndr_pull_align(ndr
, 8));
1506 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1507 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->msds
, 4, sizeof(uint8_t), CH_DOS
));
1509 struct ndr_pull
*_ndr_blob
;
1510 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1511 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1512 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1514 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1516 if (ndr_flags
& NDR_BUFFERS
) {
1517 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
1519 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1520 return NDR_ERR_SUCCESS
;
1523 _PUBLIC_
void ndr_print_ldapControlDirSyncCookie(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncCookie
*r
)
1525 ndr_print_struct(ndr
, name
, "ldapControlDirSyncCookie");
1527 ndr_print_string(ndr
, "msds", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?"MSDS":r
->msds
);
1528 ndr_print_ldapControlDirSyncBlob(ndr
, "blob", &r
->blob
);
1532 static enum ndr_err_code
ndr_push_supplementalCredentialsPackage(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsPackage
*r
)
1534 if (ndr_flags
& NDR_SCALARS
) {
1535 NDR_CHECK(ndr_push_align(ndr
, 2));
1536 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->name
)));
1537 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen(r
->data
)));
1538 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->reserved
));
1539 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->name
, 2 * strlen_m(r
->name
), sizeof(uint8_t), CH_UTF16
));
1540 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->data
, strlen(r
->data
), sizeof(uint8_t), CH_DOS
));
1541 NDR_CHECK(ndr_push_trailer_align(ndr
, 2));
1543 if (ndr_flags
& NDR_BUFFERS
) {
1545 return NDR_ERR_SUCCESS
;
1548 static enum ndr_err_code
ndr_pull_supplementalCredentialsPackage(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsPackage
*r
)
1550 if (ndr_flags
& NDR_SCALARS
) {
1551 NDR_CHECK(ndr_pull_align(ndr
, 2));
1552 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->name_len
));
1553 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->data_len
));
1554 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved
));
1555 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->name
, r
->name_len
, sizeof(uint8_t), CH_UTF16
));
1556 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->data
, r
->data_len
, sizeof(uint8_t), CH_DOS
));
1557 NDR_CHECK(ndr_pull_trailer_align(ndr
, 2));
1559 if (ndr_flags
& NDR_BUFFERS
) {
1561 return NDR_ERR_SUCCESS
;
1564 _PUBLIC_
void ndr_print_supplementalCredentialsPackage(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsPackage
*r
)
1566 ndr_print_struct(ndr
, name
, "supplementalCredentialsPackage");
1568 ndr_print_uint16(ndr
, "name_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->name
):r
->name_len
);
1569 ndr_print_uint16(ndr
, "data_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->data
):r
->data_len
);
1570 ndr_print_uint16(ndr
, "reserved", r
->reserved
);
1571 ndr_print_string(ndr
, "name", r
->name
);
1572 ndr_print_string(ndr
, "data", r
->data
);
1576 static enum ndr_err_code
ndr_push_supplementalCredentialsSignature(struct ndr_push
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature r
)
1579 uint32_t _flags_save_ENUM
= ndr
->flags
;
1580 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1581 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1582 ndr
->flags
= _flags_save_ENUM
;
1584 return NDR_ERR_SUCCESS
;
1587 static enum ndr_err_code
ndr_pull_supplementalCredentialsSignature(struct ndr_pull
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature
*r
)
1591 uint32_t _flags_save_ENUM
= ndr
->flags
;
1592 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1593 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1595 ndr
->flags
= _flags_save_ENUM
;
1597 return NDR_ERR_SUCCESS
;
1600 _PUBLIC_
void ndr_print_supplementalCredentialsSignature(struct ndr_print
*ndr
, const char *name
, enum supplementalCredentialsSignature r
)
1602 const char *val
= NULL
;
1605 uint32_t _flags_save_ENUM
= ndr
->flags
;
1606 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1608 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE
: val
= "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1610 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1611 ndr
->flags
= _flags_save_ENUM
;
1615 static enum ndr_err_code
ndr_push_supplementalCredentialsSubBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsSubBlob
*r
)
1617 uint32_t cntr_packages_0
;
1618 if (ndr_flags
& NDR_SCALARS
) {
1619 NDR_CHECK(ndr_push_align(ndr
, 3));
1620 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_PREFIX
, 0x30, sizeof(uint16_t), CH_UTF16
));
1621 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_SIGNATURE
));
1622 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_packages
));
1623 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1624 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1626 NDR_CHECK(ndr_push_trailer_align(ndr
, 3));
1628 if (ndr_flags
& NDR_BUFFERS
) {
1630 return NDR_ERR_SUCCESS
;
1633 static enum ndr_err_code
ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsSubBlob
*r
)
1635 uint32_t cntr_packages_0
;
1636 TALLOC_CTX
*_mem_save_packages_0
;
1637 if (ndr_flags
& NDR_SCALARS
) {
1638 NDR_CHECK(ndr_pull_align(ndr
, 3));
1639 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->prefix
, 0x30, sizeof(uint16_t), CH_UTF16
));
1640 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, &r
->signature
));
1641 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_packages
));
1642 NDR_PULL_ALLOC_N(ndr
, r
->packages
, r
->num_packages
);
1643 _mem_save_packages_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1644 NDR_PULL_SET_MEM_CTX(ndr
, r
->packages
, 0);
1645 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1646 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1648 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_packages_0
, 0);
1649 NDR_CHECK(ndr_pull_trailer_align(ndr
, 3));
1651 if (ndr_flags
& NDR_BUFFERS
) {
1653 return NDR_ERR_SUCCESS
;
1656 _PUBLIC_
void ndr_print_supplementalCredentialsSubBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsSubBlob
*r
)
1658 uint32_t cntr_packages_0
;
1659 ndr_print_struct(ndr
, name
, "supplementalCredentialsSubBlob");
1661 ndr_print_string(ndr
, "prefix", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_PREFIX
:r
->prefix
);
1662 ndr_print_supplementalCredentialsSignature(ndr
, "signature", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE
:r
->signature
);
1663 ndr_print_uint16(ndr
, "num_packages", r
->num_packages
);
1664 ndr
->print(ndr
, "%s: ARRAY(%d)", "packages", (int)r
->num_packages
);
1666 for (cntr_packages_0
=0;cntr_packages_0
<r
->num_packages
;cntr_packages_0
++) {
1668 if (asprintf(&idx_0
, "[%d]", cntr_packages_0
) != -1) {
1669 ndr_print_supplementalCredentialsPackage(ndr
, "packages", &r
->packages
[cntr_packages_0
]);
1677 static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
1679 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_supplementalCredentialsSubBlob
, ic
);
1682 _PUBLIC_
enum ndr_err_code
ndr_push_supplementalCredentialsBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsBlob
*r
)
1684 if (ndr_flags
& NDR_SCALARS
) {
1685 NDR_CHECK(ndr_push_align(ndr
, 4));
1686 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1687 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1688 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1690 struct ndr_push
*_ndr_sub
;
1691 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1692 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1693 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1695 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0));
1696 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1698 if (ndr_flags
& NDR_BUFFERS
) {
1700 return NDR_ERR_SUCCESS
;
1703 _PUBLIC_
enum ndr_err_code
ndr_pull_supplementalCredentialsBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsBlob
*r
)
1705 if (ndr_flags
& NDR_SCALARS
) {
1706 NDR_CHECK(ndr_pull_align(ndr
, 4));
1707 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
1708 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1709 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
1711 struct ndr_pull
*_ndr_sub
;
1712 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_sub
, 0, r
->__ndr_size
));
1713 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1714 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_sub
, 0, r
->__ndr_size
));
1716 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown3
));
1717 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1719 if (ndr_flags
& NDR_BUFFERS
) {
1721 return NDR_ERR_SUCCESS
;
1724 _PUBLIC_
void ndr_print_supplementalCredentialsBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsBlob
*r
)
1726 ndr_print_struct(ndr
, name
, "supplementalCredentialsBlob");
1728 ndr_print_uint32(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown1
);
1729 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
);
1730 ndr_print_uint32(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown2
);
1731 ndr_print_supplementalCredentialsSubBlob(ndr
, "sub", &r
->sub
);
1732 ndr_print_uint8(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
1736 _PUBLIC_
enum ndr_err_code
ndr_push_package_PackagesBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PackagesBlob
*r
)
1738 if (ndr_flags
& NDR_SCALARS
) {
1739 NDR_CHECK(ndr_push_align(ndr
, 4));
1741 uint32_t _flags_save_string_array
= ndr
->flags
;
1742 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1743 NDR_CHECK(ndr_push_string_array(ndr
, NDR_SCALARS
, r
->names
));
1744 ndr
->flags
= _flags_save_string_array
;
1746 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1748 if (ndr_flags
& NDR_BUFFERS
) {
1750 return NDR_ERR_SUCCESS
;
1753 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PackagesBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PackagesBlob
*r
)
1755 if (ndr_flags
& NDR_SCALARS
) {
1756 NDR_CHECK(ndr_pull_align(ndr
, 4));
1758 uint32_t _flags_save_string_array
= ndr
->flags
;
1759 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1760 NDR_CHECK(ndr_pull_string_array(ndr
, NDR_SCALARS
, &r
->names
));
1761 ndr
->flags
= _flags_save_string_array
;
1763 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1765 if (ndr_flags
& NDR_BUFFERS
) {
1767 return NDR_ERR_SUCCESS
;
1770 _PUBLIC_
void ndr_print_package_PackagesBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PackagesBlob
*r
)
1772 ndr_print_struct(ndr
, name
, "package_PackagesBlob");
1774 ndr_print_string_array(ndr
, "names", r
->names
);
1778 static enum ndr_err_code
ndr_push_package_PrimaryKerberosString(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosString
*r
)
1780 if (ndr_flags
& NDR_SCALARS
) {
1781 NDR_CHECK(ndr_push_align(ndr
, 5));
1782 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1783 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1785 uint32_t _flags_save_string
= ndr
->flags
;
1786 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1787 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->string
));
1788 ndr
->flags
= _flags_save_string
;
1790 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1792 if (ndr_flags
& NDR_BUFFERS
) {
1794 uint32_t _flags_save_string
= ndr
->flags
;
1795 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1797 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->string
));
1799 struct ndr_push
*_ndr_string
;
1800 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_string
, 0, 2 * strlen_m(r
->string
)));
1801 NDR_CHECK(ndr_push_string(_ndr_string
, NDR_SCALARS
, r
->string
));
1802 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_string
, 0, 2 * strlen_m(r
->string
)));
1805 ndr
->flags
= _flags_save_string
;
1808 return NDR_ERR_SUCCESS
;
1811 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosString(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosString
*r
)
1813 uint32_t _ptr_string
;
1814 TALLOC_CTX
*_mem_save_string_0
;
1815 if (ndr_flags
& NDR_SCALARS
) {
1816 NDR_CHECK(ndr_pull_align(ndr
, 5));
1817 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
1818 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
1820 uint32_t _flags_save_string
= ndr
->flags
;
1821 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1822 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
1824 NDR_PULL_ALLOC(ndr
, r
->string
);
1825 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->string
, _ptr_string
));
1829 ndr
->flags
= _flags_save_string
;
1831 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1833 if (ndr_flags
& NDR_BUFFERS
) {
1835 uint32_t _flags_save_string
= ndr
->flags
;
1836 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1838 uint32_t _relative_save_offset
;
1839 _relative_save_offset
= ndr
->offset
;
1840 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->string
));
1841 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1842 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
1844 struct ndr_pull
*_ndr_string
;
1845 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_string
, 0, r
->size
));
1846 NDR_CHECK(ndr_pull_string(_ndr_string
, NDR_SCALARS
, &r
->string
));
1847 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_string
, 0, r
->size
));
1849 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
1850 ndr
->offset
= _relative_save_offset
;
1852 ndr
->flags
= _flags_save_string
;
1855 return NDR_ERR_SUCCESS
;
1858 _PUBLIC_
void ndr_print_package_PrimaryKerberosString(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosString
*r
)
1860 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosString");
1862 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
1863 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->size
);
1864 ndr_print_ptr(ndr
, "string", r
->string
);
1867 ndr_print_string(ndr
, "string", r
->string
);
1873 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey3
*r
)
1875 if (ndr_flags
& NDR_SCALARS
) {
1876 NDR_CHECK(ndr_push_align(ndr
, 5));
1877 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1878 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1879 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1880 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
1881 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
1883 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1884 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1885 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
1886 ndr
->flags
= _flags_save_DATA_BLOB
;
1888 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1890 if (ndr_flags
& NDR_BUFFERS
) {
1892 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1893 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1895 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->value
));
1897 struct ndr_push
*_ndr_value
;
1898 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1899 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
1900 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1903 ndr
->flags
= _flags_save_DATA_BLOB
;
1906 return NDR_ERR_SUCCESS
;
1909 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey3
*r
)
1911 uint32_t _ptr_value
;
1912 TALLOC_CTX
*_mem_save_value_0
;
1913 if (ndr_flags
& NDR_SCALARS
) {
1914 NDR_CHECK(ndr_pull_align(ndr
, 5));
1915 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
1916 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
1917 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
1918 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
1919 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
1921 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1922 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1923 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
1925 NDR_PULL_ALLOC(ndr
, r
->value
);
1926 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
1930 ndr
->flags
= _flags_save_DATA_BLOB
;
1932 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1934 if (ndr_flags
& NDR_BUFFERS
) {
1936 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1937 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1939 uint32_t _relative_save_offset
;
1940 _relative_save_offset
= ndr
->offset
;
1941 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
1942 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1943 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
1945 struct ndr_pull
*_ndr_value
;
1946 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
1947 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
1948 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
1950 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
1951 ndr
->offset
= _relative_save_offset
;
1953 ndr
->flags
= _flags_save_DATA_BLOB
;
1956 return NDR_ERR_SUCCESS
;
1959 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey3
*r
)
1961 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey3");
1963 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1964 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1965 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
1966 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
1967 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
1968 ndr_print_ptr(ndr
, "value", r
->value
);
1971 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
1977 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr3
*r
)
1979 uint32_t cntr_keys_0
;
1980 uint32_t cntr_old_keys_0
;
1981 if (ndr_flags
& NDR_SCALARS
) {
1982 NDR_CHECK(ndr_push_align(ndr
, 5));
1983 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
1984 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
1985 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
1986 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1987 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
1989 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1990 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
1992 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1993 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1994 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1995 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1996 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1997 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1999 if (ndr_flags
& NDR_BUFFERS
) {
2000 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2001 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2002 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2004 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2005 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2008 return NDR_ERR_SUCCESS
;
2011 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr3
*r
)
2013 uint32_t cntr_keys_0
;
2014 TALLOC_CTX
*_mem_save_keys_0
;
2015 uint32_t cntr_old_keys_0
;
2016 TALLOC_CTX
*_mem_save_old_keys_0
;
2017 if (ndr_flags
& NDR_SCALARS
) {
2018 NDR_CHECK(ndr_pull_align(ndr
, 5));
2019 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
2020 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
2021 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2022 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
2023 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2024 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2025 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2026 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2029 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, r
->num_old_keys
);
2030 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2031 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2032 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2033 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2035 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2036 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding1
));
2037 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding2
));
2038 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding3
));
2039 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding4
));
2040 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding5
));
2041 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2043 if (ndr_flags
& NDR_BUFFERS
) {
2044 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2045 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2046 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2047 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2048 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2050 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2051 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2052 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2053 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2054 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2056 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2058 return NDR_ERR_SUCCESS
;
2061 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr3
*r
)
2063 uint32_t cntr_keys_0
;
2064 uint32_t cntr_old_keys_0
;
2065 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr3");
2067 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2068 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2069 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2070 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2072 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2074 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2075 ndr_print_package_PrimaryKerberosKey3(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2080 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2082 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2084 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2085 ndr_print_package_PrimaryKerberosKey3(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2090 ndr_print_uint32(ndr
, "padding1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding1
);
2091 ndr_print_uint32(ndr
, "padding2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding2
);
2092 ndr_print_uint32(ndr
, "padding3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding3
);
2093 ndr_print_uint32(ndr
, "padding4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding4
);
2094 ndr_print_uint32(ndr
, "padding5", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding5
);
2098 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey4
*r
)
2100 if (ndr_flags
& NDR_SCALARS
) {
2101 NDR_CHECK(ndr_push_align(ndr
, 5));
2102 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2103 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2104 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2105 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->iteration_count
));
2106 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
2107 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
2109 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2110 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2111 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
2112 ndr
->flags
= _flags_save_DATA_BLOB
;
2114 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2116 if (ndr_flags
& NDR_BUFFERS
) {
2118 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2119 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2121 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->value
));
2123 struct ndr_push
*_ndr_value
;
2124 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2125 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
2126 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2129 ndr
->flags
= _flags_save_DATA_BLOB
;
2132 return NDR_ERR_SUCCESS
;
2135 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey4
*r
)
2137 uint32_t _ptr_value
;
2138 TALLOC_CTX
*_mem_save_value_0
;
2139 if (ndr_flags
& NDR_SCALARS
) {
2140 NDR_CHECK(ndr_pull_align(ndr
, 5));
2141 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
2142 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
2143 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
2144 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->iteration_count
));
2145 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
2146 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
2148 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2149 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2150 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
2152 NDR_PULL_ALLOC(ndr
, r
->value
);
2153 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
2157 ndr
->flags
= _flags_save_DATA_BLOB
;
2159 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2161 if (ndr_flags
& NDR_BUFFERS
) {
2163 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2164 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2166 uint32_t _relative_save_offset
;
2167 _relative_save_offset
= ndr
->offset
;
2168 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
2169 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2170 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
2172 struct ndr_pull
*_ndr_value
;
2173 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
2174 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
2175 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
2177 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
2178 ndr
->offset
= _relative_save_offset
;
2180 ndr
->flags
= _flags_save_DATA_BLOB
;
2183 return NDR_ERR_SUCCESS
;
2186 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey4
*r
)
2188 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey4");
2190 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
2191 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
2192 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
2193 ndr_print_uint32(ndr
, "iteration_count", r
->iteration_count
);
2194 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
2195 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
2196 ndr_print_ptr(ndr
, "value", r
->value
);
2199 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
2205 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr4
*r
)
2207 uint32_t cntr_keys_0
;
2208 uint32_t cntr_old_keys_0
;
2209 uint32_t cntr_older_keys_0
;
2210 if (ndr_flags
& NDR_SCALARS
) {
2211 NDR_CHECK(ndr_push_align(ndr
, 5));
2212 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
2213 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2214 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
2215 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_older_keys
));
2216 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2217 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->default_iteration_count
));
2218 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2219 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2221 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2222 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2224 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2225 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
2227 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2229 if (ndr_flags
& NDR_BUFFERS
) {
2230 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2231 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2232 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2234 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2235 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2237 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2238 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2241 return NDR_ERR_SUCCESS
;
2244 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr4
*r
)
2246 uint32_t cntr_keys_0
;
2247 TALLOC_CTX
*_mem_save_keys_0
;
2248 uint32_t cntr_service_keys_0
;
2249 TALLOC_CTX
*_mem_save_service_keys_0
;
2250 uint32_t cntr_old_keys_0
;
2251 TALLOC_CTX
*_mem_save_old_keys_0
;
2252 uint32_t cntr_older_keys_0
;
2253 TALLOC_CTX
*_mem_save_older_keys_0
;
2254 if (ndr_flags
& NDR_SCALARS
) {
2255 NDR_CHECK(ndr_pull_align(ndr
, 5));
2256 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
2257 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_service_keys
));
2258 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
2259 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_older_keys
));
2260 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2261 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->default_iteration_count
));
2262 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
2263 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2264 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2265 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2266 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2268 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2269 NDR_PULL_ALLOC_N(ndr
, r
->service_keys
, r
->num_service_keys
);
2270 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2271 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
2272 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< r
->num_service_keys
; cntr_service_keys_0
++) {
2273 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->service_keys
[cntr_service_keys_0
]));
2275 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
2276 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, r
->num_old_keys
);
2277 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2278 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2279 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2280 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2283 NDR_PULL_ALLOC_N(ndr
, r
->older_keys
, r
->num_older_keys
);
2284 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2285 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2286 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2287 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
2289 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2290 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2292 if (ndr_flags
& NDR_BUFFERS
) {
2293 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2294 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2295 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2296 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2297 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2299 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2300 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2301 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
2302 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< r
->num_service_keys
; cntr_service_keys_0
++) {
2303 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->service_keys
[cntr_service_keys_0
]));
2305 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
2306 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2307 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2308 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2309 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2311 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2312 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2313 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2314 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2315 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2317 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2319 return NDR_ERR_SUCCESS
;
2322 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr4
*r
)
2324 uint32_t cntr_keys_0
;
2325 uint32_t cntr_service_keys_0
;
2326 uint32_t cntr_old_keys_0
;
2327 uint32_t cntr_older_keys_0
;
2328 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr4");
2330 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2331 ndr_print_uint16(ndr
, "num_service_keys", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->num_service_keys
);
2332 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2333 ndr_print_uint16(ndr
, "num_older_keys", r
->num_older_keys
);
2334 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2335 ndr_print_uint32(ndr
, "default_iteration_count", r
->default_iteration_count
);
2336 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2338 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2340 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2341 ndr_print_package_PrimaryKerberosKey4(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2346 ndr
->print(ndr
, "%s: ARRAY(%d)", "service_keys", (int)r
->num_service_keys
);
2348 for (cntr_service_keys_0
=0;cntr_service_keys_0
<r
->num_service_keys
;cntr_service_keys_0
++) {
2350 if (asprintf(&idx_0
, "[%d]", cntr_service_keys_0
) != -1) {
2351 ndr_print_package_PrimaryKerberosKey4(ndr
, "service_keys", &r
->service_keys
[cntr_service_keys_0
]);
2356 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2358 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2360 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2361 ndr_print_package_PrimaryKerberosKey4(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2366 ndr
->print(ndr
, "%s: ARRAY(%d)", "older_keys", (int)r
->num_older_keys
);
2368 for (cntr_older_keys_0
=0;cntr_older_keys_0
<r
->num_older_keys
;cntr_older_keys_0
++) {
2370 if (asprintf(&idx_0
, "[%d]", cntr_older_keys_0
) != -1) {
2371 ndr_print_package_PrimaryKerberosKey4(ndr
, "older_keys", &r
->older_keys
[cntr_older_keys_0
]);
2379 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr(struct ndr_push
*ndr
, int ndr_flags
, const union package_PrimaryKerberosCtr
*r
)
2381 if (ndr_flags
& NDR_SCALARS
) {
2382 int level
= ndr_push_get_switch_value(ndr
, r
);
2383 NDR_CHECK(ndr_push_union_align(ndr
, 5));
2386 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2390 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2394 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2397 if (ndr_flags
& NDR_BUFFERS
) {
2398 int level
= ndr_push_get_switch_value(ndr
, r
);
2401 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2405 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2409 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2412 return NDR_ERR_SUCCESS
;
2415 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull
*ndr
, int ndr_flags
, union package_PrimaryKerberosCtr
*r
)
2418 level
= ndr_pull_get_switch_value(ndr
, r
);
2419 if (ndr_flags
& NDR_SCALARS
) {
2420 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
2423 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2427 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2431 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2434 if (ndr_flags
& NDR_BUFFERS
) {
2437 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2441 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2445 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2448 return NDR_ERR_SUCCESS
;
2451 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr(struct ndr_print
*ndr
, const char *name
, const union package_PrimaryKerberosCtr
*r
)
2454 level
= ndr_print_get_switch_value(ndr
, r
);
2455 ndr_print_union(ndr
, name
, level
, "package_PrimaryKerberosCtr");
2458 ndr_print_package_PrimaryKerberosCtr3(ndr
, "ctr3", &r
->ctr3
);
2462 ndr_print_package_PrimaryKerberosCtr4(ndr
, "ctr4", &r
->ctr4
);
2466 ndr_print_bad_level(ndr
, name
, level
);
2470 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryKerberosBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosBlob
*r
)
2472 if (ndr_flags
& NDR_SCALARS
) {
2473 NDR_CHECK(ndr_push_align(ndr
, 5));
2474 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->version
));
2475 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2476 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2477 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2478 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2480 if (ndr_flags
& NDR_BUFFERS
) {
2481 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2483 return NDR_ERR_SUCCESS
;
2486 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosBlob
*r
)
2488 if (ndr_flags
& NDR_SCALARS
) {
2489 NDR_CHECK(ndr_pull_align(ndr
, 5));
2490 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->version
));
2491 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
2492 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2493 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2494 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2496 if (ndr_flags
& NDR_BUFFERS
) {
2497 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2499 return NDR_ERR_SUCCESS
;
2502 _PUBLIC_
void ndr_print_package_PrimaryKerberosBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosBlob
*r
)
2504 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosBlob");
2506 ndr_print_uint16(ndr
, "version", r
->version
);
2507 ndr_print_uint16(ndr
, "flags", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->flags
);
2508 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
2509 ndr_print_package_PrimaryKerberosCtr(ndr
, "ctr", &r
->ctr
);
2513 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2515 if (ndr_flags
& NDR_SCALARS
) {
2516 NDR_CHECK(ndr_push_align(ndr
, 4));
2518 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2519 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2520 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->cleartext
));
2521 ndr
->flags
= _flags_save_DATA_BLOB
;
2523 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2525 if (ndr_flags
& NDR_BUFFERS
) {
2527 return NDR_ERR_SUCCESS
;
2530 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryCLEARTEXTBlob
*r
)
2532 if (ndr_flags
& NDR_SCALARS
) {
2533 NDR_CHECK(ndr_pull_align(ndr
, 4));
2535 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2536 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2537 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->cleartext
));
2538 ndr
->flags
= _flags_save_DATA_BLOB
;
2540 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2542 if (ndr_flags
& NDR_BUFFERS
) {
2544 return NDR_ERR_SUCCESS
;
2547 _PUBLIC_
void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2549 ndr_print_struct(ndr
, name
, "package_PrimaryCLEARTEXTBlob");
2551 ndr_print_DATA_BLOB(ndr
, "cleartext", r
->cleartext
);
2555 static enum ndr_err_code
ndr_push_package_PrimaryWDigestHash(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestHash
*r
)
2558 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2559 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2560 if (ndr_flags
& NDR_SCALARS
) {
2561 NDR_CHECK(ndr_push_align(ndr
, 1));
2562 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2563 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
2565 if (ndr_flags
& NDR_BUFFERS
) {
2567 ndr
->flags
= _flags_save_STRUCT
;
2569 return NDR_ERR_SUCCESS
;
2572 static enum ndr_err_code
ndr_pull_package_PrimaryWDigestHash(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestHash
*r
)
2575 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2576 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2577 if (ndr_flags
& NDR_SCALARS
) {
2578 NDR_CHECK(ndr_pull_align(ndr
, 1));
2579 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2580 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
2582 if (ndr_flags
& NDR_BUFFERS
) {
2584 ndr
->flags
= _flags_save_STRUCT
;
2586 return NDR_ERR_SUCCESS
;
2589 _PUBLIC_
void ndr_print_package_PrimaryWDigestHash(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestHash
*r
)
2591 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestHash");
2593 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2594 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2596 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2598 ndr
->flags
= _flags_save_STRUCT
;
2602 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryWDigestBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestBlob
*r
)
2604 uint32_t cntr_hashes_0
;
2605 if (ndr_flags
& NDR_SCALARS
) {
2606 NDR_CHECK(ndr_push_align(ndr
, 4));
2607 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0x31));
2608 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0x01));
2609 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->num_hashes
));
2610 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2611 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, 0));
2612 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2613 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2615 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2617 if (ndr_flags
& NDR_BUFFERS
) {
2619 return NDR_ERR_SUCCESS
;
2622 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestBlob
*r
)
2624 uint32_t cntr_hashes_0
;
2625 TALLOC_CTX
*_mem_save_hashes_0
;
2626 if (ndr_flags
& NDR_SCALARS
) {
2627 NDR_CHECK(ndr_pull_align(ndr
, 4));
2628 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown1
));
2629 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown2
));
2630 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->num_hashes
));
2631 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
2632 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->uuknown4
));
2633 NDR_PULL_ALLOC_N(ndr
, r
->hashes
, r
->num_hashes
);
2634 _mem_save_hashes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2635 NDR_PULL_SET_MEM_CTX(ndr
, r
->hashes
, 0);
2636 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2637 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2639 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hashes_0
, 0);
2640 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2642 if (ndr_flags
& NDR_BUFFERS
) {
2644 return NDR_ERR_SUCCESS
;
2647 _PUBLIC_
void ndr_print_package_PrimaryWDigestBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestBlob
*r
)
2649 uint32_t cntr_hashes_0
;
2650 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestBlob");
2652 ndr_print_uint16(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x31:r
->unknown1
);
2653 ndr_print_uint8(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x01:r
->unknown2
);
2654 ndr_print_uint8(ndr
, "num_hashes", r
->num_hashes
);
2655 ndr_print_uint32(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
2656 ndr_print_udlong(ndr
, "uuknown4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->uuknown4
);
2657 ndr
->print(ndr
, "%s: ARRAY(%d)", "hashes", (int)r
->num_hashes
);
2659 for (cntr_hashes_0
=0;cntr_hashes_0
<r
->num_hashes
;cntr_hashes_0
++) {
2661 if (asprintf(&idx_0
, "[%d]", cntr_hashes_0
) != -1) {
2662 ndr_print_package_PrimaryWDigestHash(ndr
, "hashes", &r
->hashes
[cntr_hashes_0
]);
2670 static enum ndr_err_code
ndr_push_AuthInfoNone(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNone
*r
)
2672 if (ndr_flags
& NDR_SCALARS
) {
2673 NDR_CHECK(ndr_push_align(ndr
, 4));
2674 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2675 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2677 if (ndr_flags
& NDR_BUFFERS
) {
2679 return NDR_ERR_SUCCESS
;
2682 static enum ndr_err_code
ndr_pull_AuthInfoNone(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNone
*r
)
2684 if (ndr_flags
& NDR_SCALARS
) {
2685 NDR_CHECK(ndr_pull_align(ndr
, 4));
2686 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2687 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2689 if (ndr_flags
& NDR_BUFFERS
) {
2691 return NDR_ERR_SUCCESS
;
2694 _PUBLIC_
void ndr_print_AuthInfoNone(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNone
*r
)
2696 ndr_print_struct(ndr
, name
, "AuthInfoNone");
2698 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->size
);
2702 static enum ndr_err_code
ndr_push_AuthInfoNT4Owf(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNT4Owf
*r
)
2704 if (ndr_flags
& NDR_SCALARS
) {
2705 NDR_CHECK(ndr_push_align(ndr
, 4));
2706 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 16));
2707 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2708 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2710 if (ndr_flags
& NDR_BUFFERS
) {
2712 return NDR_ERR_SUCCESS
;
2715 static enum ndr_err_code
ndr_pull_AuthInfoNT4Owf(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNT4Owf
*r
)
2717 if (ndr_flags
& NDR_SCALARS
) {
2718 NDR_CHECK(ndr_pull_align(ndr
, 4));
2719 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2720 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2721 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2723 if (ndr_flags
& NDR_BUFFERS
) {
2725 return NDR_ERR_SUCCESS
;
2728 _PUBLIC_
void ndr_print_AuthInfoNT4Owf(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNT4Owf
*r
)
2730 ndr_print_struct(ndr
, name
, "AuthInfoNT4Owf");
2732 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?16:r
->size
);
2733 ndr_print_samr_Password(ndr
, "password", &r
->password
);
2737 static enum ndr_err_code
ndr_push_AuthInfoClear(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoClear
*r
)
2739 if (ndr_flags
& NDR_SCALARS
) {
2740 NDR_CHECK(ndr_push_align(ndr
, 4));
2741 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2742 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2743 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2745 if (ndr_flags
& NDR_BUFFERS
) {
2747 return NDR_ERR_SUCCESS
;
2750 static enum ndr_err_code
ndr_pull_AuthInfoClear(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoClear
*r
)
2752 if (ndr_flags
& NDR_SCALARS
) {
2753 NDR_CHECK(ndr_pull_align(ndr
, 4));
2754 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2755 NDR_PULL_ALLOC_N(ndr
, r
->password
, r
->size
);
2756 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2757 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2759 if (ndr_flags
& NDR_BUFFERS
) {
2761 return NDR_ERR_SUCCESS
;
2764 _PUBLIC_
void ndr_print_AuthInfoClear(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoClear
*r
)
2766 ndr_print_struct(ndr
, name
, "AuthInfoClear");
2768 ndr_print_uint32(ndr
, "size", r
->size
);
2769 ndr_print_array_uint8(ndr
, "password", r
->password
, r
->size
);
2773 static enum ndr_err_code
ndr_push_AuthInfoVersion(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoVersion
*r
)
2775 if (ndr_flags
& NDR_SCALARS
) {
2776 NDR_CHECK(ndr_push_align(ndr
, 4));
2777 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 4));
2778 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2779 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2781 if (ndr_flags
& NDR_BUFFERS
) {
2783 return NDR_ERR_SUCCESS
;
2786 static enum ndr_err_code
ndr_pull_AuthInfoVersion(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoVersion
*r
)
2788 if (ndr_flags
& NDR_SCALARS
) {
2789 NDR_CHECK(ndr_pull_align(ndr
, 4));
2790 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2791 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2792 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2794 if (ndr_flags
& NDR_BUFFERS
) {
2796 return NDR_ERR_SUCCESS
;
2799 _PUBLIC_
void ndr_print_AuthInfoVersion(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoVersion
*r
)
2801 ndr_print_struct(ndr
, name
, "AuthInfoVersion");
2803 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?4:r
->size
);
2804 ndr_print_uint32(ndr
, "version", r
->version
);
2808 static enum ndr_err_code
ndr_push_AuthInfo(struct ndr_push
*ndr
, int ndr_flags
, const union AuthInfo
*r
)
2810 if (ndr_flags
& NDR_SCALARS
) {
2811 int level
= ndr_push_get_switch_value(ndr
, r
);
2812 NDR_CHECK(ndr_push_union_align(ndr
, 4));
2814 case TRUST_AUTH_TYPE_NONE
: {
2815 NDR_CHECK(ndr_push_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2818 case TRUST_AUTH_TYPE_NT4OWF
: {
2819 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2822 case TRUST_AUTH_TYPE_CLEAR
: {
2823 NDR_CHECK(ndr_push_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2826 case TRUST_AUTH_TYPE_VERSION
: {
2827 NDR_CHECK(ndr_push_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2831 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2834 if (ndr_flags
& NDR_BUFFERS
) {
2835 int level
= ndr_push_get_switch_value(ndr
, r
);
2837 case TRUST_AUTH_TYPE_NONE
:
2840 case TRUST_AUTH_TYPE_NT4OWF
:
2843 case TRUST_AUTH_TYPE_CLEAR
:
2846 case TRUST_AUTH_TYPE_VERSION
:
2850 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2853 return NDR_ERR_SUCCESS
;
2856 static enum ndr_err_code
ndr_pull_AuthInfo(struct ndr_pull
*ndr
, int ndr_flags
, union AuthInfo
*r
)
2859 level
= ndr_pull_get_switch_value(ndr
, r
);
2860 if (ndr_flags
& NDR_SCALARS
) {
2861 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
2863 case TRUST_AUTH_TYPE_NONE
: {
2864 NDR_CHECK(ndr_pull_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2867 case TRUST_AUTH_TYPE_NT4OWF
: {
2868 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2871 case TRUST_AUTH_TYPE_CLEAR
: {
2872 NDR_CHECK(ndr_pull_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2875 case TRUST_AUTH_TYPE_VERSION
: {
2876 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2880 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2883 if (ndr_flags
& NDR_BUFFERS
) {
2885 case TRUST_AUTH_TYPE_NONE
:
2888 case TRUST_AUTH_TYPE_NT4OWF
:
2891 case TRUST_AUTH_TYPE_CLEAR
:
2894 case TRUST_AUTH_TYPE_VERSION
:
2898 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2901 return NDR_ERR_SUCCESS
;
2904 _PUBLIC_
void ndr_print_AuthInfo(struct ndr_print
*ndr
, const char *name
, const union AuthInfo
*r
)
2907 level
= ndr_print_get_switch_value(ndr
, r
);
2908 ndr_print_union(ndr
, name
, level
, "AuthInfo");
2910 case TRUST_AUTH_TYPE_NONE
:
2911 ndr_print_AuthInfoNone(ndr
, "none", &r
->none
);
2914 case TRUST_AUTH_TYPE_NT4OWF
:
2915 ndr_print_AuthInfoNT4Owf(ndr
, "nt4owf", &r
->nt4owf
);
2918 case TRUST_AUTH_TYPE_CLEAR
:
2919 ndr_print_AuthInfoClear(ndr
, "clear", &r
->clear
);
2922 case TRUST_AUTH_TYPE_VERSION
:
2923 ndr_print_AuthInfoVersion(ndr
, "version", &r
->version
);
2927 ndr_print_bad_level(ndr
, name
, level
);
2931 _PUBLIC_
enum ndr_err_code
ndr_push_AuthenticationInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthenticationInformation
*r
)
2933 if (ndr_flags
& NDR_SCALARS
) {
2934 NDR_CHECK(ndr_push_align(ndr
, 4));
2935 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->LastUpdateTime
));
2936 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr
, NDR_SCALARS
, r
->AuthType
));
2937 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
2938 NDR_CHECK(ndr_push_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
2940 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2941 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
2942 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->_pad
));
2943 ndr
->flags
= _flags_save_DATA_BLOB
;
2945 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2947 if (ndr_flags
& NDR_BUFFERS
) {
2949 return NDR_ERR_SUCCESS
;
2952 _PUBLIC_
enum ndr_err_code
ndr_pull_AuthenticationInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthenticationInformation
*r
)
2954 if (ndr_flags
& NDR_SCALARS
) {
2955 NDR_CHECK(ndr_pull_align(ndr
, 4));
2956 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->LastUpdateTime
));
2957 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr
, NDR_SCALARS
, &r
->AuthType
));
2958 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
2959 NDR_CHECK(ndr_pull_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
2961 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2962 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
2963 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->_pad
));
2964 ndr
->flags
= _flags_save_DATA_BLOB
;
2966 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2968 if (ndr_flags
& NDR_BUFFERS
) {
2970 return NDR_ERR_SUCCESS
;
2973 _PUBLIC_
void ndr_print_AuthenticationInformation(struct ndr_print
*ndr
, const char *name
, const struct AuthenticationInformation
*r
)
2975 ndr_print_struct(ndr
, name
, "AuthenticationInformation");
2977 ndr_print_NTTIME(ndr
, "LastUpdateTime", r
->LastUpdateTime
);
2978 ndr_print_lsa_TrustAuthType(ndr
, "AuthType", r
->AuthType
);
2979 ndr_print_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
);
2980 ndr_print_AuthInfo(ndr
, "AuthInfo", &r
->AuthInfo
);
2981 ndr_print_DATA_BLOB(ndr
, "_pad", r
->_pad
);
2985 _PUBLIC_
size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2987 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustAuthInOutBlob
, ic
);
2990 _PUBLIC_
enum ndr_err_code
ndr_push_trustCurrentPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustCurrentPasswords
*r
)
2992 uint32_t cntr_current_0
;
2993 if (ndr_flags
& NDR_SCALARS
) {
2994 NDR_CHECK(ndr_push_align(ndr
, 5));
2995 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2996 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
2997 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->current
[cntr_current_0
]));
2999 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3001 if (ndr_flags
& NDR_BUFFERS
) {
3002 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3003 if (r
->current
[cntr_current_0
]) {
3004 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->current
[cntr_current_0
]));
3005 NDR_CHECK(ndr_push_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
3009 return NDR_ERR_SUCCESS
;
3012 _PUBLIC_
enum ndr_err_code
ndr_pull_trustCurrentPasswords(struct ndr_pull
*ndr
, int ndr_flags
, struct trustCurrentPasswords
*r
)
3014 uint32_t _ptr_current
;
3015 uint32_t cntr_current_0
;
3016 TALLOC_CTX
*_mem_save_current_0
;
3017 TALLOC_CTX
*_mem_save_current_1
;
3018 if (ndr_flags
& NDR_SCALARS
) {
3019 NDR_CHECK(ndr_pull_align(ndr
, 5));
3020 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3021 NDR_PULL_ALLOC_N(ndr
, r
->current
, r
->count
);
3022 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3023 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
3024 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3025 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_current
));
3027 NDR_PULL_ALLOC(ndr
, r
->current
[cntr_current_0
]);
3028 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->current
[cntr_current_0
], _ptr_current
));
3030 r
->current
[cntr_current_0
] = NULL
;
3033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
3034 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3036 if (ndr_flags
& NDR_BUFFERS
) {
3037 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3038 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
3039 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3040 if (r
->current
[cntr_current_0
]) {
3041 uint32_t _relative_save_offset
;
3042 _relative_save_offset
= ndr
->offset
;
3043 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->current
[cntr_current_0
]));
3044 _mem_save_current_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3045 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
[cntr_current_0
], 0);
3046 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
3047 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_1
, 0);
3048 ndr
->offset
= _relative_save_offset
;
3051 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
3053 return NDR_ERR_SUCCESS
;
3056 _PUBLIC_
void ndr_print_trustCurrentPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustCurrentPasswords
*r
)
3058 uint32_t cntr_current_0
;
3059 ndr_print_struct(ndr
, name
, "trustCurrentPasswords");
3061 ndr_print_uint32(ndr
, "count", r
->count
);
3062 ndr
->print(ndr
, "%s: ARRAY(%d)", "current", (int)r
->count
);
3064 for (cntr_current_0
=0;cntr_current_0
<r
->count
;cntr_current_0
++) {
3066 if (asprintf(&idx_0
, "[%d]", cntr_current_0
) != -1) {
3067 ndr_print_ptr(ndr
, "current", r
->current
[cntr_current_0
]);
3069 if (r
->current
[cntr_current_0
]) {
3070 ndr_print_AuthenticationInformation(ndr
, "current", r
->current
[cntr_current_0
]);
3080 _PUBLIC_
size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3082 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustCurrentPasswords
, ic
);
3085 _PUBLIC_
enum ndr_err_code
ndr_push_trustDomainPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustDomainPasswords
*r
)
3087 if (ndr_flags
& NDR_SCALARS
) {
3088 NDR_CHECK(ndr_push_align(ndr
, 5));
3089 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->confounder
, 512));
3091 struct ndr_push
*_ndr_outgoing
;
3092 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3093 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing
, NDR_SCALARS
|NDR_BUFFERS
, &r
->outgoing
));
3094 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3097 struct ndr_push
*_ndr_incoming
;
3098 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3099 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming
, NDR_SCALARS
|NDR_BUFFERS
, &r
->incoming
));
3100 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3102 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3103 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3104 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3106 if (ndr_flags
& NDR_BUFFERS
) {
3108 return NDR_ERR_SUCCESS
;
3111 _PUBLIC_
void ndr_print_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustDomainPasswords
*r
)
3113 ndr_print_struct(ndr
, name
, "trustDomainPasswords");
3115 ndr_print_array_uint8(ndr
, "confounder", r
->confounder
, 512);
3116 ndr_print_trustCurrentPasswords(ndr
, "outgoing", &r
->outgoing
);
3117 ndr_print_trustCurrentPasswords(ndr
, "incoming", &r
->incoming
);
3118 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
);
3119 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
);
3123 _PUBLIC_
enum ndr_err_code
ndr_push_DsCompressedChunk(struct ndr_push
*ndr
, int ndr_flags
, const struct DsCompressedChunk
*r
)
3125 if (ndr_flags
& NDR_SCALARS
) {
3126 NDR_CHECK(ndr_push_align(ndr
, 4));
3127 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->marker
));
3128 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->data
));
3129 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
3131 if (ndr_flags
& NDR_BUFFERS
) {
3133 return NDR_ERR_SUCCESS
;
3136 _PUBLIC_
enum ndr_err_code
ndr_pull_DsCompressedChunk(struct ndr_pull
*ndr
, int ndr_flags
, struct DsCompressedChunk
*r
)
3138 if (ndr_flags
& NDR_SCALARS
) {
3139 NDR_CHECK(ndr_pull_align(ndr
, 4));
3140 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->marker
));
3141 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->data
));
3142 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
3144 if (ndr_flags
& NDR_BUFFERS
) {
3146 return NDR_ERR_SUCCESS
;
3149 _PUBLIC_
void ndr_print_DsCompressedChunk(struct ndr_print
*ndr
, const char *name
, const struct DsCompressedChunk
*r
)
3151 ndr_print_struct(ndr
, name
, "DsCompressedChunk");
3153 ndr_print_uint32(ndr
, "marker", r
->marker
);
3154 ndr_print_DATA_BLOB(ndr
, "data", r
->data
);
3158 static enum ndr_err_code
ndr_push_ExtendedErrorAString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorAString
*r
)
3160 if (ndr_flags
& NDR_SCALARS
) {
3161 NDR_CHECK(ndr_push_align(ndr
, 5));
3162 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
3163 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
3164 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3166 if (ndr_flags
& NDR_BUFFERS
) {
3168 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->__size
));
3169 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint8_t), CH_DOS
));
3172 return NDR_ERR_SUCCESS
;
3175 static enum ndr_err_code
ndr_pull_ExtendedErrorAString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorAString
*r
)
3177 uint32_t _ptr_string
;
3178 TALLOC_CTX
*_mem_save_string_0
;
3179 if (ndr_flags
& NDR_SCALARS
) {
3180 NDR_CHECK(ndr_pull_align(ndr
, 5));
3181 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
3182 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
3184 NDR_PULL_ALLOC(ndr
, r
->string
);
3188 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3190 if (ndr_flags
& NDR_BUFFERS
) {
3192 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3193 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
3194 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
3195 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_size(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
3196 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
3199 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
3202 return NDR_ERR_SUCCESS
;
3205 _PUBLIC_
void ndr_print_ExtendedErrorAString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorAString
*r
)
3207 ndr_print_struct(ndr
, name
, "ExtendedErrorAString");
3209 ndr_print_uint16(ndr
, "__size", r
->__size
);
3210 ndr_print_ptr(ndr
, "string", r
->string
);
3213 ndr_print_string(ndr
, "string", r
->string
);
3219 static enum ndr_err_code
ndr_push_ExtendedErrorUString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorUString
*r
)
3221 if (ndr_flags
& NDR_SCALARS
) {
3222 NDR_CHECK(ndr_push_align(ndr
, 5));
3223 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
3224 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
3225 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3227 if (ndr_flags
& NDR_BUFFERS
) {
3229 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->__size
));
3230 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint16_t), CH_UTF16
));
3233 return NDR_ERR_SUCCESS
;
3236 static enum ndr_err_code
ndr_pull_ExtendedErrorUString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorUString
*r
)
3238 uint32_t _ptr_string
;
3239 TALLOC_CTX
*_mem_save_string_0
;
3240 if (ndr_flags
& NDR_SCALARS
) {
3241 NDR_CHECK(ndr_pull_align(ndr
, 5));
3242 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
3243 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
3245 NDR_PULL_ALLOC(ndr
, r
->string
);
3249 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3251 if (ndr_flags
& NDR_BUFFERS
) {
3253 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3254 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
3255 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
3256 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_size(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
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_ExtendedErrorUString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorUString
*r
)
3268 ndr_print_struct(ndr
, name
, "ExtendedErrorUString");
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_ExtendedErrorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorBlob
*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
->length
));
3285 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
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
->length
));
3291 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
3294 return NDR_ERR_SUCCESS
;
3297 static enum ndr_err_code
ndr_pull_ExtendedErrorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorBlob
*r
)
3300 TALLOC_CTX
*_mem_save_data_0
;
3301 if (ndr_flags
& NDR_SCALARS
) {
3302 NDR_CHECK(ndr_pull_align(ndr
, 5));
3303 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
3304 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
3306 NDR_PULL_ALLOC(ndr
, r
->data
);
3310 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3312 if (ndr_flags
& NDR_BUFFERS
) {
3314 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3315 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
3316 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
3317 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
3318 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
3319 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
3322 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
3325 return NDR_ERR_SUCCESS
;
3328 _PUBLIC_
void ndr_print_ExtendedErrorBlob(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorBlob
*r
)
3330 ndr_print_struct(ndr
, name
, "ExtendedErrorBlob");
3332 ndr_print_uint16(ndr
, "length", r
->length
);
3333 ndr_print_ptr(ndr
, "data", r
->data
);
3336 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
3342 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent r
)
3344 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
3345 return NDR_ERR_SUCCESS
;
3348 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent
*r
)
3351 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
3353 return NDR_ERR_SUCCESS
;
3356 _PUBLIC_
void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorComputerNamePresent r
)
3358 const char *val
= NULL
;
3361 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3362 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3364 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3367 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNameU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorComputerNameU
*r
)
3369 if (ndr_flags
& NDR_SCALARS
) {
3370 int level
= ndr_push_get_switch_value(ndr
, r
);
3371 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, level
));
3372 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3374 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3375 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3378 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3382 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3385 if (ndr_flags
& NDR_BUFFERS
) {
3386 int level
= ndr_push_get_switch_value(ndr
, r
);
3388 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3389 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3392 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3396 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3399 return NDR_ERR_SUCCESS
;
3402 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorComputerNameU
*r
)
3406 level
= ndr_pull_get_switch_value(ndr
, r
);
3407 if (ndr_flags
& NDR_SCALARS
) {
3408 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
3409 if (_level
!= level
) {
3410 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3412 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3414 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3415 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3418 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3422 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3425 if (ndr_flags
& NDR_BUFFERS
) {
3427 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3428 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3431 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3435 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3438 return NDR_ERR_SUCCESS
;
3441 _PUBLIC_
void ndr_print_ExtendedErrorComputerNameU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorComputerNameU
*r
)
3444 level
= ndr_print_get_switch_value(ndr
, r
);
3445 ndr_print_union(ndr
, name
, level
, "ExtendedErrorComputerNameU");
3447 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3448 ndr_print_ExtendedErrorUString(ndr
, "name", &r
->name
);
3451 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3455 ndr_print_bad_level(ndr
, name
, level
);
3459 static enum ndr_err_code
ndr_push_ExtendedErrorComputerName(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorComputerName
*r
)
3461 if (ndr_flags
& NDR_SCALARS
) {
3462 NDR_CHECK(ndr_push_align(ndr
, 5));
3463 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, r
->present
));
3464 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->n
, r
->present
));
3465 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3466 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3468 if (ndr_flags
& NDR_BUFFERS
) {
3469 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3471 return NDR_ERR_SUCCESS
;
3474 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerName(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorComputerName
*r
)
3476 if (ndr_flags
& NDR_SCALARS
) {
3477 NDR_CHECK(ndr_pull_align(ndr
, 5));
3478 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, &r
->present
));
3479 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->n
, r
->present
));
3480 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3481 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3483 if (ndr_flags
& NDR_BUFFERS
) {
3484 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3486 return NDR_ERR_SUCCESS
;
3489 _PUBLIC_
void ndr_print_ExtendedErrorComputerName(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorComputerName
*r
)
3491 ndr_print_struct(ndr
, name
, "ExtendedErrorComputerName");
3493 ndr_print_ExtendedErrorComputerNamePresent(ndr
, "present", r
->present
);
3494 ndr_print_set_switch_value(ndr
, &r
->n
, r
->present
);
3495 ndr_print_ExtendedErrorComputerNameU(ndr
, "n", &r
->n
);
3499 static enum ndr_err_code
ndr_push_ExtendedErrorParamType(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorParamType r
)
3501 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
3502 return NDR_ERR_SUCCESS
;
3505 static enum ndr_err_code
ndr_pull_ExtendedErrorParamType(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorParamType
*r
)
3508 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
3510 return NDR_ERR_SUCCESS
;
3513 _PUBLIC_
void ndr_print_ExtendedErrorParamType(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorParamType r
)
3515 const char *val
= NULL
;
3518 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3519 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3520 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3521 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3522 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3523 case EXTENDED_ERROR_PARAM_TYPE_NONE
: val
= "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3524 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: val
= "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3526 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3529 static enum ndr_err_code
ndr_push_ExtendedErrorParamU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorParamU
*r
)
3531 if (ndr_flags
& NDR_SCALARS
) {
3532 int level
= ndr_push_get_switch_value(ndr
, r
);
3533 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, level
));
3534 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3536 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3537 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3540 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3541 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3544 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3545 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->uint32
));
3548 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3549 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->uint16
));
3552 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3553 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->uint64
));
3556 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3559 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3560 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3564 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3567 if (ndr_flags
& NDR_BUFFERS
) {
3568 int level
= ndr_push_get_switch_value(ndr
, r
);
3570 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3571 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3574 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3575 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3578 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3581 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3584 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3587 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3590 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3591 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3595 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3598 return NDR_ERR_SUCCESS
;
3601 static enum ndr_err_code
ndr_pull_ExtendedErrorParamU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorParamU
*r
)
3605 level
= ndr_pull_get_switch_value(ndr
, r
);
3606 if (ndr_flags
& NDR_SCALARS
) {
3607 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
3608 if (_level
!= level
) {
3609 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3611 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3613 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3614 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3617 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3618 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3621 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3622 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->uint32
));
3625 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3626 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->uint16
));
3629 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3630 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->uint64
));
3633 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3636 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3637 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3641 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3644 if (ndr_flags
& NDR_BUFFERS
) {
3646 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3647 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3650 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3651 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3654 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3657 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3660 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3663 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3666 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3667 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3671 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3674 return NDR_ERR_SUCCESS
;
3677 _PUBLIC_
void ndr_print_ExtendedErrorParamU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorParamU
*r
)
3680 level
= ndr_print_get_switch_value(ndr
, r
);
3681 ndr_print_union(ndr
, name
, level
, "ExtendedErrorParamU");
3683 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3684 ndr_print_ExtendedErrorAString(ndr
, "a_string", &r
->a_string
);
3687 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3688 ndr_print_ExtendedErrorUString(ndr
, "u_string", &r
->u_string
);
3691 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3692 ndr_print_uint32(ndr
, "uint32", r
->uint32
);
3695 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3696 ndr_print_uint16(ndr
, "uint16", r
->uint16
);
3699 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3700 ndr_print_hyper(ndr
, "uint64", r
->uint64
);
3703 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3706 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3707 ndr_print_ExtendedErrorBlob(ndr
, "blob", &r
->blob
);
3711 ndr_print_bad_level(ndr
, name
, level
);
3715 static enum ndr_err_code
ndr_push_ExtendedErrorParam(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorParam
*r
)
3717 if (ndr_flags
& NDR_SCALARS
) {
3718 NDR_CHECK(ndr_push_align(ndr
, 8));
3719 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, r
->type
));
3720 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->p
, r
->type
));
3721 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3722 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
3724 if (ndr_flags
& NDR_BUFFERS
) {
3725 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3727 return NDR_ERR_SUCCESS
;
3730 static enum ndr_err_code
ndr_pull_ExtendedErrorParam(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorParam
*r
)
3732 if (ndr_flags
& NDR_SCALARS
) {
3733 NDR_CHECK(ndr_pull_align(ndr
, 8));
3734 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr
, NDR_SCALARS
, &r
->type
));
3735 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->p
, r
->type
));
3736 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3737 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3739 if (ndr_flags
& NDR_BUFFERS
) {
3740 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3742 return NDR_ERR_SUCCESS
;
3745 _PUBLIC_
void ndr_print_ExtendedErrorParam(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorParam
*r
)
3747 ndr_print_struct(ndr
, name
, "ExtendedErrorParam");
3749 ndr_print_ExtendedErrorParamType(ndr
, "type", r
->type
);
3750 ndr_print_set_switch_value(ndr
, &r
->p
, r
->type
);
3751 ndr_print_ExtendedErrorParamU(ndr
, "p", &r
->p
);
3755 _PUBLIC_
enum ndr_err_code
ndr_push_ExtendedErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfo
*r
)
3757 uint32_t cntr_params_0
;
3758 if (ndr_flags
& NDR_SCALARS
) {
3759 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_params
));
3760 NDR_CHECK(ndr_push_align(ndr
, 8));
3761 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
3762 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3763 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->pid
));
3764 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
3765 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->generating_component
));
3766 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
3767 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->detection_location
));
3768 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->flags
));
3769 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_params
));
3770 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3771 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3773 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
3775 if (ndr_flags
& NDR_BUFFERS
) {
3777 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3779 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3780 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3781 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3784 return NDR_ERR_SUCCESS
;
3787 _PUBLIC_
enum ndr_err_code
ndr_pull_ExtendedErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfo
*r
)
3790 TALLOC_CTX
*_mem_save_next_0
;
3791 uint32_t cntr_params_0
;
3792 TALLOC_CTX
*_mem_save_params_0
;
3793 if (ndr_flags
& NDR_SCALARS
) {
3794 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->params
));
3795 NDR_CHECK(ndr_pull_align(ndr
, 8));
3796 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
3798 NDR_PULL_ALLOC(ndr
, r
->next
);
3802 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3803 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->pid
));
3804 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
3805 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->generating_component
));
3806 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
3807 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->detection_location
));
3808 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
3809 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_params
));
3810 NDR_PULL_ALLOC_N(ndr
, r
->params
, ndr_get_array_size(ndr
, &r
->params
));
3811 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3812 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3813 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3814 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3816 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3818 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->params
, r
->num_params
));
3820 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3822 if (ndr_flags
& NDR_BUFFERS
) {
3824 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3825 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
3826 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3827 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
3829 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3830 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3831 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3832 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3833 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3835 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3837 return NDR_ERR_SUCCESS
;
3840 _PUBLIC_
void ndr_print_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfo
*r
)
3842 uint32_t cntr_params_0
;
3843 ndr_print_struct(ndr
, name
, "ExtendedErrorInfo");
3845 ndr_print_ptr(ndr
, "next", r
->next
);
3848 ndr_print_ExtendedErrorInfo(ndr
, "next", r
->next
);
3851 ndr_print_ExtendedErrorComputerName(ndr
, "computer_name", &r
->computer_name
);
3852 ndr_print_hyper(ndr
, "pid", r
->pid
);
3853 ndr_print_NTTIME(ndr
, "time", r
->time
);
3854 ndr_print_uint32(ndr
, "generating_component", r
->generating_component
);
3855 ndr_print_WERROR(ndr
, "status", r
->status
);
3856 ndr_print_uint16(ndr
, "detection_location", r
->detection_location
);
3857 ndr_print_uint16(ndr
, "flags", r
->flags
);
3858 ndr_print_uint16(ndr
, "num_params", r
->num_params
);
3859 ndr
->print(ndr
, "%s: ARRAY(%d)", "params", (int)r
->num_params
);
3861 for (cntr_params_0
=0;cntr_params_0
<r
->num_params
;cntr_params_0
++) {
3863 if (asprintf(&idx_0
, "[%d]", cntr_params_0
) != -1) {
3864 ndr_print_ExtendedErrorParam(ndr
, "params", &r
->params
[cntr_params_0
]);
3872 static enum ndr_err_code
ndr_push_ExtendedErrorInfoPtr(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfoPtr
*r
)
3874 if (ndr_flags
& NDR_SCALARS
) {
3875 NDR_CHECK(ndr_push_align(ndr
, 5));
3876 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
3877 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3879 if (ndr_flags
& NDR_BUFFERS
) {
3881 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
3884 return NDR_ERR_SUCCESS
;
3887 static enum ndr_err_code
ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfoPtr
*r
)
3890 TALLOC_CTX
*_mem_save_info_0
;
3891 if (ndr_flags
& NDR_SCALARS
) {
3892 NDR_CHECK(ndr_pull_align(ndr
, 5));
3893 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
3895 NDR_PULL_ALLOC(ndr
, r
->info
);
3899 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3901 if (ndr_flags
& NDR_BUFFERS
) {
3903 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3904 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
3905 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
3906 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
3909 return NDR_ERR_SUCCESS
;
3912 _PUBLIC_
void ndr_print_ExtendedErrorInfoPtr(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfoPtr
*r
)
3914 ndr_print_struct(ndr
, name
, "ExtendedErrorInfoPtr");
3916 ndr_print_ptr(ndr
, "info", r
->info
);
3919 ndr_print_ExtendedErrorInfo(ndr
, "info", r
->info
);
3925 static enum ndr_err_code
ndr_push_decode_replPropertyMetaData(struct ndr_push
*ndr
, int flags
, const struct decode_replPropertyMetaData
*r
)
3927 if (flags
& NDR_IN
) {
3928 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3930 if (flags
& NDR_OUT
) {
3932 return NDR_ERR_SUCCESS
;
3935 static enum ndr_err_code
ndr_pull_decode_replPropertyMetaData(struct ndr_pull
*ndr
, int flags
, struct decode_replPropertyMetaData
*r
)
3937 if (flags
& NDR_IN
) {
3938 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3940 if (flags
& NDR_OUT
) {
3942 return NDR_ERR_SUCCESS
;
3945 _PUBLIC_
void ndr_print_decode_replPropertyMetaData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replPropertyMetaData
*r
)
3947 ndr_print_struct(ndr
, name
, "decode_replPropertyMetaData");
3949 if (flags
& NDR_SET_VALUES
) {
3950 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3952 if (flags
& NDR_IN
) {
3953 ndr_print_struct(ndr
, "in", "decode_replPropertyMetaData");
3955 ndr_print_replPropertyMetaDataBlob(ndr
, "blob", &r
->in
.blob
);
3958 if (flags
& NDR_OUT
) {
3959 ndr_print_struct(ndr
, "out", "decode_replPropertyMetaData");
3966 static enum ndr_err_code
ndr_push_decode_replUpToDateVector(struct ndr_push
*ndr
, int flags
, const struct decode_replUpToDateVector
*r
)
3968 if (flags
& NDR_IN
) {
3969 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3971 if (flags
& NDR_OUT
) {
3973 return NDR_ERR_SUCCESS
;
3976 static enum ndr_err_code
ndr_pull_decode_replUpToDateVector(struct ndr_pull
*ndr
, int flags
, struct decode_replUpToDateVector
*r
)
3978 if (flags
& NDR_IN
) {
3979 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3981 if (flags
& NDR_OUT
) {
3983 return NDR_ERR_SUCCESS
;
3986 _PUBLIC_
void ndr_print_decode_replUpToDateVector(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replUpToDateVector
*r
)
3988 ndr_print_struct(ndr
, name
, "decode_replUpToDateVector");
3990 if (flags
& NDR_SET_VALUES
) {
3991 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3993 if (flags
& NDR_IN
) {
3994 ndr_print_struct(ndr
, "in", "decode_replUpToDateVector");
3996 ndr_print_replUpToDateVectorBlob(ndr
, "blob", &r
->in
.blob
);
3999 if (flags
& NDR_OUT
) {
4000 ndr_print_struct(ndr
, "out", "decode_replUpToDateVector");
4007 static enum ndr_err_code
ndr_push_decode_repsFromTo(struct ndr_push
*ndr
, int flags
, const struct decode_repsFromTo
*r
)
4009 if (flags
& NDR_IN
) {
4010 NDR_CHECK(ndr_push_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4012 if (flags
& NDR_OUT
) {
4014 return NDR_ERR_SUCCESS
;
4017 static enum ndr_err_code
ndr_pull_decode_repsFromTo(struct ndr_pull
*ndr
, int flags
, struct decode_repsFromTo
*r
)
4019 if (flags
& NDR_IN
) {
4020 NDR_CHECK(ndr_pull_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4022 if (flags
& NDR_OUT
) {
4024 return NDR_ERR_SUCCESS
;
4027 _PUBLIC_
void ndr_print_decode_repsFromTo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_repsFromTo
*r
)
4029 ndr_print_struct(ndr
, name
, "decode_repsFromTo");
4031 if (flags
& NDR_SET_VALUES
) {
4032 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4034 if (flags
& NDR_IN
) {
4035 ndr_print_struct(ndr
, "in", "decode_repsFromTo");
4037 ndr_print_repsFromToBlob(ndr
, "blob", &r
->in
.blob
);
4040 if (flags
& NDR_OUT
) {
4041 ndr_print_struct(ndr
, "out", "decode_repsFromTo");
4048 static enum ndr_err_code
ndr_push_decode_partialAttributeSet(struct ndr_push
*ndr
, int flags
, const struct decode_partialAttributeSet
*r
)
4050 if (flags
& NDR_IN
) {
4051 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4053 if (flags
& NDR_OUT
) {
4055 return NDR_ERR_SUCCESS
;
4058 static enum ndr_err_code
ndr_pull_decode_partialAttributeSet(struct ndr_pull
*ndr
, int flags
, struct decode_partialAttributeSet
*r
)
4060 if (flags
& NDR_IN
) {
4061 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4063 if (flags
& NDR_OUT
) {
4065 return NDR_ERR_SUCCESS
;
4068 _PUBLIC_
void ndr_print_decode_partialAttributeSet(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_partialAttributeSet
*r
)
4070 ndr_print_struct(ndr
, name
, "decode_partialAttributeSet");
4072 if (flags
& NDR_SET_VALUES
) {
4073 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4075 if (flags
& NDR_IN
) {
4076 ndr_print_struct(ndr
, "in", "decode_partialAttributeSet");
4078 ndr_print_partialAttributeSetBlob(ndr
, "blob", &r
->in
.blob
);
4081 if (flags
& NDR_OUT
) {
4082 ndr_print_struct(ndr
, "out", "decode_partialAttributeSet");
4089 static enum ndr_err_code
ndr_push_decode_prefixMap(struct ndr_push
*ndr
, int flags
, const struct decode_prefixMap
*r
)
4091 if (flags
& NDR_IN
) {
4092 NDR_CHECK(ndr_push_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4094 if (flags
& NDR_OUT
) {
4096 return NDR_ERR_SUCCESS
;
4099 static enum ndr_err_code
ndr_pull_decode_prefixMap(struct ndr_pull
*ndr
, int flags
, struct decode_prefixMap
*r
)
4101 if (flags
& NDR_IN
) {
4102 NDR_CHECK(ndr_pull_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4104 if (flags
& NDR_OUT
) {
4106 return NDR_ERR_SUCCESS
;
4109 _PUBLIC_
void ndr_print_decode_prefixMap(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_prefixMap
*r
)
4111 ndr_print_struct(ndr
, name
, "decode_prefixMap");
4113 if (flags
& NDR_SET_VALUES
) {
4114 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4116 if (flags
& NDR_IN
) {
4117 ndr_print_struct(ndr
, "in", "decode_prefixMap");
4119 ndr_print_prefixMapBlob(ndr
, "blob", &r
->in
.blob
);
4122 if (flags
& NDR_OUT
) {
4123 ndr_print_struct(ndr
, "out", "decode_prefixMap");
4130 static enum ndr_err_code
ndr_push_decode_ldapControlDirSync(struct ndr_push
*ndr
, int flags
, const struct decode_ldapControlDirSync
*r
)
4132 if (flags
& NDR_IN
) {
4133 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
4135 if (flags
& NDR_OUT
) {
4137 return NDR_ERR_SUCCESS
;
4140 static enum ndr_err_code
ndr_pull_decode_ldapControlDirSync(struct ndr_pull
*ndr
, int flags
, struct decode_ldapControlDirSync
*r
)
4142 if (flags
& NDR_IN
) {
4143 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
4145 if (flags
& NDR_OUT
) {
4147 return NDR_ERR_SUCCESS
;
4150 _PUBLIC_
void ndr_print_decode_ldapControlDirSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ldapControlDirSync
*r
)
4152 ndr_print_struct(ndr
, name
, "decode_ldapControlDirSync");
4154 if (flags
& NDR_SET_VALUES
) {
4155 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4157 if (flags
& NDR_IN
) {
4158 ndr_print_struct(ndr
, "in", "decode_ldapControlDirSync");
4160 ndr_print_ldapControlDirSyncCookie(ndr
, "cookie", &r
->in
.cookie
);
4163 if (flags
& NDR_OUT
) {
4164 ndr_print_struct(ndr
, "out", "decode_ldapControlDirSync");
4171 static enum ndr_err_code
ndr_push_decode_supplementalCredentials(struct ndr_push
*ndr
, int flags
, const struct decode_supplementalCredentials
*r
)
4173 if (flags
& NDR_IN
) {
4174 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4176 if (flags
& NDR_OUT
) {
4178 return NDR_ERR_SUCCESS
;
4181 static enum ndr_err_code
ndr_pull_decode_supplementalCredentials(struct ndr_pull
*ndr
, int flags
, struct decode_supplementalCredentials
*r
)
4183 if (flags
& NDR_IN
) {
4184 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4186 if (flags
& NDR_OUT
) {
4188 return NDR_ERR_SUCCESS
;
4191 _PUBLIC_
void ndr_print_decode_supplementalCredentials(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_supplementalCredentials
*r
)
4193 ndr_print_struct(ndr
, name
, "decode_supplementalCredentials");
4195 if (flags
& NDR_SET_VALUES
) {
4196 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4198 if (flags
& NDR_IN
) {
4199 ndr_print_struct(ndr
, "in", "decode_supplementalCredentials");
4201 ndr_print_supplementalCredentialsBlob(ndr
, "blob", &r
->in
.blob
);
4204 if (flags
& NDR_OUT
) {
4205 ndr_print_struct(ndr
, "out", "decode_supplementalCredentials");
4212 static enum ndr_err_code
ndr_push_decode_Packages(struct ndr_push
*ndr
, int flags
, const struct decode_Packages
*r
)
4214 if (flags
& NDR_IN
) {
4215 NDR_CHECK(ndr_push_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4217 if (flags
& NDR_OUT
) {
4219 return NDR_ERR_SUCCESS
;
4222 static enum ndr_err_code
ndr_pull_decode_Packages(struct ndr_pull
*ndr
, int flags
, struct decode_Packages
*r
)
4224 if (flags
& NDR_IN
) {
4225 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4227 if (flags
& NDR_OUT
) {
4229 return NDR_ERR_SUCCESS
;
4232 _PUBLIC_
void ndr_print_decode_Packages(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_Packages
*r
)
4234 ndr_print_struct(ndr
, name
, "decode_Packages");
4236 if (flags
& NDR_SET_VALUES
) {
4237 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4239 if (flags
& NDR_IN
) {
4240 ndr_print_struct(ndr
, "in", "decode_Packages");
4242 ndr_print_package_PackagesBlob(ndr
, "blob", &r
->in
.blob
);
4245 if (flags
& NDR_OUT
) {
4246 ndr_print_struct(ndr
, "out", "decode_Packages");
4253 static enum ndr_err_code
ndr_push_decode_PrimaryKerberos(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryKerberos
*r
)
4255 if (flags
& NDR_IN
) {
4256 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4258 if (flags
& NDR_OUT
) {
4260 return NDR_ERR_SUCCESS
;
4263 static enum ndr_err_code
ndr_pull_decode_PrimaryKerberos(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryKerberos
*r
)
4265 if (flags
& NDR_IN
) {
4266 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4268 if (flags
& NDR_OUT
) {
4270 return NDR_ERR_SUCCESS
;
4273 _PUBLIC_
void ndr_print_decode_PrimaryKerberos(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryKerberos
*r
)
4275 ndr_print_struct(ndr
, name
, "decode_PrimaryKerberos");
4277 if (flags
& NDR_SET_VALUES
) {
4278 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4280 if (flags
& NDR_IN
) {
4281 ndr_print_struct(ndr
, "in", "decode_PrimaryKerberos");
4283 ndr_print_package_PrimaryKerberosBlob(ndr
, "blob", &r
->in
.blob
);
4286 if (flags
& NDR_OUT
) {
4287 ndr_print_struct(ndr
, "out", "decode_PrimaryKerberos");
4294 static enum ndr_err_code
ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
4296 if (flags
& NDR_IN
) {
4297 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4299 if (flags
& NDR_OUT
) {
4301 return NDR_ERR_SUCCESS
;
4304 static enum ndr_err_code
ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryCLEARTEXT
*r
)
4306 if (flags
& NDR_IN
) {
4307 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4309 if (flags
& NDR_OUT
) {
4311 return NDR_ERR_SUCCESS
;
4314 _PUBLIC_
void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
4316 ndr_print_struct(ndr
, name
, "decode_PrimaryCLEARTEXT");
4318 if (flags
& NDR_SET_VALUES
) {
4319 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4321 if (flags
& NDR_IN
) {
4322 ndr_print_struct(ndr
, "in", "decode_PrimaryCLEARTEXT");
4324 ndr_print_package_PrimaryCLEARTEXTBlob(ndr
, "blob", &r
->in
.blob
);
4327 if (flags
& NDR_OUT
) {
4328 ndr_print_struct(ndr
, "out", "decode_PrimaryCLEARTEXT");
4335 static enum ndr_err_code
ndr_push_decode_PrimaryWDigest(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryWDigest
*r
)
4337 if (flags
& NDR_IN
) {
4338 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4340 if (flags
& NDR_OUT
) {
4342 return NDR_ERR_SUCCESS
;
4345 static enum ndr_err_code
ndr_pull_decode_PrimaryWDigest(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryWDigest
*r
)
4347 if (flags
& NDR_IN
) {
4348 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4350 if (flags
& NDR_OUT
) {
4352 return NDR_ERR_SUCCESS
;
4355 _PUBLIC_
void ndr_print_decode_PrimaryWDigest(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryWDigest
*r
)
4357 ndr_print_struct(ndr
, name
, "decode_PrimaryWDigest");
4359 if (flags
& NDR_SET_VALUES
) {
4360 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4362 if (flags
& NDR_IN
) {
4363 ndr_print_struct(ndr
, "in", "decode_PrimaryWDigest");
4365 ndr_print_package_PrimaryWDigestBlob(ndr
, "blob", &r
->in
.blob
);
4368 if (flags
& NDR_OUT
) {
4369 ndr_print_struct(ndr
, "out", "decode_PrimaryWDigest");
4376 static enum ndr_err_code
ndr_push_decode_trustAuthInOut(struct ndr_push
*ndr
, int flags
, const struct decode_trustAuthInOut
*r
)
4378 if (flags
& NDR_IN
) {
4379 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4381 if (flags
& NDR_OUT
) {
4383 return NDR_ERR_SUCCESS
;
4386 static enum ndr_err_code
ndr_pull_decode_trustAuthInOut(struct ndr_pull
*ndr
, int flags
, struct decode_trustAuthInOut
*r
)
4388 if (flags
& NDR_IN
) {
4389 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4391 if (flags
& NDR_OUT
) {
4393 return NDR_ERR_SUCCESS
;
4396 _PUBLIC_
void ndr_print_decode_trustAuthInOut(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustAuthInOut
*r
)
4398 ndr_print_struct(ndr
, name
, "decode_trustAuthInOut");
4400 if (flags
& NDR_SET_VALUES
) {
4401 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4403 if (flags
& NDR_IN
) {
4404 ndr_print_struct(ndr
, "in", "decode_trustAuthInOut");
4406 ndr_print_trustAuthInOutBlob(ndr
, "blob", &r
->in
.blob
);
4409 if (flags
& NDR_OUT
) {
4410 ndr_print_struct(ndr
, "out", "decode_trustAuthInOut");
4417 static enum ndr_err_code
ndr_push_decode_trustDomainPasswords(struct ndr_push
*ndr
, int flags
, const struct decode_trustDomainPasswords
*r
)
4419 if (flags
& NDR_IN
) {
4420 NDR_CHECK(ndr_push_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4422 if (flags
& NDR_OUT
) {
4424 return NDR_ERR_SUCCESS
;
4427 static enum ndr_err_code
ndr_pull_decode_trustDomainPasswords(struct ndr_pull
*ndr
, int flags
, struct decode_trustDomainPasswords
*r
)
4429 if (flags
& NDR_IN
) {
4430 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4432 if (flags
& NDR_OUT
) {
4434 return NDR_ERR_SUCCESS
;
4437 _PUBLIC_
void ndr_print_decode_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustDomainPasswords
*r
)
4439 ndr_print_struct(ndr
, name
, "decode_trustDomainPasswords");
4441 if (flags
& NDR_SET_VALUES
) {
4442 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4444 if (flags
& NDR_IN
) {
4445 ndr_print_struct(ndr
, "in", "decode_trustDomainPasswords");
4447 ndr_print_trustDomainPasswords(ndr
, "blob", &r
->in
.blob
);
4450 if (flags
& NDR_OUT
) {
4451 ndr_print_struct(ndr
, "out", "decode_trustDomainPasswords");
4458 static enum ndr_err_code
ndr_push_decode_ExtendedErrorInfo(struct ndr_push
*ndr
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
4460 if (flags
& NDR_IN
) {
4462 struct ndr_push
*_ndr_ptr
;
4463 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
4464 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
4465 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
4468 if (flags
& NDR_OUT
) {
4470 return NDR_ERR_SUCCESS
;
4473 static enum ndr_err_code
ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull
*ndr
, int flags
, struct decode_ExtendedErrorInfo
*r
)
4475 if (flags
& NDR_IN
) {
4477 struct ndr_pull
*_ndr_ptr
;
4478 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
4479 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
4480 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
4483 if (flags
& NDR_OUT
) {
4485 return NDR_ERR_SUCCESS
;
4488 _PUBLIC_
void ndr_print_decode_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
4490 ndr_print_struct(ndr
, name
, "decode_ExtendedErrorInfo");
4492 if (flags
& NDR_SET_VALUES
) {
4493 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4495 if (flags
& NDR_IN
) {
4496 ndr_print_struct(ndr
, "in", "decode_ExtendedErrorInfo");
4498 ndr_print_ExtendedErrorInfoPtr(ndr
, "ptr", &r
->in
.ptr
);
4501 if (flags
& NDR_OUT
) {
4502 ndr_print_struct(ndr
, "out", "decode_ExtendedErrorInfo");
4509 static const struct ndr_interface_call drsblobs_calls
[] = {
4511 "decode_replPropertyMetaData",
4512 sizeof(struct decode_replPropertyMetaData
),
4513 (ndr_push_flags_fn_t
) ndr_push_decode_replPropertyMetaData
,
4514 (ndr_pull_flags_fn_t
) ndr_pull_decode_replPropertyMetaData
,
4515 (ndr_print_function_t
) ndr_print_decode_replPropertyMetaData
,
4519 "decode_replUpToDateVector",
4520 sizeof(struct decode_replUpToDateVector
),
4521 (ndr_push_flags_fn_t
) ndr_push_decode_replUpToDateVector
,
4522 (ndr_pull_flags_fn_t
) ndr_pull_decode_replUpToDateVector
,
4523 (ndr_print_function_t
) ndr_print_decode_replUpToDateVector
,
4527 "decode_repsFromTo",
4528 sizeof(struct decode_repsFromTo
),
4529 (ndr_push_flags_fn_t
) ndr_push_decode_repsFromTo
,
4530 (ndr_pull_flags_fn_t
) ndr_pull_decode_repsFromTo
,
4531 (ndr_print_function_t
) ndr_print_decode_repsFromTo
,
4535 "decode_partialAttributeSet",
4536 sizeof(struct decode_partialAttributeSet
),
4537 (ndr_push_flags_fn_t
) ndr_push_decode_partialAttributeSet
,
4538 (ndr_pull_flags_fn_t
) ndr_pull_decode_partialAttributeSet
,
4539 (ndr_print_function_t
) ndr_print_decode_partialAttributeSet
,
4544 sizeof(struct decode_prefixMap
),
4545 (ndr_push_flags_fn_t
) ndr_push_decode_prefixMap
,
4546 (ndr_pull_flags_fn_t
) ndr_pull_decode_prefixMap
,
4547 (ndr_print_function_t
) ndr_print_decode_prefixMap
,
4551 "decode_ldapControlDirSync",
4552 sizeof(struct decode_ldapControlDirSync
),
4553 (ndr_push_flags_fn_t
) ndr_push_decode_ldapControlDirSync
,
4554 (ndr_pull_flags_fn_t
) ndr_pull_decode_ldapControlDirSync
,
4555 (ndr_print_function_t
) ndr_print_decode_ldapControlDirSync
,
4559 "decode_supplementalCredentials",
4560 sizeof(struct decode_supplementalCredentials
),
4561 (ndr_push_flags_fn_t
) ndr_push_decode_supplementalCredentials
,
4562 (ndr_pull_flags_fn_t
) ndr_pull_decode_supplementalCredentials
,
4563 (ndr_print_function_t
) ndr_print_decode_supplementalCredentials
,
4568 sizeof(struct decode_Packages
),
4569 (ndr_push_flags_fn_t
) ndr_push_decode_Packages
,
4570 (ndr_pull_flags_fn_t
) ndr_pull_decode_Packages
,
4571 (ndr_print_function_t
) ndr_print_decode_Packages
,
4575 "decode_PrimaryKerberos",
4576 sizeof(struct decode_PrimaryKerberos
),
4577 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryKerberos
,
4578 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryKerberos
,
4579 (ndr_print_function_t
) ndr_print_decode_PrimaryKerberos
,
4583 "decode_PrimaryCLEARTEXT",
4584 sizeof(struct decode_PrimaryCLEARTEXT
),
4585 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryCLEARTEXT
,
4586 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryCLEARTEXT
,
4587 (ndr_print_function_t
) ndr_print_decode_PrimaryCLEARTEXT
,
4591 "decode_PrimaryWDigest",
4592 sizeof(struct decode_PrimaryWDigest
),
4593 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryWDigest
,
4594 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryWDigest
,
4595 (ndr_print_function_t
) ndr_print_decode_PrimaryWDigest
,
4599 "decode_trustAuthInOut",
4600 sizeof(struct decode_trustAuthInOut
),
4601 (ndr_push_flags_fn_t
) ndr_push_decode_trustAuthInOut
,
4602 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustAuthInOut
,
4603 (ndr_print_function_t
) ndr_print_decode_trustAuthInOut
,
4607 "decode_trustDomainPasswords",
4608 sizeof(struct decode_trustDomainPasswords
),
4609 (ndr_push_flags_fn_t
) ndr_push_decode_trustDomainPasswords
,
4610 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustDomainPasswords
,
4611 (ndr_print_function_t
) ndr_print_decode_trustDomainPasswords
,
4615 "decode_ExtendedErrorInfo",
4616 sizeof(struct decode_ExtendedErrorInfo
),
4617 (ndr_push_flags_fn_t
) ndr_push_decode_ExtendedErrorInfo
,
4618 (ndr_pull_flags_fn_t
) ndr_pull_decode_ExtendedErrorInfo
,
4619 (ndr_print_function_t
) ndr_print_decode_ExtendedErrorInfo
,
4622 { NULL
, 0, NULL
, NULL
, NULL
, false }
4625 static const char * const drsblobs_endpoint_strings
[] = {
4626 "ncacn_np:[\\pipe\\drsblobs]",
4629 static const struct ndr_interface_string_array drsblobs_endpoints
= {
4631 .names
= drsblobs_endpoint_strings
4634 static const char * const drsblobs_authservice_strings
[] = {
4638 static const struct ndr_interface_string_array drsblobs_authservices
= {
4640 .names
= drsblobs_authservice_strings
4644 const struct ndr_interface_table ndr_table_drsblobs
= {
4647 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
4648 NDR_DRSBLOBS_VERSION
4650 .helpstring
= NDR_DRSBLOBS_HELPSTRING
,
4652 .calls
= drsblobs_calls
,
4653 .endpoints
= &drsblobs_endpoints
,
4654 .authservices
= &drsblobs_authservices