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
));
21 if (ndr_flags
& NDR_BUFFERS
) {
23 return NDR_ERR_SUCCESS
;
26 static enum ndr_err_code
ndr_pull_replPropertyMetaData1(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaData1
*r
)
28 if (ndr_flags
& NDR_SCALARS
) {
29 NDR_CHECK(ndr_pull_align(ndr
, 8));
30 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
31 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
32 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
33 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
34 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
35 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
37 if (ndr_flags
& NDR_BUFFERS
) {
39 return NDR_ERR_SUCCESS
;
42 _PUBLIC_
void ndr_print_replPropertyMetaData1(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaData1
*r
)
44 ndr_print_struct(ndr
, name
, "replPropertyMetaData1");
46 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
47 ndr_print_uint32(ndr
, "version", r
->version
);
48 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
49 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
50 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
51 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
55 static enum ndr_err_code
ndr_push_replPropertyMetaDataCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaDataCtr1
*r
)
57 uint32_t cntr_array_0
;
58 if (ndr_flags
& NDR_SCALARS
) {
59 NDR_CHECK(ndr_push_align(ndr
, 8));
60 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
61 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
62 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
63 NDR_CHECK(ndr_push_replPropertyMetaData1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
66 if (ndr_flags
& NDR_BUFFERS
) {
68 return NDR_ERR_SUCCESS
;
71 static enum ndr_err_code
ndr_pull_replPropertyMetaDataCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaDataCtr1
*r
)
73 uint32_t cntr_array_0
;
74 TALLOC_CTX
*_mem_save_array_0
;
75 if (ndr_flags
& NDR_SCALARS
) {
76 NDR_CHECK(ndr_pull_align(ndr
, 8));
77 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
78 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
79 NDR_PULL_ALLOC_N(ndr
, r
->array
, r
->count
);
80 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
81 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
82 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
83 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
85 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
87 if (ndr_flags
& NDR_BUFFERS
) {
89 return NDR_ERR_SUCCESS
;
92 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr1(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataCtr1
*r
)
94 uint32_t cntr_array_0
;
95 ndr_print_struct(ndr
, name
, "replPropertyMetaDataCtr1");
97 ndr_print_uint32(ndr
, "count", r
->count
);
98 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
99 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
101 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
103 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
104 ndr_print_replPropertyMetaData1(ndr
, "array", &r
->array
[cntr_array_0
]);
112 static enum ndr_err_code
ndr_push_replPropertyMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replPropertyMetaDataCtr
*r
)
114 if (ndr_flags
& NDR_SCALARS
) {
115 int level
= ndr_push_get_switch_value(ndr
, r
);
118 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
122 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
125 if (ndr_flags
& NDR_BUFFERS
) {
126 int level
= ndr_push_get_switch_value(ndr
, r
);
132 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
135 return NDR_ERR_SUCCESS
;
138 static enum ndr_err_code
ndr_pull_replPropertyMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replPropertyMetaDataCtr
*r
)
141 level
= ndr_pull_get_switch_value(ndr
, r
);
142 if (ndr_flags
& NDR_SCALARS
) {
145 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
149 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
152 if (ndr_flags
& NDR_BUFFERS
) {
158 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
161 return NDR_ERR_SUCCESS
;
164 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const union replPropertyMetaDataCtr
*r
)
167 level
= ndr_print_get_switch_value(ndr
, r
);
168 ndr_print_union(ndr
, name
, level
, "replPropertyMetaDataCtr");
171 ndr_print_replPropertyMetaDataCtr1(ndr
, "ctr1", &r
->ctr1
);
175 ndr_print_bad_level(ndr
, name
, level
);
179 _PUBLIC_
enum ndr_err_code
ndr_push_replPropertyMetaDataBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaDataBlob
*r
)
181 if (ndr_flags
& NDR_SCALARS
) {
182 NDR_CHECK(ndr_push_align(ndr
, 8));
183 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
184 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
185 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
186 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
188 if (ndr_flags
& NDR_BUFFERS
) {
190 return NDR_ERR_SUCCESS
;
193 _PUBLIC_
enum ndr_err_code
ndr_pull_replPropertyMetaDataBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaDataBlob
*r
)
195 if (ndr_flags
& NDR_SCALARS
) {
196 NDR_CHECK(ndr_pull_align(ndr
, 8));
197 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
198 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
199 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
200 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
202 if (ndr_flags
& NDR_BUFFERS
) {
204 return NDR_ERR_SUCCESS
;
207 _PUBLIC_
void ndr_print_replPropertyMetaDataBlob(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataBlob
*r
)
209 ndr_print_struct(ndr
, name
, "replPropertyMetaDataBlob");
211 ndr_print_uint32(ndr
, "version", r
->version
);
212 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
213 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
214 ndr_print_replPropertyMetaDataCtr(ndr
, "ctr", &r
->ctr
);
218 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr1
*r
)
220 uint32_t cntr_cursors_0
;
221 if (ndr_flags
& NDR_SCALARS
) {
222 NDR_CHECK(ndr_push_align(ndr
, 8));
223 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
224 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
225 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
226 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
229 if (ndr_flags
& NDR_BUFFERS
) {
231 return NDR_ERR_SUCCESS
;
234 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr1
*r
)
236 uint32_t cntr_cursors_0
;
237 TALLOC_CTX
*_mem_save_cursors_0
;
238 if (ndr_flags
& NDR_SCALARS
) {
239 NDR_CHECK(ndr_pull_align(ndr
, 8));
240 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
241 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
242 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, r
->count
);
243 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
244 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
245 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
246 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
248 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
250 if (ndr_flags
& NDR_BUFFERS
) {
252 return NDR_ERR_SUCCESS
;
255 _PUBLIC_
void ndr_print_replUpToDateVectorCtr1(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr1
*r
)
257 uint32_t cntr_cursors_0
;
258 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr1");
260 ndr_print_uint32(ndr
, "count", r
->count
);
261 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
262 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
264 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
266 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
267 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
275 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr2
*r
)
277 uint32_t cntr_cursors_0
;
278 if (ndr_flags
& NDR_SCALARS
) {
279 NDR_CHECK(ndr_push_align(ndr
, 8));
280 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
281 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
282 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
283 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
286 if (ndr_flags
& NDR_BUFFERS
) {
288 return NDR_ERR_SUCCESS
;
291 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr2
*r
)
293 uint32_t cntr_cursors_0
;
294 TALLOC_CTX
*_mem_save_cursors_0
;
295 if (ndr_flags
& NDR_SCALARS
) {
296 NDR_CHECK(ndr_pull_align(ndr
, 8));
297 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
298 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
299 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, r
->count
);
300 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
301 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
302 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
303 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
305 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
307 if (ndr_flags
& NDR_BUFFERS
) {
309 return NDR_ERR_SUCCESS
;
312 _PUBLIC_
void ndr_print_replUpToDateVectorCtr2(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr2
*r
)
314 uint32_t cntr_cursors_0
;
315 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr2");
317 ndr_print_uint32(ndr
, "count", r
->count
);
318 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
319 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
321 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
323 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
324 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
332 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replUpToDateVectorCtr
*r
)
334 if (ndr_flags
& NDR_SCALARS
) {
335 int level
= ndr_push_get_switch_value(ndr
, r
);
338 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
342 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
346 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
349 if (ndr_flags
& NDR_BUFFERS
) {
350 int level
= ndr_push_get_switch_value(ndr
, r
);
359 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
362 return NDR_ERR_SUCCESS
;
365 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replUpToDateVectorCtr
*r
)
368 level
= ndr_pull_get_switch_value(ndr
, r
);
369 if (ndr_flags
& NDR_SCALARS
) {
372 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
376 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
380 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
383 if (ndr_flags
& NDR_BUFFERS
) {
392 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
395 return NDR_ERR_SUCCESS
;
398 _PUBLIC_
void ndr_print_replUpToDateVectorCtr(struct ndr_print
*ndr
, const char *name
, const union replUpToDateVectorCtr
*r
)
401 level
= ndr_print_get_switch_value(ndr
, r
);
402 ndr_print_union(ndr
, name
, level
, "replUpToDateVectorCtr");
405 ndr_print_replUpToDateVectorCtr1(ndr
, "ctr1", &r
->ctr1
);
409 ndr_print_replUpToDateVectorCtr2(ndr
, "ctr2", &r
->ctr2
);
413 ndr_print_bad_level(ndr
, name
, level
);
417 _PUBLIC_
enum ndr_err_code
ndr_push_replUpToDateVectorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorBlob
*r
)
419 if (ndr_flags
& NDR_SCALARS
) {
420 NDR_CHECK(ndr_push_align(ndr
, 8));
421 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
422 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
423 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
424 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
426 if (ndr_flags
& NDR_BUFFERS
) {
428 return NDR_ERR_SUCCESS
;
431 _PUBLIC_
enum ndr_err_code
ndr_pull_replUpToDateVectorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorBlob
*r
)
433 if (ndr_flags
& NDR_SCALARS
) {
434 NDR_CHECK(ndr_pull_align(ndr
, 8));
435 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
436 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
437 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
438 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
440 if (ndr_flags
& NDR_BUFFERS
) {
442 return NDR_ERR_SUCCESS
;
445 _PUBLIC_
void ndr_print_replUpToDateVectorBlob(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorBlob
*r
)
447 ndr_print_struct(ndr
, name
, "replUpToDateVectorBlob");
449 ndr_print_uint32(ndr
, "version", r
->version
);
450 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
451 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
452 ndr_print_replUpToDateVectorCtr(ndr
, "ctr", &r
->ctr
);
456 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1OtherInfo
*r
)
458 if (ndr_flags
& NDR_SCALARS
) {
459 NDR_CHECK(ndr_push_align(ndr
, 4));
460 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen(r
->dns_name
) + 1));
461 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, strlen(r
->dns_name
) + 1, sizeof(uint8_t), CH_DOS
));
463 if (ndr_flags
& NDR_BUFFERS
) {
465 return NDR_ERR_SUCCESS
;
468 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1OtherInfo
*r
)
470 if (ndr_flags
& NDR_SCALARS
) {
471 NDR_CHECK(ndr_pull_align(ndr
, 4));
472 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__dns_name_size
));
473 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, r
->__dns_name_size
, sizeof(uint8_t), CH_DOS
));
475 if (ndr_flags
& NDR_BUFFERS
) {
477 return NDR_ERR_SUCCESS
;
480 _PUBLIC_
void ndr_print_repsFromTo1OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1OtherInfo
*r
)
482 ndr_print_struct(ndr
, name
, "repsFromTo1OtherInfo");
484 ndr_print_uint32(ndr
, "__dns_name_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->dns_name
) + 1:r
->__dns_name_size
);
485 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
489 _PUBLIC_
size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
491 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1OtherInfo
, ic
);
494 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1
*r
)
497 uint32_t _flags_save_STRUCT
= ndr
->flags
;
498 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
499 if (ndr_flags
& NDR_SCALARS
) {
500 NDR_CHECK(ndr_push_align(ndr
, 8));
501 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
502 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
503 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
504 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
505 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
506 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
507 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
508 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
509 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
510 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
511 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
512 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
513 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
514 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
516 if (ndr_flags
& NDR_BUFFERS
) {
518 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->other_info
));
519 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
522 ndr
->flags
= _flags_save_STRUCT
;
524 return NDR_ERR_SUCCESS
;
527 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1
*r
)
529 uint32_t _ptr_other_info
;
530 TALLOC_CTX
*_mem_save_other_info_0
;
532 uint32_t _flags_save_STRUCT
= ndr
->flags
;
533 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
534 if (ndr_flags
& NDR_SCALARS
) {
535 NDR_CHECK(ndr_pull_align(ndr
, 8));
536 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
537 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
538 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
539 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
540 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
541 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
542 if (_ptr_other_info
) {
543 NDR_PULL_ALLOC(ndr
, r
->other_info
);
544 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
546 r
->other_info
= NULL
;
548 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
549 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
550 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
551 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
552 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
553 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
554 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
555 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
557 if (ndr_flags
& NDR_BUFFERS
) {
559 uint32_t _relative_save_offset
;
560 _relative_save_offset
= ndr
->offset
;
561 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
562 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
563 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
564 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
565 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
566 ndr
->offset
= _relative_save_offset
;
569 ndr
->flags
= _flags_save_STRUCT
;
571 return NDR_ERR_SUCCESS
;
574 _PUBLIC_
void ndr_print_repsFromTo1(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1
*r
)
576 ndr_print_struct(ndr
, name
, "repsFromTo1");
578 uint32_t _flags_save_STRUCT
= ndr
->flags
;
579 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
581 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
582 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
583 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
584 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
585 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
586 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
589 ndr_print_repsFromTo1OtherInfo(ndr
, "other_info", r
->other_info
);
592 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
);
593 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
594 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
595 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
596 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
597 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
598 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
599 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
601 ndr
->flags
= _flags_save_STRUCT
;
605 _PUBLIC_
size_t ndr_size_repsFromTo1(const struct repsFromTo1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
607 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
608 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1
, ic
);
611 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo2OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo2OtherInfo
*r
)
613 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
614 if (ndr_flags
& NDR_SCALARS
) {
615 NDR_CHECK(ndr_push_align(ndr
, 8));
616 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
617 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2OtherInfo(r
, ndr
->iconv_convenience
, ndr
->flags
)));
619 uint32_t _flags_save_string
= ndr
->flags
;
620 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
621 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->dns_name1
));
622 ndr
->flags
= _flags_save_string
;
624 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
626 uint32_t _flags_save_string
= ndr
->flags
;
627 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
628 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->dns_name2
));
629 ndr
->flags
= _flags_save_string
;
631 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown2
));
633 if (ndr_flags
& NDR_BUFFERS
) {
634 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
636 uint32_t _flags_save_string
= ndr
->flags
;
637 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
639 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->dns_name1
));
640 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->dns_name1
));
642 ndr
->flags
= _flags_save_string
;
645 uint32_t _flags_save_string
= ndr
->flags
;
646 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
648 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->dns_name2
));
649 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->dns_name2
));
651 ndr
->flags
= _flags_save_string
;
654 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
655 return NDR_ERR_SUCCESS
;
658 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo2OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo2OtherInfo
*r
)
660 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
661 uint32_t _ptr_dns_name1
;
662 TALLOC_CTX
*_mem_save_dns_name1_0
;
663 uint32_t _ptr_dns_name2
;
664 TALLOC_CTX
*_mem_save_dns_name2_0
;
665 if (ndr_flags
& NDR_SCALARS
) {
666 NDR_CHECK(ndr_pull_align(ndr
, 8));
667 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
668 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
670 uint32_t _flags_save_string
= ndr
->flags
;
671 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
672 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name1
));
673 if (_ptr_dns_name1
) {
674 NDR_PULL_ALLOC(ndr
, r
->dns_name1
);
675 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->dns_name1
, _ptr_dns_name1
));
679 ndr
->flags
= _flags_save_string
;
681 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
683 uint32_t _flags_save_string
= ndr
->flags
;
684 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
685 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name2
));
686 if (_ptr_dns_name2
) {
687 NDR_PULL_ALLOC(ndr
, r
->dns_name2
);
688 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->dns_name2
, _ptr_dns_name2
));
692 ndr
->flags
= _flags_save_string
;
694 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown2
));
696 if (ndr_flags
& NDR_BUFFERS
) {
697 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
699 uint32_t _flags_save_string
= ndr
->flags
;
700 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
702 uint32_t _relative_save_offset
;
703 _relative_save_offset
= ndr
->offset
;
704 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->dns_name1
));
705 _mem_save_dns_name1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
706 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name1
, 0);
707 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->dns_name1
));
708 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name1_0
, 0);
709 ndr
->offset
= _relative_save_offset
;
711 ndr
->flags
= _flags_save_string
;
714 uint32_t _flags_save_string
= ndr
->flags
;
715 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
717 uint32_t _relative_save_offset
;
718 _relative_save_offset
= ndr
->offset
;
719 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->dns_name2
));
720 _mem_save_dns_name2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
721 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name2
, 0);
722 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->dns_name2
));
723 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name2_0
, 0);
724 ndr
->offset
= _relative_save_offset
;
726 ndr
->flags
= _flags_save_string
;
729 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
730 return NDR_ERR_SUCCESS
;
733 _PUBLIC_
void ndr_print_repsFromTo2OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo2OtherInfo
*r
)
735 ndr_print_struct(ndr
, name
, "repsFromTo2OtherInfo");
737 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2OtherInfo(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
738 ndr_print_ptr(ndr
, "dns_name1", r
->dns_name1
);
741 ndr_print_string(ndr
, "dns_name1", r
->dns_name1
);
744 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
745 ndr_print_ptr(ndr
, "dns_name2", r
->dns_name2
);
748 ndr_print_string(ndr
, "dns_name2", r
->dns_name2
);
751 ndr_print_hyper(ndr
, "unknown2", r
->unknown2
);
755 _PUBLIC_
size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
757 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo2OtherInfo
, ic
);
760 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo2(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo2
*r
)
763 uint32_t _flags_save_STRUCT
= ndr
->flags
;
764 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
765 if (ndr_flags
& NDR_SCALARS
) {
766 NDR_CHECK(ndr_push_align(ndr
, 8));
767 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
768 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
769 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
770 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
771 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
772 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
773 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
774 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
775 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
776 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
777 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
778 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
779 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
780 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
781 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
783 if (ndr_flags
& NDR_BUFFERS
) {
785 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->other_info
));
786 NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->other_info
));
789 ndr
->flags
= _flags_save_STRUCT
;
791 return NDR_ERR_SUCCESS
;
794 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo2(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo2
*r
)
796 uint32_t _ptr_other_info
;
797 TALLOC_CTX
*_mem_save_other_info_0
;
799 uint32_t _flags_save_STRUCT
= ndr
->flags
;
800 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
801 if (ndr_flags
& NDR_SCALARS
) {
802 NDR_CHECK(ndr_pull_align(ndr
, 8));
803 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
804 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
805 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
806 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
807 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
808 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
809 if (_ptr_other_info
) {
810 NDR_PULL_ALLOC(ndr
, r
->other_info
);
811 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
813 r
->other_info
= NULL
;
815 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
816 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
817 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
818 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
819 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
820 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
821 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
822 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
823 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
825 if (ndr_flags
& NDR_BUFFERS
) {
827 uint32_t _relative_save_offset
;
828 _relative_save_offset
= ndr
->offset
;
829 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
830 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
831 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
832 NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->other_info
));
833 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
834 ndr
->offset
= _relative_save_offset
;
837 ndr
->flags
= _flags_save_STRUCT
;
839 return NDR_ERR_SUCCESS
;
842 _PUBLIC_
void ndr_print_repsFromTo2(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo2
*r
)
844 ndr_print_struct(ndr
, name
, "repsFromTo2");
846 uint32_t _flags_save_STRUCT
= ndr
->flags
;
847 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
849 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
850 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
851 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
852 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
853 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
854 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
857 ndr_print_repsFromTo2OtherInfo(ndr
, "other_info", r
->other_info
);
860 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
);
861 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
862 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
863 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
864 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
865 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
866 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
867 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
868 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
870 ndr
->flags
= _flags_save_STRUCT
;
874 _PUBLIC_
size_t ndr_size_repsFromTo2(const struct repsFromTo2
*r
, struct smb_iconv_convenience
*ic
, int flags
)
876 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
877 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo2
, ic
);
880 static enum ndr_err_code
ndr_push_repsFromTo(struct ndr_push
*ndr
, int ndr_flags
, const union repsFromTo
*r
)
882 if (ndr_flags
& NDR_SCALARS
) {
883 int level
= ndr_push_get_switch_value(ndr
, r
);
886 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
890 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
894 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
897 if (ndr_flags
& NDR_BUFFERS
) {
898 int level
= ndr_push_get_switch_value(ndr
, r
);
901 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
905 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
909 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
912 return NDR_ERR_SUCCESS
;
915 static enum ndr_err_code
ndr_pull_repsFromTo(struct ndr_pull
*ndr
, int ndr_flags
, union repsFromTo
*r
)
918 level
= ndr_pull_get_switch_value(ndr
, r
);
919 if (ndr_flags
& NDR_SCALARS
) {
922 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
926 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
930 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
933 if (ndr_flags
& NDR_BUFFERS
) {
936 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
940 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
944 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
947 return NDR_ERR_SUCCESS
;
950 _PUBLIC_
void ndr_print_repsFromTo(struct ndr_print
*ndr
, const char *name
, const union repsFromTo
*r
)
953 level
= ndr_print_get_switch_value(ndr
, r
);
954 ndr_print_union(ndr
, name
, level
, "repsFromTo");
957 ndr_print_repsFromTo1(ndr
, "ctr1", &r
->ctr1
);
961 ndr_print_repsFromTo2(ndr
, "ctr2", &r
->ctr2
);
965 ndr_print_bad_level(ndr
, name
, level
);
969 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromToBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromToBlob
*r
)
971 if (ndr_flags
& NDR_SCALARS
) {
972 NDR_CHECK(ndr_push_align(ndr
, 8));
973 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
974 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
975 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
976 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
978 if (ndr_flags
& NDR_BUFFERS
) {
979 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
981 return NDR_ERR_SUCCESS
;
984 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromToBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromToBlob
*r
)
986 if (ndr_flags
& NDR_SCALARS
) {
987 NDR_CHECK(ndr_pull_align(ndr
, 8));
988 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
989 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
990 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
991 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
993 if (ndr_flags
& NDR_BUFFERS
) {
994 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
996 return NDR_ERR_SUCCESS
;
999 _PUBLIC_
void ndr_print_repsFromToBlob(struct ndr_print
*ndr
, const char *name
, const struct repsFromToBlob
*r
)
1001 ndr_print_struct(ndr
, name
, "repsFromToBlob");
1003 ndr_print_uint32(ndr
, "version", r
->version
);
1004 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1005 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1006 ndr_print_repsFromTo(ndr
, "ctr", &r
->ctr
);
1010 static enum ndr_err_code
ndr_push_partialAttributeSetCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetCtr1
*r
)
1012 uint32_t cntr_array_0
;
1013 if (ndr_flags
& NDR_SCALARS
) {
1014 NDR_CHECK(ndr_push_align(ndr
, 4));
1015 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1016 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
1017 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->array
[cntr_array_0
]));
1020 if (ndr_flags
& NDR_BUFFERS
) {
1022 return NDR_ERR_SUCCESS
;
1025 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetCtr1
*r
)
1027 uint32_t cntr_array_0
;
1028 TALLOC_CTX
*_mem_save_array_0
;
1029 if (ndr_flags
& NDR_SCALARS
) {
1030 NDR_CHECK(ndr_pull_align(ndr
, 4));
1031 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1032 NDR_PULL_ALLOC_N(ndr
, r
->array
, r
->count
);
1033 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1034 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
1035 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
1036 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
1038 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
1040 if (ndr_flags
& NDR_BUFFERS
) {
1042 return NDR_ERR_SUCCESS
;
1045 _PUBLIC_
void ndr_print_partialAttributeSetCtr1(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetCtr1
*r
)
1047 uint32_t cntr_array_0
;
1048 ndr_print_struct(ndr
, name
, "partialAttributeSetCtr1");
1050 ndr_print_uint32(ndr
, "count", r
->count
);
1051 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
1053 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
1055 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
1056 ndr_print_drsuapi_DsAttributeId(ndr
, "array", r
->array
[cntr_array_0
]);
1064 static enum ndr_err_code
ndr_push_partialAttributeSetCtr(struct ndr_push
*ndr
, int ndr_flags
, const union partialAttributeSetCtr
*r
)
1066 if (ndr_flags
& NDR_SCALARS
) {
1067 int level
= ndr_push_get_switch_value(ndr
, r
);
1070 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1074 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1077 if (ndr_flags
& NDR_BUFFERS
) {
1078 int level
= ndr_push_get_switch_value(ndr
, r
);
1084 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1087 return NDR_ERR_SUCCESS
;
1090 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr(struct ndr_pull
*ndr
, int ndr_flags
, union partialAttributeSetCtr
*r
)
1093 level
= ndr_pull_get_switch_value(ndr
, r
);
1094 if (ndr_flags
& NDR_SCALARS
) {
1097 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1101 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1104 if (ndr_flags
& NDR_BUFFERS
) {
1110 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1113 return NDR_ERR_SUCCESS
;
1116 _PUBLIC_
void ndr_print_partialAttributeSetCtr(struct ndr_print
*ndr
, const char *name
, const union partialAttributeSetCtr
*r
)
1119 level
= ndr_print_get_switch_value(ndr
, r
);
1120 ndr_print_union(ndr
, name
, level
, "partialAttributeSetCtr");
1123 ndr_print_partialAttributeSetCtr1(ndr
, "ctr1", &r
->ctr1
);
1127 ndr_print_bad_level(ndr
, name
, level
);
1131 _PUBLIC_
enum ndr_err_code
ndr_push_partialAttributeSetBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetBlob
*r
)
1133 if (ndr_flags
& NDR_SCALARS
) {
1134 NDR_CHECK(ndr_push_align(ndr
, 4));
1135 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
1136 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
1137 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1138 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1140 if (ndr_flags
& NDR_BUFFERS
) {
1142 return NDR_ERR_SUCCESS
;
1145 _PUBLIC_
enum ndr_err_code
ndr_pull_partialAttributeSetBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetBlob
*r
)
1147 if (ndr_flags
& NDR_SCALARS
) {
1148 NDR_CHECK(ndr_pull_align(ndr
, 4));
1149 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1150 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1151 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1152 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1154 if (ndr_flags
& NDR_BUFFERS
) {
1156 return NDR_ERR_SUCCESS
;
1159 _PUBLIC_
void ndr_print_partialAttributeSetBlob(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetBlob
*r
)
1161 ndr_print_struct(ndr
, name
, "partialAttributeSetBlob");
1163 ndr_print_uint32(ndr
, "version", r
->version
);
1164 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1165 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1166 ndr_print_partialAttributeSetCtr(ndr
, "ctr", &r
->ctr
);
1170 static enum ndr_err_code
ndr_push_prefixMapVersion(struct ndr_push
*ndr
, int ndr_flags
, enum prefixMapVersion r
)
1172 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1173 return NDR_ERR_SUCCESS
;
1176 static enum ndr_err_code
ndr_pull_prefixMapVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum prefixMapVersion
*r
)
1179 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1181 return NDR_ERR_SUCCESS
;
1184 _PUBLIC_
void ndr_print_prefixMapVersion(struct ndr_print
*ndr
, const char *name
, enum prefixMapVersion r
)
1186 const char *val
= NULL
;
1189 case PREFIX_MAP_VERSION_DSDB
: val
= "PREFIX_MAP_VERSION_DSDB"; break;
1191 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1194 static enum ndr_err_code
ndr_push_prefixMapCtr(struct ndr_push
*ndr
, int ndr_flags
, const union prefixMapCtr
*r
)
1196 if (ndr_flags
& NDR_SCALARS
) {
1197 int level
= ndr_push_get_switch_value(ndr
, r
);
1199 case PREFIX_MAP_VERSION_DSDB
: {
1200 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1204 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1207 if (ndr_flags
& NDR_BUFFERS
) {
1208 int level
= ndr_push_get_switch_value(ndr
, r
);
1210 case PREFIX_MAP_VERSION_DSDB
:
1211 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
1215 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1218 return NDR_ERR_SUCCESS
;
1221 static enum ndr_err_code
ndr_pull_prefixMapCtr(struct ndr_pull
*ndr
, int ndr_flags
, union prefixMapCtr
*r
)
1224 level
= ndr_pull_get_switch_value(ndr
, r
);
1225 if (ndr_flags
& NDR_SCALARS
) {
1227 case PREFIX_MAP_VERSION_DSDB
: {
1228 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1232 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1235 if (ndr_flags
& NDR_BUFFERS
) {
1237 case PREFIX_MAP_VERSION_DSDB
:
1238 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
1242 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1245 return NDR_ERR_SUCCESS
;
1248 _PUBLIC_
void ndr_print_prefixMapCtr(struct ndr_print
*ndr
, const char *name
, const union prefixMapCtr
*r
)
1251 level
= ndr_print_get_switch_value(ndr
, r
);
1252 ndr_print_union(ndr
, name
, level
, "prefixMapCtr");
1254 case PREFIX_MAP_VERSION_DSDB
:
1255 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "dsdb", &r
->dsdb
);
1259 ndr_print_bad_level(ndr
, name
, level
);
1263 _PUBLIC_
enum ndr_err_code
ndr_push_prefixMapBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct prefixMapBlob
*r
)
1265 if (ndr_flags
& NDR_SCALARS
) {
1266 NDR_CHECK(ndr_push_align(ndr
, 5));
1267 NDR_CHECK(ndr_push_prefixMapVersion(ndr
, NDR_SCALARS
, r
->version
));
1268 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
1269 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1270 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1272 if (ndr_flags
& NDR_BUFFERS
) {
1273 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1275 return NDR_ERR_SUCCESS
;
1278 _PUBLIC_
enum ndr_err_code
ndr_pull_prefixMapBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct prefixMapBlob
*r
)
1280 if (ndr_flags
& NDR_SCALARS
) {
1281 NDR_CHECK(ndr_pull_align(ndr
, 5));
1282 NDR_CHECK(ndr_pull_prefixMapVersion(ndr
, NDR_SCALARS
, &r
->version
));
1283 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1284 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1285 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1287 if (ndr_flags
& NDR_BUFFERS
) {
1288 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1290 return NDR_ERR_SUCCESS
;
1293 _PUBLIC_
void ndr_print_prefixMapBlob(struct ndr_print
*ndr
, const char *name
, const struct prefixMapBlob
*r
)
1295 ndr_print_struct(ndr
, name
, "prefixMapBlob");
1297 ndr_print_prefixMapVersion(ndr
, "version", r
->version
);
1298 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1299 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1300 ndr_print_prefixMapCtr(ndr
, "ctr", &r
->ctr
);
1304 static enum ndr_err_code
ndr_push_ldapControlDirSyncExtra(struct ndr_push
*ndr
, int ndr_flags
, const union ldapControlDirSyncExtra
*r
)
1306 if (ndr_flags
& NDR_SCALARS
) {
1307 int level
= ndr_push_get_switch_value(ndr
, r
);
1313 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1318 if (ndr_flags
& NDR_BUFFERS
) {
1319 int level
= ndr_push_get_switch_value(ndr
, r
);
1329 return NDR_ERR_SUCCESS
;
1332 static enum ndr_err_code
ndr_pull_ldapControlDirSyncExtra(struct ndr_pull
*ndr
, int ndr_flags
, union ldapControlDirSyncExtra
*r
)
1335 level
= ndr_pull_get_switch_value(ndr
, r
);
1336 if (ndr_flags
& NDR_SCALARS
) {
1342 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1347 if (ndr_flags
& NDR_BUFFERS
) {
1357 return NDR_ERR_SUCCESS
;
1360 _PUBLIC_
void ndr_print_ldapControlDirSyncExtra(struct ndr_print
*ndr
, const char *name
, const union ldapControlDirSyncExtra
*r
)
1363 level
= ndr_print_get_switch_value(ndr
, r
);
1364 ndr_print_union(ndr
, name
, level
, "ldapControlDirSyncExtra");
1370 ndr_print_replUpToDateVectorBlob(ndr
, "uptodateness_vector", &r
->uptodateness_vector
);
1376 static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra
*r
, uint32_t level
, struct smb_iconv_convenience
*ic
, int flags
)
1378 return ndr_size_union(r
, flags
, level
, (ndr_push_flags_fn_t
)ndr_push_ldapControlDirSyncExtra
, ic
);
1381 static enum ndr_err_code
ndr_push_ldapControlDirSyncBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncBlob
*r
)
1383 if (ndr_flags
& NDR_SCALARS
) {
1384 NDR_CHECK(ndr_push_align(ndr
, 8));
1385 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 3));
1386 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
1387 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
1388 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
1389 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1390 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1391 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1392 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->extra
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1393 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1395 if (ndr_flags
& NDR_BUFFERS
) {
1396 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1398 return NDR_ERR_SUCCESS
;
1401 static enum ndr_err_code
ndr_pull_ldapControlDirSyncBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncBlob
*r
)
1403 if (ndr_flags
& NDR_SCALARS
) {
1404 NDR_CHECK(ndr_pull_align(ndr
, 8));
1405 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
1406 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
1407 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
1408 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
1409 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extra_length
));
1410 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1411 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1412 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->extra
, r
->extra_length
));
1413 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1415 if (ndr_flags
& NDR_BUFFERS
) {
1416 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1418 return NDR_ERR_SUCCESS
;
1421 _PUBLIC_
void ndr_print_ldapControlDirSyncBlob(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncBlob
*r
)
1423 ndr_print_struct(ndr
, name
, "ldapControlDirSyncBlob");
1425 ndr_print_uint32(ndr
, "u1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?3:r
->u1
);
1426 ndr_print_NTTIME(ndr
, "time", r
->time
);
1427 ndr_print_uint32(ndr
, "u2", r
->u2
);
1428 ndr_print_uint32(ndr
, "u3", r
->u3
);
1429 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
);
1430 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1431 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
1432 ndr_print_set_switch_value(ndr
, &r
->extra
, r
->extra_length
);
1433 ndr_print_ldapControlDirSyncExtra(ndr
, "extra", &r
->extra
);
1437 _PUBLIC_
enum ndr_err_code
ndr_push_ldapControlDirSyncCookie(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncCookie
*r
)
1439 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
1440 if (ndr_flags
& NDR_SCALARS
) {
1441 NDR_CHECK(ndr_push_align(ndr
, 8));
1442 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1443 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, "MSDS", 4, sizeof(uint8_t), CH_DOS
));
1445 struct ndr_push
*_ndr_blob
;
1446 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1447 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1448 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1451 if (ndr_flags
& NDR_BUFFERS
) {
1452 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
1454 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1455 return NDR_ERR_SUCCESS
;
1458 _PUBLIC_
enum ndr_err_code
ndr_pull_ldapControlDirSyncCookie(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncCookie
*r
)
1460 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
1461 if (ndr_flags
& NDR_SCALARS
) {
1462 NDR_CHECK(ndr_pull_align(ndr
, 8));
1463 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1464 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->msds
, 4, sizeof(uint8_t), CH_DOS
));
1466 struct ndr_pull
*_ndr_blob
;
1467 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1468 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1469 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1472 if (ndr_flags
& NDR_BUFFERS
) {
1473 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
1475 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1476 return NDR_ERR_SUCCESS
;
1479 _PUBLIC_
void ndr_print_ldapControlDirSyncCookie(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncCookie
*r
)
1481 ndr_print_struct(ndr
, name
, "ldapControlDirSyncCookie");
1483 ndr_print_string(ndr
, "msds", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?"MSDS":r
->msds
);
1484 ndr_print_ldapControlDirSyncBlob(ndr
, "blob", &r
->blob
);
1488 static enum ndr_err_code
ndr_push_supplementalCredentialsPackage(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsPackage
*r
)
1490 if (ndr_flags
& NDR_SCALARS
) {
1491 NDR_CHECK(ndr_push_align(ndr
, 2));
1492 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->name
)));
1493 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen(r
->data
)));
1494 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->reserved
));
1495 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->name
, 2 * strlen_m(r
->name
), sizeof(uint8_t), CH_UTF16
));
1496 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->data
, strlen(r
->data
), sizeof(uint8_t), CH_DOS
));
1498 if (ndr_flags
& NDR_BUFFERS
) {
1500 return NDR_ERR_SUCCESS
;
1503 static enum ndr_err_code
ndr_pull_supplementalCredentialsPackage(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsPackage
*r
)
1505 if (ndr_flags
& NDR_SCALARS
) {
1506 NDR_CHECK(ndr_pull_align(ndr
, 2));
1507 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->name_len
));
1508 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->data_len
));
1509 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved
));
1510 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->name
, r
->name_len
, sizeof(uint8_t), CH_UTF16
));
1511 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->data
, r
->data_len
, sizeof(uint8_t), CH_DOS
));
1513 if (ndr_flags
& NDR_BUFFERS
) {
1515 return NDR_ERR_SUCCESS
;
1518 _PUBLIC_
void ndr_print_supplementalCredentialsPackage(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsPackage
*r
)
1520 ndr_print_struct(ndr
, name
, "supplementalCredentialsPackage");
1522 ndr_print_uint16(ndr
, "name_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->name
):r
->name_len
);
1523 ndr_print_uint16(ndr
, "data_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->data
):r
->data_len
);
1524 ndr_print_uint16(ndr
, "reserved", r
->reserved
);
1525 ndr_print_string(ndr
, "name", r
->name
);
1526 ndr_print_string(ndr
, "data", r
->data
);
1530 static enum ndr_err_code
ndr_push_supplementalCredentialsSignature(struct ndr_push
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature r
)
1533 uint32_t _flags_save_ENUM
= ndr
->flags
;
1534 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1535 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
1536 ndr
->flags
= _flags_save_ENUM
;
1538 return NDR_ERR_SUCCESS
;
1541 static enum ndr_err_code
ndr_pull_supplementalCredentialsSignature(struct ndr_pull
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature
*r
)
1545 uint32_t _flags_save_ENUM
= ndr
->flags
;
1546 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1547 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
1549 ndr
->flags
= _flags_save_ENUM
;
1551 return NDR_ERR_SUCCESS
;
1554 _PUBLIC_
void ndr_print_supplementalCredentialsSignature(struct ndr_print
*ndr
, const char *name
, enum supplementalCredentialsSignature r
)
1556 const char *val
= NULL
;
1559 uint32_t _flags_save_ENUM
= ndr
->flags
;
1560 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1562 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE
: val
= "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1564 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1565 ndr
->flags
= _flags_save_ENUM
;
1569 static enum ndr_err_code
ndr_push_supplementalCredentialsSubBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsSubBlob
*r
)
1571 uint32_t cntr_packages_0
;
1572 if (ndr_flags
& NDR_SCALARS
) {
1573 NDR_CHECK(ndr_push_align(ndr
, 2));
1574 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_PREFIX
, 0x30, sizeof(uint16_t), CH_UTF16
));
1575 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_SIGNATURE
));
1576 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_packages
));
1577 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1578 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1581 if (ndr_flags
& NDR_BUFFERS
) {
1583 return NDR_ERR_SUCCESS
;
1586 static enum ndr_err_code
ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsSubBlob
*r
)
1588 uint32_t cntr_packages_0
;
1589 TALLOC_CTX
*_mem_save_packages_0
;
1590 if (ndr_flags
& NDR_SCALARS
) {
1591 NDR_CHECK(ndr_pull_align(ndr
, 2));
1592 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->prefix
, 0x30, sizeof(uint16_t), CH_UTF16
));
1593 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, &r
->signature
));
1594 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_packages
));
1595 NDR_PULL_ALLOC_N(ndr
, r
->packages
, r
->num_packages
);
1596 _mem_save_packages_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1597 NDR_PULL_SET_MEM_CTX(ndr
, r
->packages
, 0);
1598 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1599 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1601 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_packages_0
, 0);
1603 if (ndr_flags
& NDR_BUFFERS
) {
1605 return NDR_ERR_SUCCESS
;
1608 _PUBLIC_
void ndr_print_supplementalCredentialsSubBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsSubBlob
*r
)
1610 uint32_t cntr_packages_0
;
1611 ndr_print_struct(ndr
, name
, "supplementalCredentialsSubBlob");
1613 ndr_print_string(ndr
, "prefix", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_PREFIX
:r
->prefix
);
1614 ndr_print_supplementalCredentialsSignature(ndr
, "signature", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE
:r
->signature
);
1615 ndr_print_uint16(ndr
, "num_packages", r
->num_packages
);
1616 ndr
->print(ndr
, "%s: ARRAY(%d)", "packages", (int)r
->num_packages
);
1618 for (cntr_packages_0
=0;cntr_packages_0
<r
->num_packages
;cntr_packages_0
++) {
1620 if (asprintf(&idx_0
, "[%d]", cntr_packages_0
) != -1) {
1621 ndr_print_supplementalCredentialsPackage(ndr
, "packages", &r
->packages
[cntr_packages_0
]);
1629 static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
1631 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_supplementalCredentialsSubBlob
, ic
);
1634 _PUBLIC_
enum ndr_err_code
ndr_push_supplementalCredentialsBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsBlob
*r
)
1636 if (ndr_flags
& NDR_SCALARS
) {
1637 NDR_CHECK(ndr_push_align(ndr
, 4));
1638 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1639 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1640 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1642 struct ndr_push
*_ndr_sub
;
1643 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1644 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1645 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1647 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0));
1649 if (ndr_flags
& NDR_BUFFERS
) {
1651 return NDR_ERR_SUCCESS
;
1654 _PUBLIC_
enum ndr_err_code
ndr_pull_supplementalCredentialsBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsBlob
*r
)
1656 if (ndr_flags
& NDR_SCALARS
) {
1657 NDR_CHECK(ndr_pull_align(ndr
, 4));
1658 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
1659 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1660 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
1662 struct ndr_pull
*_ndr_sub
;
1663 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_sub
, 0, r
->__ndr_size
));
1664 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1665 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_sub
, 0, r
->__ndr_size
));
1667 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown3
));
1669 if (ndr_flags
& NDR_BUFFERS
) {
1671 return NDR_ERR_SUCCESS
;
1674 _PUBLIC_
void ndr_print_supplementalCredentialsBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsBlob
*r
)
1676 ndr_print_struct(ndr
, name
, "supplementalCredentialsBlob");
1678 ndr_print_uint32(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown1
);
1679 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
);
1680 ndr_print_uint32(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown2
);
1681 ndr_print_supplementalCredentialsSubBlob(ndr
, "sub", &r
->sub
);
1682 ndr_print_uint8(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
1686 _PUBLIC_
enum ndr_err_code
ndr_push_package_PackagesBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PackagesBlob
*r
)
1688 if (ndr_flags
& NDR_SCALARS
) {
1689 NDR_CHECK(ndr_push_align(ndr
, 4));
1691 uint32_t _flags_save_string_array
= ndr
->flags
;
1692 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1693 NDR_CHECK(ndr_push_string_array(ndr
, NDR_SCALARS
, r
->names
));
1694 ndr
->flags
= _flags_save_string_array
;
1697 if (ndr_flags
& NDR_BUFFERS
) {
1699 return NDR_ERR_SUCCESS
;
1702 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PackagesBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PackagesBlob
*r
)
1704 if (ndr_flags
& NDR_SCALARS
) {
1705 NDR_CHECK(ndr_pull_align(ndr
, 4));
1707 uint32_t _flags_save_string_array
= ndr
->flags
;
1708 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1709 NDR_CHECK(ndr_pull_string_array(ndr
, NDR_SCALARS
, &r
->names
));
1710 ndr
->flags
= _flags_save_string_array
;
1713 if (ndr_flags
& NDR_BUFFERS
) {
1715 return NDR_ERR_SUCCESS
;
1718 _PUBLIC_
void ndr_print_package_PackagesBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PackagesBlob
*r
)
1720 ndr_print_struct(ndr
, name
, "package_PackagesBlob");
1722 ndr_print_string_array(ndr
, "names", r
->names
);
1726 static enum ndr_err_code
ndr_push_package_PrimaryKerberosString(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosString
*r
)
1728 if (ndr_flags
& NDR_SCALARS
) {
1729 NDR_CHECK(ndr_push_align(ndr
, 5));
1730 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1731 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1733 uint32_t _flags_save_string
= ndr
->flags
;
1734 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1735 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->string
));
1736 ndr
->flags
= _flags_save_string
;
1739 if (ndr_flags
& NDR_BUFFERS
) {
1741 uint32_t _flags_save_string
= ndr
->flags
;
1742 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1744 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->string
));
1746 struct ndr_push
*_ndr_string
;
1747 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_string
, 0, 2 * strlen_m(r
->string
)));
1748 NDR_CHECK(ndr_push_string(_ndr_string
, NDR_SCALARS
, r
->string
));
1749 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_string
, 0, 2 * strlen_m(r
->string
)));
1752 ndr
->flags
= _flags_save_string
;
1755 return NDR_ERR_SUCCESS
;
1758 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosString(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosString
*r
)
1760 uint32_t _ptr_string
;
1761 TALLOC_CTX
*_mem_save_string_0
;
1762 if (ndr_flags
& NDR_SCALARS
) {
1763 NDR_CHECK(ndr_pull_align(ndr
, 5));
1764 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
1765 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
1767 uint32_t _flags_save_string
= ndr
->flags
;
1768 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1769 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
1771 NDR_PULL_ALLOC(ndr
, r
->string
);
1772 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->string
, _ptr_string
));
1776 ndr
->flags
= _flags_save_string
;
1779 if (ndr_flags
& NDR_BUFFERS
) {
1781 uint32_t _flags_save_string
= ndr
->flags
;
1782 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1784 uint32_t _relative_save_offset
;
1785 _relative_save_offset
= ndr
->offset
;
1786 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->string
));
1787 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1788 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
1790 struct ndr_pull
*_ndr_string
;
1791 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_string
, 0, r
->size
));
1792 NDR_CHECK(ndr_pull_string(_ndr_string
, NDR_SCALARS
, &r
->string
));
1793 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_string
, 0, r
->size
));
1795 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
1796 ndr
->offset
= _relative_save_offset
;
1798 ndr
->flags
= _flags_save_string
;
1801 return NDR_ERR_SUCCESS
;
1804 _PUBLIC_
void ndr_print_package_PrimaryKerberosString(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosString
*r
)
1806 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosString");
1808 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
1809 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->size
);
1810 ndr_print_ptr(ndr
, "string", r
->string
);
1813 ndr_print_string(ndr
, "string", r
->string
);
1819 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey3
*r
)
1821 if (ndr_flags
& NDR_SCALARS
) {
1822 NDR_CHECK(ndr_push_align(ndr
, 5));
1823 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1824 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1825 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1826 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
1827 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
1829 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1830 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1831 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
1832 ndr
->flags
= _flags_save_DATA_BLOB
;
1835 if (ndr_flags
& NDR_BUFFERS
) {
1837 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1838 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1840 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->value
));
1842 struct ndr_push
*_ndr_value
;
1843 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1844 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
1845 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1848 ndr
->flags
= _flags_save_DATA_BLOB
;
1851 return NDR_ERR_SUCCESS
;
1854 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey3
*r
)
1856 uint32_t _ptr_value
;
1857 TALLOC_CTX
*_mem_save_value_0
;
1858 if (ndr_flags
& NDR_SCALARS
) {
1859 NDR_CHECK(ndr_pull_align(ndr
, 5));
1860 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
1861 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
1862 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
1863 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
1864 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
1866 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1867 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1868 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
1870 NDR_PULL_ALLOC(ndr
, r
->value
);
1871 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
1875 ndr
->flags
= _flags_save_DATA_BLOB
;
1878 if (ndr_flags
& NDR_BUFFERS
) {
1880 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1881 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1883 uint32_t _relative_save_offset
;
1884 _relative_save_offset
= ndr
->offset
;
1885 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
1886 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1887 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
1889 struct ndr_pull
*_ndr_value
;
1890 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
1891 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
1892 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
1894 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
1895 ndr
->offset
= _relative_save_offset
;
1897 ndr
->flags
= _flags_save_DATA_BLOB
;
1900 return NDR_ERR_SUCCESS
;
1903 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey3
*r
)
1905 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey3");
1907 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1908 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1909 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
1910 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
1911 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
1912 ndr_print_ptr(ndr
, "value", r
->value
);
1915 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
1921 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr3
*r
)
1923 uint32_t cntr_keys_0
;
1924 uint32_t cntr_old_keys_0
;
1925 if (ndr_flags
& NDR_SCALARS
) {
1926 NDR_CHECK(ndr_push_align(ndr
, 5));
1927 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
1928 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
1929 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
1930 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1931 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
1933 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1934 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
1936 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1937 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1938 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1939 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1940 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1942 if (ndr_flags
& NDR_BUFFERS
) {
1943 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
1944 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1945 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
1947 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1948 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
1951 return NDR_ERR_SUCCESS
;
1954 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr3
*r
)
1956 uint32_t cntr_keys_0
;
1957 TALLOC_CTX
*_mem_save_keys_0
;
1958 uint32_t cntr_old_keys_0
;
1959 TALLOC_CTX
*_mem_save_old_keys_0
;
1960 if (ndr_flags
& NDR_SCALARS
) {
1961 NDR_CHECK(ndr_pull_align(ndr
, 5));
1962 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
1963 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
1964 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
1965 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
1966 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1967 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
1968 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1969 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
1971 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
1972 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, r
->num_old_keys
);
1973 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1974 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
1975 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1976 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
1978 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
1979 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding1
));
1980 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding2
));
1981 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding3
));
1982 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding4
));
1983 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding5
));
1985 if (ndr_flags
& NDR_BUFFERS
) {
1986 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
1987 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1988 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
1989 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1990 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
1992 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
1993 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1994 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
1995 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1996 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
1998 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2000 return NDR_ERR_SUCCESS
;
2003 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr3
*r
)
2005 uint32_t cntr_keys_0
;
2006 uint32_t cntr_old_keys_0
;
2007 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr3");
2009 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2010 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2011 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2012 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2014 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2016 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2017 ndr_print_package_PrimaryKerberosKey3(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2022 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2024 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2026 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2027 ndr_print_package_PrimaryKerberosKey3(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2032 ndr_print_uint32(ndr
, "padding1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding1
);
2033 ndr_print_uint32(ndr
, "padding2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding2
);
2034 ndr_print_uint32(ndr
, "padding3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding3
);
2035 ndr_print_uint32(ndr
, "padding4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding4
);
2036 ndr_print_uint32(ndr
, "padding5", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding5
);
2040 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey4
*r
)
2042 if (ndr_flags
& NDR_SCALARS
) {
2043 NDR_CHECK(ndr_push_align(ndr
, 5));
2044 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2045 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2046 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2047 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->iteration_count
));
2048 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
2049 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
2051 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2052 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2053 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
2054 ndr
->flags
= _flags_save_DATA_BLOB
;
2057 if (ndr_flags
& NDR_BUFFERS
) {
2059 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2060 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2062 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->value
));
2064 struct ndr_push
*_ndr_value
;
2065 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2066 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
2067 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2070 ndr
->flags
= _flags_save_DATA_BLOB
;
2073 return NDR_ERR_SUCCESS
;
2076 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey4
*r
)
2078 uint32_t _ptr_value
;
2079 TALLOC_CTX
*_mem_save_value_0
;
2080 if (ndr_flags
& NDR_SCALARS
) {
2081 NDR_CHECK(ndr_pull_align(ndr
, 5));
2082 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
2083 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
2084 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
2085 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->iteration_count
));
2086 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
2087 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
2089 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2090 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2091 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
2093 NDR_PULL_ALLOC(ndr
, r
->value
);
2094 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
2098 ndr
->flags
= _flags_save_DATA_BLOB
;
2101 if (ndr_flags
& NDR_BUFFERS
) {
2103 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2104 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2106 uint32_t _relative_save_offset
;
2107 _relative_save_offset
= ndr
->offset
;
2108 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
2109 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2110 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
2112 struct ndr_pull
*_ndr_value
;
2113 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
2114 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
2115 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
2117 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
2118 ndr
->offset
= _relative_save_offset
;
2120 ndr
->flags
= _flags_save_DATA_BLOB
;
2123 return NDR_ERR_SUCCESS
;
2126 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey4
*r
)
2128 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey4");
2130 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
2131 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
2132 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
2133 ndr_print_uint32(ndr
, "iteration_count", r
->iteration_count
);
2134 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
2135 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
2136 ndr_print_ptr(ndr
, "value", r
->value
);
2139 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
2145 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr4
*r
)
2147 uint32_t cntr_keys_0
;
2148 uint32_t cntr_old_keys_0
;
2149 uint32_t cntr_older_keys_0
;
2150 if (ndr_flags
& NDR_SCALARS
) {
2151 NDR_CHECK(ndr_push_align(ndr
, 5));
2152 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
2153 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2154 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
2155 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_older_keys
));
2156 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2157 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->default_iteration_count
));
2158 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2159 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2161 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2162 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2164 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2165 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
2168 if (ndr_flags
& NDR_BUFFERS
) {
2169 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2170 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2171 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2173 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2174 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2176 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2177 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2180 return NDR_ERR_SUCCESS
;
2183 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr4
*r
)
2185 uint32_t cntr_keys_0
;
2186 TALLOC_CTX
*_mem_save_keys_0
;
2187 uint32_t cntr_service_keys_0
;
2188 TALLOC_CTX
*_mem_save_service_keys_0
;
2189 uint32_t cntr_old_keys_0
;
2190 TALLOC_CTX
*_mem_save_old_keys_0
;
2191 uint32_t cntr_older_keys_0
;
2192 TALLOC_CTX
*_mem_save_older_keys_0
;
2193 if (ndr_flags
& NDR_SCALARS
) {
2194 NDR_CHECK(ndr_pull_align(ndr
, 5));
2195 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
2196 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_service_keys
));
2197 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
2198 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_older_keys
));
2199 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2200 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->default_iteration_count
));
2201 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
2202 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2203 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2204 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2205 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2207 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2208 NDR_PULL_ALLOC_N(ndr
, r
->service_keys
, r
->num_service_keys
);
2209 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2210 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
2211 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< r
->num_service_keys
; cntr_service_keys_0
++) {
2212 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->service_keys
[cntr_service_keys_0
]));
2214 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
2215 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, r
->num_old_keys
);
2216 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2217 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2218 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2219 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2221 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2222 NDR_PULL_ALLOC_N(ndr
, r
->older_keys
, r
->num_older_keys
);
2223 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2224 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2225 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2226 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
2228 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2230 if (ndr_flags
& NDR_BUFFERS
) {
2231 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2232 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2233 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2234 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2235 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2237 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2238 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2239 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
2240 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< r
->num_service_keys
; cntr_service_keys_0
++) {
2241 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->service_keys
[cntr_service_keys_0
]));
2243 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
2244 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2245 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2246 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2247 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2249 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2250 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2251 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2252 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2253 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2255 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2257 return NDR_ERR_SUCCESS
;
2260 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr4
*r
)
2262 uint32_t cntr_keys_0
;
2263 uint32_t cntr_service_keys_0
;
2264 uint32_t cntr_old_keys_0
;
2265 uint32_t cntr_older_keys_0
;
2266 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr4");
2268 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2269 ndr_print_uint16(ndr
, "num_service_keys", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->num_service_keys
);
2270 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2271 ndr_print_uint16(ndr
, "num_older_keys", r
->num_older_keys
);
2272 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2273 ndr_print_uint32(ndr
, "default_iteration_count", r
->default_iteration_count
);
2274 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2276 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2278 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2279 ndr_print_package_PrimaryKerberosKey4(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2284 ndr
->print(ndr
, "%s: ARRAY(%d)", "service_keys", (int)r
->num_service_keys
);
2286 for (cntr_service_keys_0
=0;cntr_service_keys_0
<r
->num_service_keys
;cntr_service_keys_0
++) {
2288 if (asprintf(&idx_0
, "[%d]", cntr_service_keys_0
) != -1) {
2289 ndr_print_package_PrimaryKerberosKey4(ndr
, "service_keys", &r
->service_keys
[cntr_service_keys_0
]);
2294 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2296 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2298 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2299 ndr_print_package_PrimaryKerberosKey4(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2304 ndr
->print(ndr
, "%s: ARRAY(%d)", "older_keys", (int)r
->num_older_keys
);
2306 for (cntr_older_keys_0
=0;cntr_older_keys_0
<r
->num_older_keys
;cntr_older_keys_0
++) {
2308 if (asprintf(&idx_0
, "[%d]", cntr_older_keys_0
) != -1) {
2309 ndr_print_package_PrimaryKerberosKey4(ndr
, "older_keys", &r
->older_keys
[cntr_older_keys_0
]);
2317 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr(struct ndr_push
*ndr
, int ndr_flags
, const union package_PrimaryKerberosCtr
*r
)
2319 if (ndr_flags
& NDR_SCALARS
) {
2320 int level
= ndr_push_get_switch_value(ndr
, r
);
2323 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2327 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2331 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2334 if (ndr_flags
& NDR_BUFFERS
) {
2335 int level
= ndr_push_get_switch_value(ndr
, r
);
2338 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2342 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2346 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2349 return NDR_ERR_SUCCESS
;
2352 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull
*ndr
, int ndr_flags
, union package_PrimaryKerberosCtr
*r
)
2355 level
= ndr_pull_get_switch_value(ndr
, r
);
2356 if (ndr_flags
& NDR_SCALARS
) {
2359 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2363 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2367 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2370 if (ndr_flags
& NDR_BUFFERS
) {
2373 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2377 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2381 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2384 return NDR_ERR_SUCCESS
;
2387 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr(struct ndr_print
*ndr
, const char *name
, const union package_PrimaryKerberosCtr
*r
)
2390 level
= ndr_print_get_switch_value(ndr
, r
);
2391 ndr_print_union(ndr
, name
, level
, "package_PrimaryKerberosCtr");
2394 ndr_print_package_PrimaryKerberosCtr3(ndr
, "ctr3", &r
->ctr3
);
2398 ndr_print_package_PrimaryKerberosCtr4(ndr
, "ctr4", &r
->ctr4
);
2402 ndr_print_bad_level(ndr
, name
, level
);
2406 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryKerberosBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosBlob
*r
)
2408 if (ndr_flags
& NDR_SCALARS
) {
2409 NDR_CHECK(ndr_push_align(ndr
, 5));
2410 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->version
));
2411 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2412 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2413 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2415 if (ndr_flags
& NDR_BUFFERS
) {
2416 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2418 return NDR_ERR_SUCCESS
;
2421 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosBlob
*r
)
2423 if (ndr_flags
& NDR_SCALARS
) {
2424 NDR_CHECK(ndr_pull_align(ndr
, 5));
2425 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->version
));
2426 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
2427 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2428 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2430 if (ndr_flags
& NDR_BUFFERS
) {
2431 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2433 return NDR_ERR_SUCCESS
;
2436 _PUBLIC_
void ndr_print_package_PrimaryKerberosBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosBlob
*r
)
2438 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosBlob");
2440 ndr_print_uint16(ndr
, "version", r
->version
);
2441 ndr_print_uint16(ndr
, "flags", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->flags
);
2442 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
2443 ndr_print_package_PrimaryKerberosCtr(ndr
, "ctr", &r
->ctr
);
2447 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2449 if (ndr_flags
& NDR_SCALARS
) {
2450 NDR_CHECK(ndr_push_align(ndr
, 4));
2452 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2453 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2454 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->cleartext
));
2455 ndr
->flags
= _flags_save_DATA_BLOB
;
2458 if (ndr_flags
& NDR_BUFFERS
) {
2460 return NDR_ERR_SUCCESS
;
2463 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryCLEARTEXTBlob
*r
)
2465 if (ndr_flags
& NDR_SCALARS
) {
2466 NDR_CHECK(ndr_pull_align(ndr
, 4));
2468 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2469 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2470 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->cleartext
));
2471 ndr
->flags
= _flags_save_DATA_BLOB
;
2474 if (ndr_flags
& NDR_BUFFERS
) {
2476 return NDR_ERR_SUCCESS
;
2479 _PUBLIC_
void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2481 ndr_print_struct(ndr
, name
, "package_PrimaryCLEARTEXTBlob");
2483 ndr_print_DATA_BLOB(ndr
, "cleartext", r
->cleartext
);
2487 static enum ndr_err_code
ndr_push_package_PrimaryWDigestHash(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestHash
*r
)
2490 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2491 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2492 if (ndr_flags
& NDR_SCALARS
) {
2493 NDR_CHECK(ndr_push_align(ndr
, 1));
2494 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2496 if (ndr_flags
& NDR_BUFFERS
) {
2498 ndr
->flags
= _flags_save_STRUCT
;
2500 return NDR_ERR_SUCCESS
;
2503 static enum ndr_err_code
ndr_pull_package_PrimaryWDigestHash(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestHash
*r
)
2506 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2507 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2508 if (ndr_flags
& NDR_SCALARS
) {
2509 NDR_CHECK(ndr_pull_align(ndr
, 1));
2510 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2512 if (ndr_flags
& NDR_BUFFERS
) {
2514 ndr
->flags
= _flags_save_STRUCT
;
2516 return NDR_ERR_SUCCESS
;
2519 _PUBLIC_
void ndr_print_package_PrimaryWDigestHash(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestHash
*r
)
2521 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestHash");
2523 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2524 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2526 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2528 ndr
->flags
= _flags_save_STRUCT
;
2532 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryWDigestBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestBlob
*r
)
2534 uint32_t cntr_hashes_0
;
2535 if (ndr_flags
& NDR_SCALARS
) {
2536 NDR_CHECK(ndr_push_align(ndr
, 4));
2537 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0x31));
2538 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0x01));
2539 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->num_hashes
));
2540 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2541 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, 0));
2542 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2543 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2546 if (ndr_flags
& NDR_BUFFERS
) {
2548 return NDR_ERR_SUCCESS
;
2551 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestBlob
*r
)
2553 uint32_t cntr_hashes_0
;
2554 TALLOC_CTX
*_mem_save_hashes_0
;
2555 if (ndr_flags
& NDR_SCALARS
) {
2556 NDR_CHECK(ndr_pull_align(ndr
, 4));
2557 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown1
));
2558 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown2
));
2559 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->num_hashes
));
2560 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
2561 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->uuknown4
));
2562 NDR_PULL_ALLOC_N(ndr
, r
->hashes
, r
->num_hashes
);
2563 _mem_save_hashes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2564 NDR_PULL_SET_MEM_CTX(ndr
, r
->hashes
, 0);
2565 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2566 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2568 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hashes_0
, 0);
2570 if (ndr_flags
& NDR_BUFFERS
) {
2572 return NDR_ERR_SUCCESS
;
2575 _PUBLIC_
void ndr_print_package_PrimaryWDigestBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestBlob
*r
)
2577 uint32_t cntr_hashes_0
;
2578 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestBlob");
2580 ndr_print_uint16(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x31:r
->unknown1
);
2581 ndr_print_uint8(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x01:r
->unknown2
);
2582 ndr_print_uint8(ndr
, "num_hashes", r
->num_hashes
);
2583 ndr_print_uint32(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
2584 ndr_print_udlong(ndr
, "uuknown4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->uuknown4
);
2585 ndr
->print(ndr
, "%s: ARRAY(%d)", "hashes", (int)r
->num_hashes
);
2587 for (cntr_hashes_0
=0;cntr_hashes_0
<r
->num_hashes
;cntr_hashes_0
++) {
2589 if (asprintf(&idx_0
, "[%d]", cntr_hashes_0
) != -1) {
2590 ndr_print_package_PrimaryWDigestHash(ndr
, "hashes", &r
->hashes
[cntr_hashes_0
]);
2598 static enum ndr_err_code
ndr_push_AuthInfoNone(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNone
*r
)
2600 if (ndr_flags
& NDR_SCALARS
) {
2601 NDR_CHECK(ndr_push_align(ndr
, 4));
2602 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2604 if (ndr_flags
& NDR_BUFFERS
) {
2606 return NDR_ERR_SUCCESS
;
2609 static enum ndr_err_code
ndr_pull_AuthInfoNone(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNone
*r
)
2611 if (ndr_flags
& NDR_SCALARS
) {
2612 NDR_CHECK(ndr_pull_align(ndr
, 4));
2613 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2615 if (ndr_flags
& NDR_BUFFERS
) {
2617 return NDR_ERR_SUCCESS
;
2620 _PUBLIC_
void ndr_print_AuthInfoNone(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNone
*r
)
2622 ndr_print_struct(ndr
, name
, "AuthInfoNone");
2624 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->size
);
2628 static enum ndr_err_code
ndr_push_AuthInfoNT4Owf(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNT4Owf
*r
)
2630 if (ndr_flags
& NDR_SCALARS
) {
2631 NDR_CHECK(ndr_push_align(ndr
, 4));
2632 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 16));
2633 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2635 if (ndr_flags
& NDR_BUFFERS
) {
2637 return NDR_ERR_SUCCESS
;
2640 static enum ndr_err_code
ndr_pull_AuthInfoNT4Owf(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNT4Owf
*r
)
2642 if (ndr_flags
& NDR_SCALARS
) {
2643 NDR_CHECK(ndr_pull_align(ndr
, 4));
2644 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2645 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2647 if (ndr_flags
& NDR_BUFFERS
) {
2649 return NDR_ERR_SUCCESS
;
2652 _PUBLIC_
void ndr_print_AuthInfoNT4Owf(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNT4Owf
*r
)
2654 ndr_print_struct(ndr
, name
, "AuthInfoNT4Owf");
2656 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?16:r
->size
);
2657 ndr_print_samr_Password(ndr
, "password", &r
->password
);
2661 static enum ndr_err_code
ndr_push_AuthInfoClear(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoClear
*r
)
2663 if (ndr_flags
& NDR_SCALARS
) {
2664 NDR_CHECK(ndr_push_align(ndr
, 4));
2665 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2666 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2668 if (ndr_flags
& NDR_BUFFERS
) {
2670 return NDR_ERR_SUCCESS
;
2673 static enum ndr_err_code
ndr_pull_AuthInfoClear(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoClear
*r
)
2675 if (ndr_flags
& NDR_SCALARS
) {
2676 NDR_CHECK(ndr_pull_align(ndr
, 4));
2677 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2678 NDR_PULL_ALLOC_N(ndr
, r
->password
, r
->size
);
2679 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2681 if (ndr_flags
& NDR_BUFFERS
) {
2683 return NDR_ERR_SUCCESS
;
2686 _PUBLIC_
void ndr_print_AuthInfoClear(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoClear
*r
)
2688 ndr_print_struct(ndr
, name
, "AuthInfoClear");
2690 ndr_print_uint32(ndr
, "size", r
->size
);
2691 ndr_print_array_uint8(ndr
, "password", r
->password
, r
->size
);
2695 static enum ndr_err_code
ndr_push_AuthInfoVersion(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoVersion
*r
)
2697 if (ndr_flags
& NDR_SCALARS
) {
2698 NDR_CHECK(ndr_push_align(ndr
, 4));
2699 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 4));
2700 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2702 if (ndr_flags
& NDR_BUFFERS
) {
2704 return NDR_ERR_SUCCESS
;
2707 static enum ndr_err_code
ndr_pull_AuthInfoVersion(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoVersion
*r
)
2709 if (ndr_flags
& NDR_SCALARS
) {
2710 NDR_CHECK(ndr_pull_align(ndr
, 4));
2711 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2712 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2714 if (ndr_flags
& NDR_BUFFERS
) {
2716 return NDR_ERR_SUCCESS
;
2719 _PUBLIC_
void ndr_print_AuthInfoVersion(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoVersion
*r
)
2721 ndr_print_struct(ndr
, name
, "AuthInfoVersion");
2723 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?4:r
->size
);
2724 ndr_print_uint32(ndr
, "version", r
->version
);
2728 static enum ndr_err_code
ndr_push_AuthInfo(struct ndr_push
*ndr
, int ndr_flags
, const union AuthInfo
*r
)
2730 if (ndr_flags
& NDR_SCALARS
) {
2731 int level
= ndr_push_get_switch_value(ndr
, r
);
2733 case TRUST_AUTH_TYPE_NONE
: {
2734 NDR_CHECK(ndr_push_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2737 case TRUST_AUTH_TYPE_NT4OWF
: {
2738 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2741 case TRUST_AUTH_TYPE_CLEAR
: {
2742 NDR_CHECK(ndr_push_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2745 case TRUST_AUTH_TYPE_VERSION
: {
2746 NDR_CHECK(ndr_push_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2750 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2753 if (ndr_flags
& NDR_BUFFERS
) {
2754 int level
= ndr_push_get_switch_value(ndr
, r
);
2756 case TRUST_AUTH_TYPE_NONE
:
2759 case TRUST_AUTH_TYPE_NT4OWF
:
2762 case TRUST_AUTH_TYPE_CLEAR
:
2765 case TRUST_AUTH_TYPE_VERSION
:
2769 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2772 return NDR_ERR_SUCCESS
;
2775 static enum ndr_err_code
ndr_pull_AuthInfo(struct ndr_pull
*ndr
, int ndr_flags
, union AuthInfo
*r
)
2778 level
= ndr_pull_get_switch_value(ndr
, r
);
2779 if (ndr_flags
& NDR_SCALARS
) {
2781 case TRUST_AUTH_TYPE_NONE
: {
2782 NDR_CHECK(ndr_pull_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2785 case TRUST_AUTH_TYPE_NT4OWF
: {
2786 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2789 case TRUST_AUTH_TYPE_CLEAR
: {
2790 NDR_CHECK(ndr_pull_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2793 case TRUST_AUTH_TYPE_VERSION
: {
2794 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2798 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2801 if (ndr_flags
& NDR_BUFFERS
) {
2803 case TRUST_AUTH_TYPE_NONE
:
2806 case TRUST_AUTH_TYPE_NT4OWF
:
2809 case TRUST_AUTH_TYPE_CLEAR
:
2812 case TRUST_AUTH_TYPE_VERSION
:
2816 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2819 return NDR_ERR_SUCCESS
;
2822 _PUBLIC_
void ndr_print_AuthInfo(struct ndr_print
*ndr
, const char *name
, const union AuthInfo
*r
)
2825 level
= ndr_print_get_switch_value(ndr
, r
);
2826 ndr_print_union(ndr
, name
, level
, "AuthInfo");
2828 case TRUST_AUTH_TYPE_NONE
:
2829 ndr_print_AuthInfoNone(ndr
, "none", &r
->none
);
2832 case TRUST_AUTH_TYPE_NT4OWF
:
2833 ndr_print_AuthInfoNT4Owf(ndr
, "nt4owf", &r
->nt4owf
);
2836 case TRUST_AUTH_TYPE_CLEAR
:
2837 ndr_print_AuthInfoClear(ndr
, "clear", &r
->clear
);
2840 case TRUST_AUTH_TYPE_VERSION
:
2841 ndr_print_AuthInfoVersion(ndr
, "version", &r
->version
);
2845 ndr_print_bad_level(ndr
, name
, level
);
2849 _PUBLIC_
enum ndr_err_code
ndr_push_AuthenticationInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthenticationInformation
*r
)
2851 if (ndr_flags
& NDR_SCALARS
) {
2852 NDR_CHECK(ndr_push_align(ndr
, 4));
2853 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->LastUpdateTime
));
2854 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr
, NDR_SCALARS
, r
->AuthType
));
2855 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
2856 NDR_CHECK(ndr_push_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
2858 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2859 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
2860 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->_pad
));
2861 ndr
->flags
= _flags_save_DATA_BLOB
;
2864 if (ndr_flags
& NDR_BUFFERS
) {
2866 return NDR_ERR_SUCCESS
;
2869 _PUBLIC_
enum ndr_err_code
ndr_pull_AuthenticationInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthenticationInformation
*r
)
2871 if (ndr_flags
& NDR_SCALARS
) {
2872 NDR_CHECK(ndr_pull_align(ndr
, 4));
2873 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->LastUpdateTime
));
2874 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr
, NDR_SCALARS
, &r
->AuthType
));
2875 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
2876 NDR_CHECK(ndr_pull_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
2878 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2879 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
2880 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->_pad
));
2881 ndr
->flags
= _flags_save_DATA_BLOB
;
2884 if (ndr_flags
& NDR_BUFFERS
) {
2886 return NDR_ERR_SUCCESS
;
2889 _PUBLIC_
void ndr_print_AuthenticationInformation(struct ndr_print
*ndr
, const char *name
, const struct AuthenticationInformation
*r
)
2891 ndr_print_struct(ndr
, name
, "AuthenticationInformation");
2893 ndr_print_NTTIME(ndr
, "LastUpdateTime", r
->LastUpdateTime
);
2894 ndr_print_lsa_TrustAuthType(ndr
, "AuthType", r
->AuthType
);
2895 ndr_print_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
);
2896 ndr_print_AuthInfo(ndr
, "AuthInfo", &r
->AuthInfo
);
2897 ndr_print_DATA_BLOB(ndr
, "_pad", r
->_pad
);
2901 _PUBLIC_
size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2903 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustAuthInOutBlob
, ic
);
2906 _PUBLIC_
enum ndr_err_code
ndr_push_trustCurrentPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustCurrentPasswords
*r
)
2908 uint32_t cntr_current_0
;
2909 if (ndr_flags
& NDR_SCALARS
) {
2910 NDR_CHECK(ndr_push_align(ndr
, 5));
2911 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2912 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
2913 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->current
[cntr_current_0
]));
2916 if (ndr_flags
& NDR_BUFFERS
) {
2917 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
2918 if (r
->current
[cntr_current_0
]) {
2919 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->current
[cntr_current_0
]));
2920 NDR_CHECK(ndr_push_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
2924 return NDR_ERR_SUCCESS
;
2927 _PUBLIC_
enum ndr_err_code
ndr_pull_trustCurrentPasswords(struct ndr_pull
*ndr
, int ndr_flags
, struct trustCurrentPasswords
*r
)
2929 uint32_t _ptr_current
;
2930 uint32_t cntr_current_0
;
2931 TALLOC_CTX
*_mem_save_current_0
;
2932 TALLOC_CTX
*_mem_save_current_1
;
2933 if (ndr_flags
& NDR_SCALARS
) {
2934 NDR_CHECK(ndr_pull_align(ndr
, 5));
2935 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2936 NDR_PULL_ALLOC_N(ndr
, r
->current
, r
->count
);
2937 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2938 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
2939 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
2940 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_current
));
2942 NDR_PULL_ALLOC(ndr
, r
->current
[cntr_current_0
]);
2943 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->current
[cntr_current_0
], _ptr_current
));
2945 r
->current
[cntr_current_0
] = NULL
;
2948 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
2950 if (ndr_flags
& NDR_BUFFERS
) {
2951 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2952 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
2953 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
2954 if (r
->current
[cntr_current_0
]) {
2955 uint32_t _relative_save_offset
;
2956 _relative_save_offset
= ndr
->offset
;
2957 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->current
[cntr_current_0
]));
2958 _mem_save_current_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2959 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
[cntr_current_0
], 0);
2960 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
2961 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_1
, 0);
2962 ndr
->offset
= _relative_save_offset
;
2965 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
2967 return NDR_ERR_SUCCESS
;
2970 _PUBLIC_
void ndr_print_trustCurrentPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustCurrentPasswords
*r
)
2972 uint32_t cntr_current_0
;
2973 ndr_print_struct(ndr
, name
, "trustCurrentPasswords");
2975 ndr_print_uint32(ndr
, "count", r
->count
);
2976 ndr
->print(ndr
, "%s: ARRAY(%d)", "current", (int)r
->count
);
2978 for (cntr_current_0
=0;cntr_current_0
<r
->count
;cntr_current_0
++) {
2980 if (asprintf(&idx_0
, "[%d]", cntr_current_0
) != -1) {
2981 ndr_print_ptr(ndr
, "current", r
->current
[cntr_current_0
]);
2983 if (r
->current
[cntr_current_0
]) {
2984 ndr_print_AuthenticationInformation(ndr
, "current", r
->current
[cntr_current_0
]);
2994 _PUBLIC_
size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2996 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustCurrentPasswords
, ic
);
2999 _PUBLIC_
enum ndr_err_code
ndr_push_trustDomainPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustDomainPasswords
*r
)
3001 if (ndr_flags
& NDR_SCALARS
) {
3002 NDR_CHECK(ndr_push_align(ndr
, 5));
3003 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->confounder
, 512));
3005 struct ndr_push
*_ndr_outgoing
;
3006 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3007 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing
, NDR_SCALARS
|NDR_BUFFERS
, &r
->outgoing
));
3008 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3011 struct ndr_push
*_ndr_incoming
;
3012 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3013 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming
, NDR_SCALARS
|NDR_BUFFERS
, &r
->incoming
));
3014 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3016 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3017 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3019 if (ndr_flags
& NDR_BUFFERS
) {
3021 return NDR_ERR_SUCCESS
;
3024 _PUBLIC_
void ndr_print_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustDomainPasswords
*r
)
3026 ndr_print_struct(ndr
, name
, "trustDomainPasswords");
3028 ndr_print_array_uint8(ndr
, "confounder", r
->confounder
, 512);
3029 ndr_print_trustCurrentPasswords(ndr
, "outgoing", &r
->outgoing
);
3030 ndr_print_trustCurrentPasswords(ndr
, "incoming", &r
->incoming
);
3031 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
);
3032 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
);
3036 _PUBLIC_
enum ndr_err_code
ndr_push_DsCompressedChunk(struct ndr_push
*ndr
, int ndr_flags
, const struct DsCompressedChunk
*r
)
3038 if (ndr_flags
& NDR_SCALARS
) {
3039 NDR_CHECK(ndr_push_align(ndr
, 4));
3040 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->marker
));
3041 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->data
));
3043 if (ndr_flags
& NDR_BUFFERS
) {
3045 return NDR_ERR_SUCCESS
;
3048 _PUBLIC_
enum ndr_err_code
ndr_pull_DsCompressedChunk(struct ndr_pull
*ndr
, int ndr_flags
, struct DsCompressedChunk
*r
)
3050 if (ndr_flags
& NDR_SCALARS
) {
3051 NDR_CHECK(ndr_pull_align(ndr
, 4));
3052 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->marker
));
3053 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->data
));
3055 if (ndr_flags
& NDR_BUFFERS
) {
3057 return NDR_ERR_SUCCESS
;
3060 _PUBLIC_
void ndr_print_DsCompressedChunk(struct ndr_print
*ndr
, const char *name
, const struct DsCompressedChunk
*r
)
3062 ndr_print_struct(ndr
, name
, "DsCompressedChunk");
3064 ndr_print_uint32(ndr
, "marker", r
->marker
);
3065 ndr_print_DATA_BLOB(ndr
, "data", r
->data
);
3069 static enum ndr_err_code
ndr_push_ExtendedErrorAString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorAString
*r
)
3071 if (ndr_flags
& NDR_SCALARS
) {
3072 NDR_CHECK(ndr_push_align(ndr
, 5));
3073 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
3074 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
3076 if (ndr_flags
& NDR_BUFFERS
) {
3078 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->__size
));
3079 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint8_t), CH_DOS
));
3082 return NDR_ERR_SUCCESS
;
3085 static enum ndr_err_code
ndr_pull_ExtendedErrorAString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorAString
*r
)
3087 uint32_t _ptr_string
;
3088 TALLOC_CTX
*_mem_save_string_0
;
3089 if (ndr_flags
& NDR_SCALARS
) {
3090 NDR_CHECK(ndr_pull_align(ndr
, 5));
3091 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
3092 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
3094 NDR_PULL_ALLOC(ndr
, r
->string
);
3099 if (ndr_flags
& NDR_BUFFERS
) {
3101 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3102 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
3103 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
3104 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_size(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
3105 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
3108 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
3111 return NDR_ERR_SUCCESS
;
3114 _PUBLIC_
void ndr_print_ExtendedErrorAString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorAString
*r
)
3116 ndr_print_struct(ndr
, name
, "ExtendedErrorAString");
3118 ndr_print_uint16(ndr
, "__size", r
->__size
);
3119 ndr_print_ptr(ndr
, "string", r
->string
);
3122 ndr_print_string(ndr
, "string", r
->string
);
3128 static enum ndr_err_code
ndr_push_ExtendedErrorUString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorUString
*r
)
3130 if (ndr_flags
& NDR_SCALARS
) {
3131 NDR_CHECK(ndr_push_align(ndr
, 5));
3132 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
3133 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
3135 if (ndr_flags
& NDR_BUFFERS
) {
3137 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->__size
));
3138 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint16_t), CH_UTF16
));
3141 return NDR_ERR_SUCCESS
;
3144 static enum ndr_err_code
ndr_pull_ExtendedErrorUString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorUString
*r
)
3146 uint32_t _ptr_string
;
3147 TALLOC_CTX
*_mem_save_string_0
;
3148 if (ndr_flags
& NDR_SCALARS
) {
3149 NDR_CHECK(ndr_pull_align(ndr
, 5));
3150 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
3151 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
3153 NDR_PULL_ALLOC(ndr
, r
->string
);
3158 if (ndr_flags
& NDR_BUFFERS
) {
3160 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3161 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
3162 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
3163 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_size(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
3164 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
3167 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
3170 return NDR_ERR_SUCCESS
;
3173 _PUBLIC_
void ndr_print_ExtendedErrorUString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorUString
*r
)
3175 ndr_print_struct(ndr
, name
, "ExtendedErrorUString");
3177 ndr_print_uint16(ndr
, "__size", r
->__size
);
3178 ndr_print_ptr(ndr
, "string", r
->string
);
3181 ndr_print_string(ndr
, "string", r
->string
);
3187 static enum ndr_err_code
ndr_push_ExtendedErrorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorBlob
*r
)
3189 if (ndr_flags
& NDR_SCALARS
) {
3190 NDR_CHECK(ndr_push_align(ndr
, 5));
3191 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->length
));
3192 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
3194 if (ndr_flags
& NDR_BUFFERS
) {
3196 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
3197 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
3200 return NDR_ERR_SUCCESS
;
3203 static enum ndr_err_code
ndr_pull_ExtendedErrorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorBlob
*r
)
3206 TALLOC_CTX
*_mem_save_data_0
;
3207 if (ndr_flags
& NDR_SCALARS
) {
3208 NDR_CHECK(ndr_pull_align(ndr
, 5));
3209 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
3210 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
3212 NDR_PULL_ALLOC(ndr
, r
->data
);
3217 if (ndr_flags
& NDR_BUFFERS
) {
3219 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3220 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
3221 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
3222 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
3223 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
3224 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
3227 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
3230 return NDR_ERR_SUCCESS
;
3233 _PUBLIC_
void ndr_print_ExtendedErrorBlob(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorBlob
*r
)
3235 ndr_print_struct(ndr
, name
, "ExtendedErrorBlob");
3237 ndr_print_uint16(ndr
, "length", r
->length
);
3238 ndr_print_ptr(ndr
, "data", r
->data
);
3241 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
3247 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent r
)
3249 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3250 return NDR_ERR_SUCCESS
;
3253 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent
*r
)
3256 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3258 return NDR_ERR_SUCCESS
;
3261 _PUBLIC_
void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorComputerNamePresent r
)
3263 const char *val
= NULL
;
3266 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3267 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3269 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3272 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNameU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorComputerNameU
*r
)
3274 if (ndr_flags
& NDR_SCALARS
) {
3275 int level
= ndr_push_get_switch_value(ndr
, r
);
3276 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, level
));
3278 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3279 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3282 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3286 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3289 if (ndr_flags
& NDR_BUFFERS
) {
3290 int level
= ndr_push_get_switch_value(ndr
, r
);
3292 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3293 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3296 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3300 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3303 return NDR_ERR_SUCCESS
;
3306 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorComputerNameU
*r
)
3310 level
= ndr_pull_get_switch_value(ndr
, r
);
3311 if (ndr_flags
& NDR_SCALARS
) {
3312 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3313 if (_level
!= level
) {
3314 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3317 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3318 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3321 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3325 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3328 if (ndr_flags
& NDR_BUFFERS
) {
3330 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3331 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3334 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3338 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3341 return NDR_ERR_SUCCESS
;
3344 _PUBLIC_
void ndr_print_ExtendedErrorComputerNameU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorComputerNameU
*r
)
3347 level
= ndr_print_get_switch_value(ndr
, r
);
3348 ndr_print_union(ndr
, name
, level
, "ExtendedErrorComputerNameU");
3350 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3351 ndr_print_ExtendedErrorUString(ndr
, "name", &r
->name
);
3354 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3358 ndr_print_bad_level(ndr
, name
, level
);
3362 static enum ndr_err_code
ndr_push_ExtendedErrorComputerName(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorComputerName
*r
)
3364 if (ndr_flags
& NDR_SCALARS
) {
3365 NDR_CHECK(ndr_push_align(ndr
, 5));
3366 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, r
->present
));
3367 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->n
, r
->present
));
3368 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3370 if (ndr_flags
& NDR_BUFFERS
) {
3371 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3373 return NDR_ERR_SUCCESS
;
3376 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerName(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorComputerName
*r
)
3378 if (ndr_flags
& NDR_SCALARS
) {
3379 NDR_CHECK(ndr_pull_align(ndr
, 5));
3380 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, &r
->present
));
3381 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->n
, r
->present
));
3382 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3384 if (ndr_flags
& NDR_BUFFERS
) {
3385 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3387 return NDR_ERR_SUCCESS
;
3390 _PUBLIC_
void ndr_print_ExtendedErrorComputerName(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorComputerName
*r
)
3392 ndr_print_struct(ndr
, name
, "ExtendedErrorComputerName");
3394 ndr_print_ExtendedErrorComputerNamePresent(ndr
, "present", r
->present
);
3395 ndr_print_set_switch_value(ndr
, &r
->n
, r
->present
);
3396 ndr_print_ExtendedErrorComputerNameU(ndr
, "n", &r
->n
);
3400 static enum ndr_err_code
ndr_push_ExtendedErrorParamType(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorParamType r
)
3402 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3403 return NDR_ERR_SUCCESS
;
3406 static enum ndr_err_code
ndr_pull_ExtendedErrorParamType(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorParamType
*r
)
3409 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3411 return NDR_ERR_SUCCESS
;
3414 _PUBLIC_
void ndr_print_ExtendedErrorParamType(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorParamType r
)
3416 const char *val
= NULL
;
3419 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3420 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3421 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3422 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3423 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3424 case EXTENDED_ERROR_PARAM_TYPE_NONE
: val
= "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3425 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: val
= "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3427 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3430 static enum ndr_err_code
ndr_push_ExtendedErrorParamU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorParamU
*r
)
3432 if (ndr_flags
& NDR_SCALARS
) {
3433 int level
= ndr_push_get_switch_value(ndr
, r
);
3434 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, level
));
3436 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3437 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3440 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3441 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3444 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3445 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->uint32
));
3448 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3449 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->uint16
));
3452 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3453 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->uint64
));
3456 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3459 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3460 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3464 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3467 if (ndr_flags
& NDR_BUFFERS
) {
3468 int level
= ndr_push_get_switch_value(ndr
, r
);
3470 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3471 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3474 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3475 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3478 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3481 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3484 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3487 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3490 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3491 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3495 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3498 return NDR_ERR_SUCCESS
;
3501 static enum ndr_err_code
ndr_pull_ExtendedErrorParamU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorParamU
*r
)
3505 level
= ndr_pull_get_switch_value(ndr
, r
);
3506 if (ndr_flags
& NDR_SCALARS
) {
3507 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3508 if (_level
!= level
) {
3509 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3512 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3513 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3516 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3517 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3520 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3521 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->uint32
));
3524 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3525 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->uint16
));
3528 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3529 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->uint64
));
3532 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3535 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3536 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3540 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3543 if (ndr_flags
& NDR_BUFFERS
) {
3545 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3546 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3549 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3550 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3553 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3556 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3559 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3562 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3565 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3566 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3570 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3573 return NDR_ERR_SUCCESS
;
3576 _PUBLIC_
void ndr_print_ExtendedErrorParamU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorParamU
*r
)
3579 level
= ndr_print_get_switch_value(ndr
, r
);
3580 ndr_print_union(ndr
, name
, level
, "ExtendedErrorParamU");
3582 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3583 ndr_print_ExtendedErrorAString(ndr
, "a_string", &r
->a_string
);
3586 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3587 ndr_print_ExtendedErrorUString(ndr
, "u_string", &r
->u_string
);
3590 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3591 ndr_print_uint32(ndr
, "uint32", r
->uint32
);
3594 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3595 ndr_print_uint16(ndr
, "uint16", r
->uint16
);
3598 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3599 ndr_print_hyper(ndr
, "uint64", r
->uint64
);
3602 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3605 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3606 ndr_print_ExtendedErrorBlob(ndr
, "blob", &r
->blob
);
3610 ndr_print_bad_level(ndr
, name
, level
);
3614 static enum ndr_err_code
ndr_push_ExtendedErrorParam(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorParam
*r
)
3616 if (ndr_flags
& NDR_SCALARS
) {
3617 NDR_CHECK(ndr_push_align(ndr
, 8));
3618 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, r
->type
));
3619 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->p
, r
->type
));
3620 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3622 if (ndr_flags
& NDR_BUFFERS
) {
3623 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3625 return NDR_ERR_SUCCESS
;
3628 static enum ndr_err_code
ndr_pull_ExtendedErrorParam(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorParam
*r
)
3630 if (ndr_flags
& NDR_SCALARS
) {
3631 NDR_CHECK(ndr_pull_align(ndr
, 8));
3632 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr
, NDR_SCALARS
, &r
->type
));
3633 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->p
, r
->type
));
3634 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3636 if (ndr_flags
& NDR_BUFFERS
) {
3637 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3639 return NDR_ERR_SUCCESS
;
3642 _PUBLIC_
void ndr_print_ExtendedErrorParam(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorParam
*r
)
3644 ndr_print_struct(ndr
, name
, "ExtendedErrorParam");
3646 ndr_print_ExtendedErrorParamType(ndr
, "type", r
->type
);
3647 ndr_print_set_switch_value(ndr
, &r
->p
, r
->type
);
3648 ndr_print_ExtendedErrorParamU(ndr
, "p", &r
->p
);
3652 _PUBLIC_
enum ndr_err_code
ndr_push_ExtendedErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfo
*r
)
3654 uint32_t cntr_params_0
;
3655 if (ndr_flags
& NDR_SCALARS
) {
3656 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_params
));
3657 NDR_CHECK(ndr_push_align(ndr
, 8));
3658 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
3659 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3660 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->pid
));
3661 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
3662 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->generating_component
));
3663 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
3664 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->detection_location
));
3665 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->flags
));
3666 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_params
));
3667 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3668 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3671 if (ndr_flags
& NDR_BUFFERS
) {
3673 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3675 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3676 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3677 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3680 return NDR_ERR_SUCCESS
;
3683 _PUBLIC_
enum ndr_err_code
ndr_pull_ExtendedErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfo
*r
)
3686 TALLOC_CTX
*_mem_save_next_0
;
3687 uint32_t cntr_params_0
;
3688 TALLOC_CTX
*_mem_save_params_0
;
3689 if (ndr_flags
& NDR_SCALARS
) {
3690 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->params
));
3691 NDR_CHECK(ndr_pull_align(ndr
, 8));
3692 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
3694 NDR_PULL_ALLOC(ndr
, r
->next
);
3698 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3699 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->pid
));
3700 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
3701 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->generating_component
));
3702 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
3703 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->detection_location
));
3704 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
3705 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_params
));
3706 NDR_PULL_ALLOC_N(ndr
, r
->params
, ndr_get_array_size(ndr
, &r
->params
));
3707 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3708 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3709 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3710 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3712 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3714 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->params
, r
->num_params
));
3717 if (ndr_flags
& NDR_BUFFERS
) {
3719 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3720 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
3721 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3722 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
3724 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3725 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3726 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3727 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3728 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3730 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3732 return NDR_ERR_SUCCESS
;
3735 _PUBLIC_
void ndr_print_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfo
*r
)
3737 uint32_t cntr_params_0
;
3738 ndr_print_struct(ndr
, name
, "ExtendedErrorInfo");
3740 ndr_print_ptr(ndr
, "next", r
->next
);
3743 ndr_print_ExtendedErrorInfo(ndr
, "next", r
->next
);
3746 ndr_print_ExtendedErrorComputerName(ndr
, "computer_name", &r
->computer_name
);
3747 ndr_print_hyper(ndr
, "pid", r
->pid
);
3748 ndr_print_NTTIME(ndr
, "time", r
->time
);
3749 ndr_print_uint32(ndr
, "generating_component", r
->generating_component
);
3750 ndr_print_WERROR(ndr
, "status", r
->status
);
3751 ndr_print_uint16(ndr
, "detection_location", r
->detection_location
);
3752 ndr_print_uint16(ndr
, "flags", r
->flags
);
3753 ndr_print_uint16(ndr
, "num_params", r
->num_params
);
3754 ndr
->print(ndr
, "%s: ARRAY(%d)", "params", (int)r
->num_params
);
3756 for (cntr_params_0
=0;cntr_params_0
<r
->num_params
;cntr_params_0
++) {
3758 if (asprintf(&idx_0
, "[%d]", cntr_params_0
) != -1) {
3759 ndr_print_ExtendedErrorParam(ndr
, "params", &r
->params
[cntr_params_0
]);
3767 static enum ndr_err_code
ndr_push_ExtendedErrorInfoPtr(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfoPtr
*r
)
3769 if (ndr_flags
& NDR_SCALARS
) {
3770 NDR_CHECK(ndr_push_align(ndr
, 5));
3771 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
3773 if (ndr_flags
& NDR_BUFFERS
) {
3775 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
3778 return NDR_ERR_SUCCESS
;
3781 static enum ndr_err_code
ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfoPtr
*r
)
3784 TALLOC_CTX
*_mem_save_info_0
;
3785 if (ndr_flags
& NDR_SCALARS
) {
3786 NDR_CHECK(ndr_pull_align(ndr
, 5));
3787 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
3789 NDR_PULL_ALLOC(ndr
, r
->info
);
3794 if (ndr_flags
& NDR_BUFFERS
) {
3796 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3797 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
3798 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
3799 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
3802 return NDR_ERR_SUCCESS
;
3805 _PUBLIC_
void ndr_print_ExtendedErrorInfoPtr(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfoPtr
*r
)
3807 ndr_print_struct(ndr
, name
, "ExtendedErrorInfoPtr");
3809 ndr_print_ptr(ndr
, "info", r
->info
);
3812 ndr_print_ExtendedErrorInfo(ndr
, "info", r
->info
);
3818 static enum ndr_err_code
ndr_push_decode_replPropertyMetaData(struct ndr_push
*ndr
, int flags
, const struct decode_replPropertyMetaData
*r
)
3820 if (flags
& NDR_IN
) {
3821 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3823 if (flags
& NDR_OUT
) {
3825 return NDR_ERR_SUCCESS
;
3828 static enum ndr_err_code
ndr_pull_decode_replPropertyMetaData(struct ndr_pull
*ndr
, int flags
, struct decode_replPropertyMetaData
*r
)
3830 if (flags
& NDR_IN
) {
3831 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3833 if (flags
& NDR_OUT
) {
3835 return NDR_ERR_SUCCESS
;
3838 _PUBLIC_
void ndr_print_decode_replPropertyMetaData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replPropertyMetaData
*r
)
3840 ndr_print_struct(ndr
, name
, "decode_replPropertyMetaData");
3842 if (flags
& NDR_SET_VALUES
) {
3843 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3845 if (flags
& NDR_IN
) {
3846 ndr_print_struct(ndr
, "in", "decode_replPropertyMetaData");
3848 ndr_print_replPropertyMetaDataBlob(ndr
, "blob", &r
->in
.blob
);
3851 if (flags
& NDR_OUT
) {
3852 ndr_print_struct(ndr
, "out", "decode_replPropertyMetaData");
3859 static enum ndr_err_code
ndr_push_decode_replUpToDateVector(struct ndr_push
*ndr
, int flags
, const struct decode_replUpToDateVector
*r
)
3861 if (flags
& NDR_IN
) {
3862 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3864 if (flags
& NDR_OUT
) {
3866 return NDR_ERR_SUCCESS
;
3869 static enum ndr_err_code
ndr_pull_decode_replUpToDateVector(struct ndr_pull
*ndr
, int flags
, struct decode_replUpToDateVector
*r
)
3871 if (flags
& NDR_IN
) {
3872 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3874 if (flags
& NDR_OUT
) {
3876 return NDR_ERR_SUCCESS
;
3879 _PUBLIC_
void ndr_print_decode_replUpToDateVector(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replUpToDateVector
*r
)
3881 ndr_print_struct(ndr
, name
, "decode_replUpToDateVector");
3883 if (flags
& NDR_SET_VALUES
) {
3884 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3886 if (flags
& NDR_IN
) {
3887 ndr_print_struct(ndr
, "in", "decode_replUpToDateVector");
3889 ndr_print_replUpToDateVectorBlob(ndr
, "blob", &r
->in
.blob
);
3892 if (flags
& NDR_OUT
) {
3893 ndr_print_struct(ndr
, "out", "decode_replUpToDateVector");
3900 static enum ndr_err_code
ndr_push_decode_repsFromTo(struct ndr_push
*ndr
, int flags
, const struct decode_repsFromTo
*r
)
3902 if (flags
& NDR_IN
) {
3903 NDR_CHECK(ndr_push_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3905 if (flags
& NDR_OUT
) {
3907 return NDR_ERR_SUCCESS
;
3910 static enum ndr_err_code
ndr_pull_decode_repsFromTo(struct ndr_pull
*ndr
, int flags
, struct decode_repsFromTo
*r
)
3912 if (flags
& NDR_IN
) {
3913 NDR_CHECK(ndr_pull_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3915 if (flags
& NDR_OUT
) {
3917 return NDR_ERR_SUCCESS
;
3920 _PUBLIC_
void ndr_print_decode_repsFromTo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_repsFromTo
*r
)
3922 ndr_print_struct(ndr
, name
, "decode_repsFromTo");
3924 if (flags
& NDR_SET_VALUES
) {
3925 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3927 if (flags
& NDR_IN
) {
3928 ndr_print_struct(ndr
, "in", "decode_repsFromTo");
3930 ndr_print_repsFromToBlob(ndr
, "blob", &r
->in
.blob
);
3933 if (flags
& NDR_OUT
) {
3934 ndr_print_struct(ndr
, "out", "decode_repsFromTo");
3941 static enum ndr_err_code
ndr_push_decode_partialAttributeSet(struct ndr_push
*ndr
, int flags
, const struct decode_partialAttributeSet
*r
)
3943 if (flags
& NDR_IN
) {
3944 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3946 if (flags
& NDR_OUT
) {
3948 return NDR_ERR_SUCCESS
;
3951 static enum ndr_err_code
ndr_pull_decode_partialAttributeSet(struct ndr_pull
*ndr
, int flags
, struct decode_partialAttributeSet
*r
)
3953 if (flags
& NDR_IN
) {
3954 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3956 if (flags
& NDR_OUT
) {
3958 return NDR_ERR_SUCCESS
;
3961 _PUBLIC_
void ndr_print_decode_partialAttributeSet(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_partialAttributeSet
*r
)
3963 ndr_print_struct(ndr
, name
, "decode_partialAttributeSet");
3965 if (flags
& NDR_SET_VALUES
) {
3966 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3968 if (flags
& NDR_IN
) {
3969 ndr_print_struct(ndr
, "in", "decode_partialAttributeSet");
3971 ndr_print_partialAttributeSetBlob(ndr
, "blob", &r
->in
.blob
);
3974 if (flags
& NDR_OUT
) {
3975 ndr_print_struct(ndr
, "out", "decode_partialAttributeSet");
3982 static enum ndr_err_code
ndr_push_decode_prefixMap(struct ndr_push
*ndr
, int flags
, const struct decode_prefixMap
*r
)
3984 if (flags
& NDR_IN
) {
3985 NDR_CHECK(ndr_push_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3987 if (flags
& NDR_OUT
) {
3989 return NDR_ERR_SUCCESS
;
3992 static enum ndr_err_code
ndr_pull_decode_prefixMap(struct ndr_pull
*ndr
, int flags
, struct decode_prefixMap
*r
)
3994 if (flags
& NDR_IN
) {
3995 NDR_CHECK(ndr_pull_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3997 if (flags
& NDR_OUT
) {
3999 return NDR_ERR_SUCCESS
;
4002 _PUBLIC_
void ndr_print_decode_prefixMap(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_prefixMap
*r
)
4004 ndr_print_struct(ndr
, name
, "decode_prefixMap");
4006 if (flags
& NDR_SET_VALUES
) {
4007 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4009 if (flags
& NDR_IN
) {
4010 ndr_print_struct(ndr
, "in", "decode_prefixMap");
4012 ndr_print_prefixMapBlob(ndr
, "blob", &r
->in
.blob
);
4015 if (flags
& NDR_OUT
) {
4016 ndr_print_struct(ndr
, "out", "decode_prefixMap");
4023 static enum ndr_err_code
ndr_push_decode_ldapControlDirSync(struct ndr_push
*ndr
, int flags
, const struct decode_ldapControlDirSync
*r
)
4025 if (flags
& NDR_IN
) {
4026 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
4028 if (flags
& NDR_OUT
) {
4030 return NDR_ERR_SUCCESS
;
4033 static enum ndr_err_code
ndr_pull_decode_ldapControlDirSync(struct ndr_pull
*ndr
, int flags
, struct decode_ldapControlDirSync
*r
)
4035 if (flags
& NDR_IN
) {
4036 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
4038 if (flags
& NDR_OUT
) {
4040 return NDR_ERR_SUCCESS
;
4043 _PUBLIC_
void ndr_print_decode_ldapControlDirSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ldapControlDirSync
*r
)
4045 ndr_print_struct(ndr
, name
, "decode_ldapControlDirSync");
4047 if (flags
& NDR_SET_VALUES
) {
4048 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4050 if (flags
& NDR_IN
) {
4051 ndr_print_struct(ndr
, "in", "decode_ldapControlDirSync");
4053 ndr_print_ldapControlDirSyncCookie(ndr
, "cookie", &r
->in
.cookie
);
4056 if (flags
& NDR_OUT
) {
4057 ndr_print_struct(ndr
, "out", "decode_ldapControlDirSync");
4064 static enum ndr_err_code
ndr_push_decode_supplementalCredentials(struct ndr_push
*ndr
, int flags
, const struct decode_supplementalCredentials
*r
)
4066 if (flags
& NDR_IN
) {
4067 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4069 if (flags
& NDR_OUT
) {
4071 return NDR_ERR_SUCCESS
;
4074 static enum ndr_err_code
ndr_pull_decode_supplementalCredentials(struct ndr_pull
*ndr
, int flags
, struct decode_supplementalCredentials
*r
)
4076 if (flags
& NDR_IN
) {
4077 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4079 if (flags
& NDR_OUT
) {
4081 return NDR_ERR_SUCCESS
;
4084 _PUBLIC_
void ndr_print_decode_supplementalCredentials(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_supplementalCredentials
*r
)
4086 ndr_print_struct(ndr
, name
, "decode_supplementalCredentials");
4088 if (flags
& NDR_SET_VALUES
) {
4089 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4091 if (flags
& NDR_IN
) {
4092 ndr_print_struct(ndr
, "in", "decode_supplementalCredentials");
4094 ndr_print_supplementalCredentialsBlob(ndr
, "blob", &r
->in
.blob
);
4097 if (flags
& NDR_OUT
) {
4098 ndr_print_struct(ndr
, "out", "decode_supplementalCredentials");
4105 static enum ndr_err_code
ndr_push_decode_Packages(struct ndr_push
*ndr
, int flags
, const struct decode_Packages
*r
)
4107 if (flags
& NDR_IN
) {
4108 NDR_CHECK(ndr_push_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4110 if (flags
& NDR_OUT
) {
4112 return NDR_ERR_SUCCESS
;
4115 static enum ndr_err_code
ndr_pull_decode_Packages(struct ndr_pull
*ndr
, int flags
, struct decode_Packages
*r
)
4117 if (flags
& NDR_IN
) {
4118 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4120 if (flags
& NDR_OUT
) {
4122 return NDR_ERR_SUCCESS
;
4125 _PUBLIC_
void ndr_print_decode_Packages(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_Packages
*r
)
4127 ndr_print_struct(ndr
, name
, "decode_Packages");
4129 if (flags
& NDR_SET_VALUES
) {
4130 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4132 if (flags
& NDR_IN
) {
4133 ndr_print_struct(ndr
, "in", "decode_Packages");
4135 ndr_print_package_PackagesBlob(ndr
, "blob", &r
->in
.blob
);
4138 if (flags
& NDR_OUT
) {
4139 ndr_print_struct(ndr
, "out", "decode_Packages");
4146 static enum ndr_err_code
ndr_push_decode_PrimaryKerberos(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryKerberos
*r
)
4148 if (flags
& NDR_IN
) {
4149 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4151 if (flags
& NDR_OUT
) {
4153 return NDR_ERR_SUCCESS
;
4156 static enum ndr_err_code
ndr_pull_decode_PrimaryKerberos(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryKerberos
*r
)
4158 if (flags
& NDR_IN
) {
4159 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4161 if (flags
& NDR_OUT
) {
4163 return NDR_ERR_SUCCESS
;
4166 _PUBLIC_
void ndr_print_decode_PrimaryKerberos(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryKerberos
*r
)
4168 ndr_print_struct(ndr
, name
, "decode_PrimaryKerberos");
4170 if (flags
& NDR_SET_VALUES
) {
4171 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4173 if (flags
& NDR_IN
) {
4174 ndr_print_struct(ndr
, "in", "decode_PrimaryKerberos");
4176 ndr_print_package_PrimaryKerberosBlob(ndr
, "blob", &r
->in
.blob
);
4179 if (flags
& NDR_OUT
) {
4180 ndr_print_struct(ndr
, "out", "decode_PrimaryKerberos");
4187 static enum ndr_err_code
ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
4189 if (flags
& NDR_IN
) {
4190 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4192 if (flags
& NDR_OUT
) {
4194 return NDR_ERR_SUCCESS
;
4197 static enum ndr_err_code
ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryCLEARTEXT
*r
)
4199 if (flags
& NDR_IN
) {
4200 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4202 if (flags
& NDR_OUT
) {
4204 return NDR_ERR_SUCCESS
;
4207 _PUBLIC_
void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
4209 ndr_print_struct(ndr
, name
, "decode_PrimaryCLEARTEXT");
4211 if (flags
& NDR_SET_VALUES
) {
4212 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4214 if (flags
& NDR_IN
) {
4215 ndr_print_struct(ndr
, "in", "decode_PrimaryCLEARTEXT");
4217 ndr_print_package_PrimaryCLEARTEXTBlob(ndr
, "blob", &r
->in
.blob
);
4220 if (flags
& NDR_OUT
) {
4221 ndr_print_struct(ndr
, "out", "decode_PrimaryCLEARTEXT");
4228 static enum ndr_err_code
ndr_push_decode_PrimaryWDigest(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryWDigest
*r
)
4230 if (flags
& NDR_IN
) {
4231 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4233 if (flags
& NDR_OUT
) {
4235 return NDR_ERR_SUCCESS
;
4238 static enum ndr_err_code
ndr_pull_decode_PrimaryWDigest(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryWDigest
*r
)
4240 if (flags
& NDR_IN
) {
4241 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4243 if (flags
& NDR_OUT
) {
4245 return NDR_ERR_SUCCESS
;
4248 _PUBLIC_
void ndr_print_decode_PrimaryWDigest(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryWDigest
*r
)
4250 ndr_print_struct(ndr
, name
, "decode_PrimaryWDigest");
4252 if (flags
& NDR_SET_VALUES
) {
4253 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4255 if (flags
& NDR_IN
) {
4256 ndr_print_struct(ndr
, "in", "decode_PrimaryWDigest");
4258 ndr_print_package_PrimaryWDigestBlob(ndr
, "blob", &r
->in
.blob
);
4261 if (flags
& NDR_OUT
) {
4262 ndr_print_struct(ndr
, "out", "decode_PrimaryWDigest");
4269 static enum ndr_err_code
ndr_push_decode_trustAuthInOut(struct ndr_push
*ndr
, int flags
, const struct decode_trustAuthInOut
*r
)
4271 if (flags
& NDR_IN
) {
4272 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4274 if (flags
& NDR_OUT
) {
4276 return NDR_ERR_SUCCESS
;
4279 static enum ndr_err_code
ndr_pull_decode_trustAuthInOut(struct ndr_pull
*ndr
, int flags
, struct decode_trustAuthInOut
*r
)
4281 if (flags
& NDR_IN
) {
4282 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4284 if (flags
& NDR_OUT
) {
4286 return NDR_ERR_SUCCESS
;
4289 _PUBLIC_
void ndr_print_decode_trustAuthInOut(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustAuthInOut
*r
)
4291 ndr_print_struct(ndr
, name
, "decode_trustAuthInOut");
4293 if (flags
& NDR_SET_VALUES
) {
4294 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4296 if (flags
& NDR_IN
) {
4297 ndr_print_struct(ndr
, "in", "decode_trustAuthInOut");
4299 ndr_print_trustAuthInOutBlob(ndr
, "blob", &r
->in
.blob
);
4302 if (flags
& NDR_OUT
) {
4303 ndr_print_struct(ndr
, "out", "decode_trustAuthInOut");
4310 static enum ndr_err_code
ndr_push_decode_trustDomainPasswords(struct ndr_push
*ndr
, int flags
, const struct decode_trustDomainPasswords
*r
)
4312 if (flags
& NDR_IN
) {
4313 NDR_CHECK(ndr_push_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4315 if (flags
& NDR_OUT
) {
4317 return NDR_ERR_SUCCESS
;
4320 static enum ndr_err_code
ndr_pull_decode_trustDomainPasswords(struct ndr_pull
*ndr
, int flags
, struct decode_trustDomainPasswords
*r
)
4322 if (flags
& NDR_IN
) {
4323 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4325 if (flags
& NDR_OUT
) {
4327 return NDR_ERR_SUCCESS
;
4330 _PUBLIC_
void ndr_print_decode_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustDomainPasswords
*r
)
4332 ndr_print_struct(ndr
, name
, "decode_trustDomainPasswords");
4334 if (flags
& NDR_SET_VALUES
) {
4335 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4337 if (flags
& NDR_IN
) {
4338 ndr_print_struct(ndr
, "in", "decode_trustDomainPasswords");
4340 ndr_print_trustDomainPasswords(ndr
, "blob", &r
->in
.blob
);
4343 if (flags
& NDR_OUT
) {
4344 ndr_print_struct(ndr
, "out", "decode_trustDomainPasswords");
4351 static enum ndr_err_code
ndr_push_decode_ExtendedErrorInfo(struct ndr_push
*ndr
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
4353 if (flags
& NDR_IN
) {
4355 struct ndr_push
*_ndr_ptr
;
4356 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
4357 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
4358 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
4361 if (flags
& NDR_OUT
) {
4363 return NDR_ERR_SUCCESS
;
4366 static enum ndr_err_code
ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull
*ndr
, int flags
, struct decode_ExtendedErrorInfo
*r
)
4368 if (flags
& NDR_IN
) {
4370 struct ndr_pull
*_ndr_ptr
;
4371 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
4372 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
4373 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
4376 if (flags
& NDR_OUT
) {
4378 return NDR_ERR_SUCCESS
;
4381 _PUBLIC_
void ndr_print_decode_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
4383 ndr_print_struct(ndr
, name
, "decode_ExtendedErrorInfo");
4385 if (flags
& NDR_SET_VALUES
) {
4386 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4388 if (flags
& NDR_IN
) {
4389 ndr_print_struct(ndr
, "in", "decode_ExtendedErrorInfo");
4391 ndr_print_ExtendedErrorInfoPtr(ndr
, "ptr", &r
->in
.ptr
);
4394 if (flags
& NDR_OUT
) {
4395 ndr_print_struct(ndr
, "out", "decode_ExtendedErrorInfo");
4402 static const struct ndr_interface_call drsblobs_calls
[] = {
4404 "decode_replPropertyMetaData",
4405 sizeof(struct decode_replPropertyMetaData
),
4406 (ndr_push_flags_fn_t
) ndr_push_decode_replPropertyMetaData
,
4407 (ndr_pull_flags_fn_t
) ndr_pull_decode_replPropertyMetaData
,
4408 (ndr_print_function_t
) ndr_print_decode_replPropertyMetaData
,
4412 "decode_replUpToDateVector",
4413 sizeof(struct decode_replUpToDateVector
),
4414 (ndr_push_flags_fn_t
) ndr_push_decode_replUpToDateVector
,
4415 (ndr_pull_flags_fn_t
) ndr_pull_decode_replUpToDateVector
,
4416 (ndr_print_function_t
) ndr_print_decode_replUpToDateVector
,
4420 "decode_repsFromTo",
4421 sizeof(struct decode_repsFromTo
),
4422 (ndr_push_flags_fn_t
) ndr_push_decode_repsFromTo
,
4423 (ndr_pull_flags_fn_t
) ndr_pull_decode_repsFromTo
,
4424 (ndr_print_function_t
) ndr_print_decode_repsFromTo
,
4428 "decode_partialAttributeSet",
4429 sizeof(struct decode_partialAttributeSet
),
4430 (ndr_push_flags_fn_t
) ndr_push_decode_partialAttributeSet
,
4431 (ndr_pull_flags_fn_t
) ndr_pull_decode_partialAttributeSet
,
4432 (ndr_print_function_t
) ndr_print_decode_partialAttributeSet
,
4437 sizeof(struct decode_prefixMap
),
4438 (ndr_push_flags_fn_t
) ndr_push_decode_prefixMap
,
4439 (ndr_pull_flags_fn_t
) ndr_pull_decode_prefixMap
,
4440 (ndr_print_function_t
) ndr_print_decode_prefixMap
,
4444 "decode_ldapControlDirSync",
4445 sizeof(struct decode_ldapControlDirSync
),
4446 (ndr_push_flags_fn_t
) ndr_push_decode_ldapControlDirSync
,
4447 (ndr_pull_flags_fn_t
) ndr_pull_decode_ldapControlDirSync
,
4448 (ndr_print_function_t
) ndr_print_decode_ldapControlDirSync
,
4452 "decode_supplementalCredentials",
4453 sizeof(struct decode_supplementalCredentials
),
4454 (ndr_push_flags_fn_t
) ndr_push_decode_supplementalCredentials
,
4455 (ndr_pull_flags_fn_t
) ndr_pull_decode_supplementalCredentials
,
4456 (ndr_print_function_t
) ndr_print_decode_supplementalCredentials
,
4461 sizeof(struct decode_Packages
),
4462 (ndr_push_flags_fn_t
) ndr_push_decode_Packages
,
4463 (ndr_pull_flags_fn_t
) ndr_pull_decode_Packages
,
4464 (ndr_print_function_t
) ndr_print_decode_Packages
,
4468 "decode_PrimaryKerberos",
4469 sizeof(struct decode_PrimaryKerberos
),
4470 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryKerberos
,
4471 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryKerberos
,
4472 (ndr_print_function_t
) ndr_print_decode_PrimaryKerberos
,
4476 "decode_PrimaryCLEARTEXT",
4477 sizeof(struct decode_PrimaryCLEARTEXT
),
4478 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryCLEARTEXT
,
4479 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryCLEARTEXT
,
4480 (ndr_print_function_t
) ndr_print_decode_PrimaryCLEARTEXT
,
4484 "decode_PrimaryWDigest",
4485 sizeof(struct decode_PrimaryWDigest
),
4486 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryWDigest
,
4487 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryWDigest
,
4488 (ndr_print_function_t
) ndr_print_decode_PrimaryWDigest
,
4492 "decode_trustAuthInOut",
4493 sizeof(struct decode_trustAuthInOut
),
4494 (ndr_push_flags_fn_t
) ndr_push_decode_trustAuthInOut
,
4495 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustAuthInOut
,
4496 (ndr_print_function_t
) ndr_print_decode_trustAuthInOut
,
4500 "decode_trustDomainPasswords",
4501 sizeof(struct decode_trustDomainPasswords
),
4502 (ndr_push_flags_fn_t
) ndr_push_decode_trustDomainPasswords
,
4503 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustDomainPasswords
,
4504 (ndr_print_function_t
) ndr_print_decode_trustDomainPasswords
,
4508 "decode_ExtendedErrorInfo",
4509 sizeof(struct decode_ExtendedErrorInfo
),
4510 (ndr_push_flags_fn_t
) ndr_push_decode_ExtendedErrorInfo
,
4511 (ndr_pull_flags_fn_t
) ndr_pull_decode_ExtendedErrorInfo
,
4512 (ndr_print_function_t
) ndr_print_decode_ExtendedErrorInfo
,
4515 { NULL
, 0, NULL
, NULL
, NULL
, false }
4518 static const char * const drsblobs_endpoint_strings
[] = {
4519 "ncacn_np:[\\pipe\\drsblobs]",
4522 static const struct ndr_interface_string_array drsblobs_endpoints
= {
4524 .names
= drsblobs_endpoint_strings
4527 static const char * const drsblobs_authservice_strings
[] = {
4531 static const struct ndr_interface_string_array drsblobs_authservices
= {
4533 .names
= drsblobs_authservice_strings
4537 const struct ndr_interface_table ndr_table_drsblobs
= {
4540 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
4541 NDR_DRSBLOBS_VERSION
4543 .helpstring
= NDR_DRSBLOBS_HELPSTRING
,
4545 .calls
= drsblobs_calls
,
4546 .endpoints
= &drsblobs_endpoints
,
4547 .authservices
= &drsblobs_authservices