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 size_array_0
= 0;
74 uint32_t cntr_array_0
;
75 TALLOC_CTX
*_mem_save_array_0
;
76 if (ndr_flags
& NDR_SCALARS
) {
77 NDR_CHECK(ndr_pull_align(ndr
, 8));
78 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
79 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
80 size_array_0
= r
->count
;
81 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
82 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
83 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
84 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
85 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
87 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
89 if (ndr_flags
& NDR_BUFFERS
) {
91 return NDR_ERR_SUCCESS
;
94 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr1(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataCtr1
*r
)
96 uint32_t cntr_array_0
;
97 ndr_print_struct(ndr
, name
, "replPropertyMetaDataCtr1");
99 ndr_print_uint32(ndr
, "count", r
->count
);
100 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
101 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
103 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
105 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
106 ndr_print_replPropertyMetaData1(ndr
, "array", &r
->array
[cntr_array_0
]);
114 static enum ndr_err_code
ndr_push_replPropertyMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replPropertyMetaDataCtr
*r
)
116 if (ndr_flags
& NDR_SCALARS
) {
117 int level
= ndr_push_get_switch_value(ndr
, r
);
120 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
124 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
127 if (ndr_flags
& NDR_BUFFERS
) {
128 int level
= ndr_push_get_switch_value(ndr
, r
);
134 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
137 return NDR_ERR_SUCCESS
;
140 static enum ndr_err_code
ndr_pull_replPropertyMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replPropertyMetaDataCtr
*r
)
143 level
= ndr_pull_get_switch_value(ndr
, r
);
144 if (ndr_flags
& NDR_SCALARS
) {
147 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
151 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
154 if (ndr_flags
& NDR_BUFFERS
) {
160 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
163 return NDR_ERR_SUCCESS
;
166 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const union replPropertyMetaDataCtr
*r
)
169 level
= ndr_print_get_switch_value(ndr
, r
);
170 ndr_print_union(ndr
, name
, level
, "replPropertyMetaDataCtr");
173 ndr_print_replPropertyMetaDataCtr1(ndr
, "ctr1", &r
->ctr1
);
177 ndr_print_bad_level(ndr
, name
, level
);
181 _PUBLIC_
enum ndr_err_code
ndr_push_replPropertyMetaDataBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaDataBlob
*r
)
183 if (ndr_flags
& NDR_SCALARS
) {
184 NDR_CHECK(ndr_push_align(ndr
, 8));
185 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
186 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
187 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
188 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
190 if (ndr_flags
& NDR_BUFFERS
) {
192 return NDR_ERR_SUCCESS
;
195 _PUBLIC_
enum ndr_err_code
ndr_pull_replPropertyMetaDataBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaDataBlob
*r
)
197 if (ndr_flags
& NDR_SCALARS
) {
198 NDR_CHECK(ndr_pull_align(ndr
, 8));
199 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
200 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
201 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
202 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
204 if (ndr_flags
& NDR_BUFFERS
) {
206 return NDR_ERR_SUCCESS
;
209 _PUBLIC_
void ndr_print_replPropertyMetaDataBlob(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataBlob
*r
)
211 ndr_print_struct(ndr
, name
, "replPropertyMetaDataBlob");
213 ndr_print_uint32(ndr
, "version", r
->version
);
214 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
215 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
216 ndr_print_replPropertyMetaDataCtr(ndr
, "ctr", &r
->ctr
);
220 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr1
*r
)
222 uint32_t cntr_cursors_0
;
223 if (ndr_flags
& NDR_SCALARS
) {
224 NDR_CHECK(ndr_push_align(ndr
, 8));
225 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
226 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
227 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
228 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
231 if (ndr_flags
& NDR_BUFFERS
) {
233 return NDR_ERR_SUCCESS
;
236 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr1
*r
)
238 uint32_t size_cursors_0
= 0;
239 uint32_t cntr_cursors_0
;
240 TALLOC_CTX
*_mem_save_cursors_0
;
241 if (ndr_flags
& NDR_SCALARS
) {
242 NDR_CHECK(ndr_pull_align(ndr
, 8));
243 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
244 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
245 size_cursors_0
= r
->count
;
246 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, size_cursors_0
);
247 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
248 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
249 for (cntr_cursors_0
= 0; cntr_cursors_0
< size_cursors_0
; cntr_cursors_0
++) {
250 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
252 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
254 if (ndr_flags
& NDR_BUFFERS
) {
256 return NDR_ERR_SUCCESS
;
259 _PUBLIC_
void ndr_print_replUpToDateVectorCtr1(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr1
*r
)
261 uint32_t cntr_cursors_0
;
262 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr1");
264 ndr_print_uint32(ndr
, "count", r
->count
);
265 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
266 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
268 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
270 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
271 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
279 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr2
*r
)
281 uint32_t cntr_cursors_0
;
282 if (ndr_flags
& NDR_SCALARS
) {
283 NDR_CHECK(ndr_push_align(ndr
, 8));
284 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
285 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
286 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
287 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
290 if (ndr_flags
& NDR_BUFFERS
) {
292 return NDR_ERR_SUCCESS
;
295 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr2
*r
)
297 uint32_t size_cursors_0
= 0;
298 uint32_t cntr_cursors_0
;
299 TALLOC_CTX
*_mem_save_cursors_0
;
300 if (ndr_flags
& NDR_SCALARS
) {
301 NDR_CHECK(ndr_pull_align(ndr
, 8));
302 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
303 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
304 size_cursors_0
= r
->count
;
305 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, size_cursors_0
);
306 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
307 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
308 for (cntr_cursors_0
= 0; cntr_cursors_0
< size_cursors_0
; cntr_cursors_0
++) {
309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
311 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
313 if (ndr_flags
& NDR_BUFFERS
) {
315 return NDR_ERR_SUCCESS
;
318 _PUBLIC_
void ndr_print_replUpToDateVectorCtr2(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr2
*r
)
320 uint32_t cntr_cursors_0
;
321 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr2");
323 ndr_print_uint32(ndr
, "count", r
->count
);
324 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
325 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
327 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
329 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
330 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
338 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replUpToDateVectorCtr
*r
)
340 if (ndr_flags
& NDR_SCALARS
) {
341 int level
= ndr_push_get_switch_value(ndr
, r
);
344 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
348 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
352 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
355 if (ndr_flags
& NDR_BUFFERS
) {
356 int level
= ndr_push_get_switch_value(ndr
, r
);
365 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
368 return NDR_ERR_SUCCESS
;
371 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replUpToDateVectorCtr
*r
)
374 level
= ndr_pull_get_switch_value(ndr
, r
);
375 if (ndr_flags
& NDR_SCALARS
) {
378 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
382 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
386 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
389 if (ndr_flags
& NDR_BUFFERS
) {
398 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
401 return NDR_ERR_SUCCESS
;
404 _PUBLIC_
void ndr_print_replUpToDateVectorCtr(struct ndr_print
*ndr
, const char *name
, const union replUpToDateVectorCtr
*r
)
407 level
= ndr_print_get_switch_value(ndr
, r
);
408 ndr_print_union(ndr
, name
, level
, "replUpToDateVectorCtr");
411 ndr_print_replUpToDateVectorCtr1(ndr
, "ctr1", &r
->ctr1
);
415 ndr_print_replUpToDateVectorCtr2(ndr
, "ctr2", &r
->ctr2
);
419 ndr_print_bad_level(ndr
, name
, level
);
423 _PUBLIC_
enum ndr_err_code
ndr_push_replUpToDateVectorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorBlob
*r
)
425 if (ndr_flags
& NDR_SCALARS
) {
426 NDR_CHECK(ndr_push_align(ndr
, 8));
427 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
428 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
429 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
430 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
432 if (ndr_flags
& NDR_BUFFERS
) {
434 return NDR_ERR_SUCCESS
;
437 _PUBLIC_
enum ndr_err_code
ndr_pull_replUpToDateVectorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorBlob
*r
)
439 if (ndr_flags
& NDR_SCALARS
) {
440 NDR_CHECK(ndr_pull_align(ndr
, 8));
441 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
442 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
443 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
444 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
446 if (ndr_flags
& NDR_BUFFERS
) {
448 return NDR_ERR_SUCCESS
;
451 _PUBLIC_
void ndr_print_replUpToDateVectorBlob(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorBlob
*r
)
453 ndr_print_struct(ndr
, name
, "replUpToDateVectorBlob");
455 ndr_print_uint32(ndr
, "version", r
->version
);
456 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
457 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
458 ndr_print_replUpToDateVectorCtr(ndr
, "ctr", &r
->ctr
);
462 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1OtherInfo
*r
)
464 if (ndr_flags
& NDR_SCALARS
) {
465 NDR_CHECK(ndr_push_align(ndr
, 4));
466 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen(r
->dns_name
) + 1));
467 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, strlen(r
->dns_name
) + 1, sizeof(uint8_t), CH_DOS
));
469 if (ndr_flags
& NDR_BUFFERS
) {
471 return NDR_ERR_SUCCESS
;
474 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1OtherInfo
*r
)
476 uint32_t size_dns_name_0
= 0;
477 if (ndr_flags
& NDR_SCALARS
) {
478 NDR_CHECK(ndr_pull_align(ndr
, 4));
479 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__dns_name_size
));
480 size_dns_name_0
= r
->__dns_name_size
;
481 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, size_dns_name_0
, sizeof(uint8_t), CH_DOS
));
483 if (ndr_flags
& NDR_BUFFERS
) {
485 return NDR_ERR_SUCCESS
;
488 _PUBLIC_
void ndr_print_repsFromTo1OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1OtherInfo
*r
)
490 ndr_print_struct(ndr
, name
, "repsFromTo1OtherInfo");
492 ndr_print_uint32(ndr
, "__dns_name_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->dns_name
) + 1:r
->__dns_name_size
);
493 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
497 _PUBLIC_
size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
499 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1OtherInfo
, ic
);
502 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1
*r
)
505 uint32_t _flags_save_STRUCT
= ndr
->flags
;
506 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
507 if (ndr_flags
& NDR_SCALARS
) {
508 NDR_CHECK(ndr_push_align(ndr
, 8));
509 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
510 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
511 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
512 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
513 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
514 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
515 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
516 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
517 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
518 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
519 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
520 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
521 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
522 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
524 if (ndr_flags
& NDR_BUFFERS
) {
526 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->other_info
));
527 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
528 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->other_info
));
531 ndr
->flags
= _flags_save_STRUCT
;
533 return NDR_ERR_SUCCESS
;
536 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1
*r
)
538 uint32_t _ptr_other_info
;
539 TALLOC_CTX
*_mem_save_other_info_0
;
540 uint32_t size_schedule_0
= 0;
542 uint32_t _flags_save_STRUCT
= ndr
->flags
;
543 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
544 if (ndr_flags
& NDR_SCALARS
) {
545 NDR_CHECK(ndr_pull_align(ndr
, 8));
546 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
547 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
548 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
549 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
550 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
551 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
552 if (_ptr_other_info
) {
553 NDR_PULL_ALLOC(ndr
, r
->other_info
);
554 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
556 r
->other_info
= NULL
;
558 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
559 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
560 size_schedule_0
= 84;
561 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, size_schedule_0
));
562 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
563 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
564 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
565 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
566 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
568 if (ndr_flags
& NDR_BUFFERS
) {
570 uint32_t _relative_save_offset
;
571 _relative_save_offset
= ndr
->offset
;
572 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
573 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
574 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
575 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
576 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
577 ndr
->offset
= _relative_save_offset
;
580 ndr
->flags
= _flags_save_STRUCT
;
582 return NDR_ERR_SUCCESS
;
585 _PUBLIC_
void ndr_print_repsFromTo1(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1
*r
)
587 ndr_print_struct(ndr
, name
, "repsFromTo1");
589 uint32_t _flags_save_STRUCT
= ndr
->flags
;
590 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
592 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
593 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
594 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
595 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
596 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
597 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
600 ndr_print_repsFromTo1OtherInfo(ndr
, "other_info", r
->other_info
);
603 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
);
604 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
605 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
606 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
607 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
608 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
609 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
610 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
612 ndr
->flags
= _flags_save_STRUCT
;
616 _PUBLIC_
size_t ndr_size_repsFromTo1(const struct repsFromTo1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
618 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
619 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1
, ic
);
622 static enum ndr_err_code
ndr_push_repsFromTo(struct ndr_push
*ndr
, int ndr_flags
, const union repsFromTo
*r
)
624 if (ndr_flags
& NDR_SCALARS
) {
625 int level
= ndr_push_get_switch_value(ndr
, r
);
628 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
632 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
635 if (ndr_flags
& NDR_BUFFERS
) {
636 int level
= ndr_push_get_switch_value(ndr
, r
);
639 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
643 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
646 return NDR_ERR_SUCCESS
;
649 static enum ndr_err_code
ndr_pull_repsFromTo(struct ndr_pull
*ndr
, int ndr_flags
, union repsFromTo
*r
)
652 level
= ndr_pull_get_switch_value(ndr
, r
);
653 if (ndr_flags
& NDR_SCALARS
) {
656 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
660 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
663 if (ndr_flags
& NDR_BUFFERS
) {
666 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
670 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
673 return NDR_ERR_SUCCESS
;
676 _PUBLIC_
void ndr_print_repsFromTo(struct ndr_print
*ndr
, const char *name
, const union repsFromTo
*r
)
679 level
= ndr_print_get_switch_value(ndr
, r
);
680 ndr_print_union(ndr
, name
, level
, "repsFromTo");
683 ndr_print_repsFromTo1(ndr
, "ctr1", &r
->ctr1
);
687 ndr_print_bad_level(ndr
, name
, level
);
691 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromToBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromToBlob
*r
)
693 if (ndr_flags
& NDR_SCALARS
) {
694 NDR_CHECK(ndr_push_align(ndr
, 8));
695 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
696 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
697 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
698 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
700 if (ndr_flags
& NDR_BUFFERS
) {
701 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
703 return NDR_ERR_SUCCESS
;
706 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromToBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromToBlob
*r
)
708 if (ndr_flags
& NDR_SCALARS
) {
709 NDR_CHECK(ndr_pull_align(ndr
, 8));
710 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
711 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
712 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
713 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
715 if (ndr_flags
& NDR_BUFFERS
) {
716 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
718 return NDR_ERR_SUCCESS
;
721 _PUBLIC_
void ndr_print_repsFromToBlob(struct ndr_print
*ndr
, const char *name
, const struct repsFromToBlob
*r
)
723 ndr_print_struct(ndr
, name
, "repsFromToBlob");
725 ndr_print_uint32(ndr
, "version", r
->version
);
726 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
727 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
728 ndr_print_repsFromTo(ndr
, "ctr", &r
->ctr
);
732 static enum ndr_err_code
ndr_push_partialAttributeSetCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetCtr1
*r
)
734 uint32_t cntr_array_0
;
735 if (ndr_flags
& NDR_SCALARS
) {
736 NDR_CHECK(ndr_push_align(ndr
, 4));
737 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
738 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
739 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->array
[cntr_array_0
]));
742 if (ndr_flags
& NDR_BUFFERS
) {
744 return NDR_ERR_SUCCESS
;
747 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetCtr1
*r
)
749 uint32_t size_array_0
= 0;
750 uint32_t cntr_array_0
;
751 TALLOC_CTX
*_mem_save_array_0
;
752 if (ndr_flags
& NDR_SCALARS
) {
753 NDR_CHECK(ndr_pull_align(ndr
, 4));
754 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
755 size_array_0
= r
->count
;
756 NDR_PULL_ALLOC_N(ndr
, r
->array
, size_array_0
);
757 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
758 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
759 for (cntr_array_0
= 0; cntr_array_0
< size_array_0
; cntr_array_0
++) {
760 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
762 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
764 if (ndr_flags
& NDR_BUFFERS
) {
766 return NDR_ERR_SUCCESS
;
769 _PUBLIC_
void ndr_print_partialAttributeSetCtr1(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetCtr1
*r
)
771 uint32_t cntr_array_0
;
772 ndr_print_struct(ndr
, name
, "partialAttributeSetCtr1");
774 ndr_print_uint32(ndr
, "count", r
->count
);
775 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
777 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
779 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
780 ndr_print_drsuapi_DsAttributeId(ndr
, "array", r
->array
[cntr_array_0
]);
788 static enum ndr_err_code
ndr_push_partialAttributeSetCtr(struct ndr_push
*ndr
, int ndr_flags
, const union partialAttributeSetCtr
*r
)
790 if (ndr_flags
& NDR_SCALARS
) {
791 int level
= ndr_push_get_switch_value(ndr
, r
);
794 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
798 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
801 if (ndr_flags
& NDR_BUFFERS
) {
802 int level
= ndr_push_get_switch_value(ndr
, r
);
808 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
811 return NDR_ERR_SUCCESS
;
814 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr(struct ndr_pull
*ndr
, int ndr_flags
, union partialAttributeSetCtr
*r
)
817 level
= ndr_pull_get_switch_value(ndr
, r
);
818 if (ndr_flags
& NDR_SCALARS
) {
821 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
825 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
828 if (ndr_flags
& NDR_BUFFERS
) {
834 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
837 return NDR_ERR_SUCCESS
;
840 _PUBLIC_
void ndr_print_partialAttributeSetCtr(struct ndr_print
*ndr
, const char *name
, const union partialAttributeSetCtr
*r
)
843 level
= ndr_print_get_switch_value(ndr
, r
);
844 ndr_print_union(ndr
, name
, level
, "partialAttributeSetCtr");
847 ndr_print_partialAttributeSetCtr1(ndr
, "ctr1", &r
->ctr1
);
851 ndr_print_bad_level(ndr
, name
, level
);
855 _PUBLIC_
enum ndr_err_code
ndr_push_partialAttributeSetBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetBlob
*r
)
857 if (ndr_flags
& NDR_SCALARS
) {
858 NDR_CHECK(ndr_push_align(ndr
, 4));
859 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
860 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
861 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
862 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
864 if (ndr_flags
& NDR_BUFFERS
) {
866 return NDR_ERR_SUCCESS
;
869 _PUBLIC_
enum ndr_err_code
ndr_pull_partialAttributeSetBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetBlob
*r
)
871 if (ndr_flags
& NDR_SCALARS
) {
872 NDR_CHECK(ndr_pull_align(ndr
, 4));
873 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
874 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
875 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
876 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
878 if (ndr_flags
& NDR_BUFFERS
) {
880 return NDR_ERR_SUCCESS
;
883 _PUBLIC_
void ndr_print_partialAttributeSetBlob(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetBlob
*r
)
885 ndr_print_struct(ndr
, name
, "partialAttributeSetBlob");
887 ndr_print_uint32(ndr
, "version", r
->version
);
888 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
889 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
890 ndr_print_partialAttributeSetCtr(ndr
, "ctr", &r
->ctr
);
894 static enum ndr_err_code
ndr_push_prefixMapVersion(struct ndr_push
*ndr
, int ndr_flags
, enum prefixMapVersion r
)
896 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
897 return NDR_ERR_SUCCESS
;
900 static enum ndr_err_code
ndr_pull_prefixMapVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum prefixMapVersion
*r
)
903 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
905 return NDR_ERR_SUCCESS
;
908 _PUBLIC_
void ndr_print_prefixMapVersion(struct ndr_print
*ndr
, const char *name
, enum prefixMapVersion r
)
910 const char *val
= NULL
;
913 case PREFIX_MAP_VERSION_DSDB
: val
= "PREFIX_MAP_VERSION_DSDB"; break;
915 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
918 static enum ndr_err_code
ndr_push_prefixMapCtr(struct ndr_push
*ndr
, int ndr_flags
, const union prefixMapCtr
*r
)
920 if (ndr_flags
& NDR_SCALARS
) {
921 int level
= ndr_push_get_switch_value(ndr
, r
);
923 case PREFIX_MAP_VERSION_DSDB
: {
924 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
928 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
931 if (ndr_flags
& NDR_BUFFERS
) {
932 int level
= ndr_push_get_switch_value(ndr
, r
);
934 case PREFIX_MAP_VERSION_DSDB
:
935 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
939 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
942 return NDR_ERR_SUCCESS
;
945 static enum ndr_err_code
ndr_pull_prefixMapCtr(struct ndr_pull
*ndr
, int ndr_flags
, union prefixMapCtr
*r
)
948 level
= ndr_pull_get_switch_value(ndr
, r
);
949 if (ndr_flags
& NDR_SCALARS
) {
951 case PREFIX_MAP_VERSION_DSDB
: {
952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
956 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
959 if (ndr_flags
& NDR_BUFFERS
) {
961 case PREFIX_MAP_VERSION_DSDB
:
962 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
966 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
969 return NDR_ERR_SUCCESS
;
972 _PUBLIC_
void ndr_print_prefixMapCtr(struct ndr_print
*ndr
, const char *name
, const union prefixMapCtr
*r
)
975 level
= ndr_print_get_switch_value(ndr
, r
);
976 ndr_print_union(ndr
, name
, level
, "prefixMapCtr");
978 case PREFIX_MAP_VERSION_DSDB
:
979 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "dsdb", &r
->dsdb
);
983 ndr_print_bad_level(ndr
, name
, level
);
987 _PUBLIC_
enum ndr_err_code
ndr_push_prefixMapBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct prefixMapBlob
*r
)
989 if (ndr_flags
& NDR_SCALARS
) {
990 NDR_CHECK(ndr_push_align(ndr
, 4));
991 NDR_CHECK(ndr_push_prefixMapVersion(ndr
, NDR_SCALARS
, r
->version
));
992 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
993 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
994 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
996 if (ndr_flags
& NDR_BUFFERS
) {
997 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
999 return NDR_ERR_SUCCESS
;
1002 _PUBLIC_
enum ndr_err_code
ndr_pull_prefixMapBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct prefixMapBlob
*r
)
1004 if (ndr_flags
& NDR_SCALARS
) {
1005 NDR_CHECK(ndr_pull_align(ndr
, 4));
1006 NDR_CHECK(ndr_pull_prefixMapVersion(ndr
, NDR_SCALARS
, &r
->version
));
1007 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1008 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1009 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1011 if (ndr_flags
& NDR_BUFFERS
) {
1012 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1014 return NDR_ERR_SUCCESS
;
1017 _PUBLIC_
void ndr_print_prefixMapBlob(struct ndr_print
*ndr
, const char *name
, const struct prefixMapBlob
*r
)
1019 ndr_print_struct(ndr
, name
, "prefixMapBlob");
1021 ndr_print_prefixMapVersion(ndr
, "version", r
->version
);
1022 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1023 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1024 ndr_print_prefixMapCtr(ndr
, "ctr", &r
->ctr
);
1028 static enum ndr_err_code
ndr_push_ldapControlDirSyncExtra(struct ndr_push
*ndr
, int ndr_flags
, const union ldapControlDirSyncExtra
*r
)
1030 if (ndr_flags
& NDR_SCALARS
) {
1031 int level
= ndr_push_get_switch_value(ndr
, r
);
1037 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1042 if (ndr_flags
& NDR_BUFFERS
) {
1043 int level
= ndr_push_get_switch_value(ndr
, r
);
1053 return NDR_ERR_SUCCESS
;
1056 static enum ndr_err_code
ndr_pull_ldapControlDirSyncExtra(struct ndr_pull
*ndr
, int ndr_flags
, union ldapControlDirSyncExtra
*r
)
1059 level
= ndr_pull_get_switch_value(ndr
, r
);
1060 if (ndr_flags
& NDR_SCALARS
) {
1066 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1071 if (ndr_flags
& NDR_BUFFERS
) {
1081 return NDR_ERR_SUCCESS
;
1084 _PUBLIC_
void ndr_print_ldapControlDirSyncExtra(struct ndr_print
*ndr
, const char *name
, const union ldapControlDirSyncExtra
*r
)
1087 level
= ndr_print_get_switch_value(ndr
, r
);
1088 ndr_print_union(ndr
, name
, level
, "ldapControlDirSyncExtra");
1094 ndr_print_replUpToDateVectorBlob(ndr
, "uptodateness_vector", &r
->uptodateness_vector
);
1100 static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra
*r
, uint32_t level
, struct smb_iconv_convenience
*ic
, int flags
)
1102 return ndr_size_union(r
, flags
, level
, (ndr_push_flags_fn_t
)ndr_push_ldapControlDirSyncExtra
, ic
);
1105 static enum ndr_err_code
ndr_push_ldapControlDirSyncBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncBlob
*r
)
1107 if (ndr_flags
& NDR_SCALARS
) {
1108 NDR_CHECK(ndr_push_align(ndr
, 8));
1109 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 3));
1110 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
1111 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
1112 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
1113 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1114 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1115 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1116 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->extra
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1117 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1119 if (ndr_flags
& NDR_BUFFERS
) {
1120 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1122 return NDR_ERR_SUCCESS
;
1125 static enum ndr_err_code
ndr_pull_ldapControlDirSyncBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncBlob
*r
)
1127 if (ndr_flags
& NDR_SCALARS
) {
1128 NDR_CHECK(ndr_pull_align(ndr
, 8));
1129 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
1130 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
1131 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
1132 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
1133 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extra_length
));
1134 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1135 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1136 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->extra
, r
->extra_length
));
1137 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1139 if (ndr_flags
& NDR_BUFFERS
) {
1140 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1142 return NDR_ERR_SUCCESS
;
1145 _PUBLIC_
void ndr_print_ldapControlDirSyncBlob(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncBlob
*r
)
1147 ndr_print_struct(ndr
, name
, "ldapControlDirSyncBlob");
1149 ndr_print_uint32(ndr
, "u1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?3:r
->u1
);
1150 ndr_print_NTTIME(ndr
, "time", r
->time
);
1151 ndr_print_uint32(ndr
, "u2", r
->u2
);
1152 ndr_print_uint32(ndr
, "u3", r
->u3
);
1153 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
);
1154 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1155 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
1156 ndr_print_set_switch_value(ndr
, &r
->extra
, r
->extra_length
);
1157 ndr_print_ldapControlDirSyncExtra(ndr
, "extra", &r
->extra
);
1161 _PUBLIC_
enum ndr_err_code
ndr_push_ldapControlDirSyncCookie(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncCookie
*r
)
1163 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
1164 if (ndr_flags
& NDR_SCALARS
) {
1165 NDR_CHECK(ndr_push_align(ndr
, 8));
1166 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1167 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, "MSDS", 4, sizeof(uint8_t), CH_DOS
));
1169 struct ndr_push
*_ndr_blob
;
1170 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1171 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1172 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1175 if (ndr_flags
& NDR_BUFFERS
) {
1176 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
1178 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1179 return NDR_ERR_SUCCESS
;
1182 _PUBLIC_
enum ndr_err_code
ndr_pull_ldapControlDirSyncCookie(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncCookie
*r
)
1184 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
1185 uint32_t size_msds_0
= 0;
1186 if (ndr_flags
& NDR_SCALARS
) {
1187 NDR_CHECK(ndr_pull_align(ndr
, 8));
1188 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1190 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->msds
, size_msds_0
, sizeof(uint8_t), CH_DOS
));
1192 struct ndr_pull
*_ndr_blob
;
1193 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1194 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1195 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1198 if (ndr_flags
& NDR_BUFFERS
) {
1199 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
1201 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1202 return NDR_ERR_SUCCESS
;
1205 _PUBLIC_
void ndr_print_ldapControlDirSyncCookie(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncCookie
*r
)
1207 ndr_print_struct(ndr
, name
, "ldapControlDirSyncCookie");
1209 ndr_print_string(ndr
, "msds", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?"MSDS":r
->msds
);
1210 ndr_print_ldapControlDirSyncBlob(ndr
, "blob", &r
->blob
);
1214 static enum ndr_err_code
ndr_push_supplementalCredentialsPackage(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsPackage
*r
)
1216 if (ndr_flags
& NDR_SCALARS
) {
1217 NDR_CHECK(ndr_push_align(ndr
, 2));
1218 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->name
)));
1219 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen(r
->data
)));
1220 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->reserved
));
1221 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->name
, 2 * strlen_m(r
->name
), sizeof(uint8_t), CH_UTF16
));
1222 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->data
, strlen(r
->data
), sizeof(uint8_t), CH_DOS
));
1224 if (ndr_flags
& NDR_BUFFERS
) {
1226 return NDR_ERR_SUCCESS
;
1229 static enum ndr_err_code
ndr_pull_supplementalCredentialsPackage(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsPackage
*r
)
1231 uint32_t size_name_0
= 0;
1232 uint32_t size_data_0
= 0;
1233 if (ndr_flags
& NDR_SCALARS
) {
1234 NDR_CHECK(ndr_pull_align(ndr
, 2));
1235 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->name_len
));
1236 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->data_len
));
1237 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved
));
1238 size_name_0
= r
->name_len
;
1239 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->name
, size_name_0
, sizeof(uint8_t), CH_UTF16
));
1240 size_data_0
= r
->data_len
;
1241 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->data
, size_data_0
, sizeof(uint8_t), CH_DOS
));
1243 if (ndr_flags
& NDR_BUFFERS
) {
1245 return NDR_ERR_SUCCESS
;
1248 _PUBLIC_
void ndr_print_supplementalCredentialsPackage(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsPackage
*r
)
1250 ndr_print_struct(ndr
, name
, "supplementalCredentialsPackage");
1252 ndr_print_uint16(ndr
, "name_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->name
):r
->name_len
);
1253 ndr_print_uint16(ndr
, "data_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->data
):r
->data_len
);
1254 ndr_print_uint16(ndr
, "reserved", r
->reserved
);
1255 ndr_print_string(ndr
, "name", r
->name
);
1256 ndr_print_string(ndr
, "data", r
->data
);
1260 static enum ndr_err_code
ndr_push_supplementalCredentialsSignature(struct ndr_push
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature r
)
1263 uint32_t _flags_save_ENUM
= ndr
->flags
;
1264 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1265 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
1266 ndr
->flags
= _flags_save_ENUM
;
1268 return NDR_ERR_SUCCESS
;
1271 static enum ndr_err_code
ndr_pull_supplementalCredentialsSignature(struct ndr_pull
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature
*r
)
1275 uint32_t _flags_save_ENUM
= ndr
->flags
;
1276 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1277 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
1279 ndr
->flags
= _flags_save_ENUM
;
1281 return NDR_ERR_SUCCESS
;
1284 _PUBLIC_
void ndr_print_supplementalCredentialsSignature(struct ndr_print
*ndr
, const char *name
, enum supplementalCredentialsSignature r
)
1286 const char *val
= NULL
;
1289 uint32_t _flags_save_ENUM
= ndr
->flags
;
1290 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1292 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE
: val
= "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1294 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1295 ndr
->flags
= _flags_save_ENUM
;
1299 static enum ndr_err_code
ndr_push_supplementalCredentialsSubBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsSubBlob
*r
)
1301 uint32_t cntr_packages_0
;
1302 if (ndr_flags
& NDR_SCALARS
) {
1303 NDR_CHECK(ndr_push_align(ndr
, 2));
1304 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_PREFIX
, 0x30, sizeof(uint16_t), CH_UTF16
));
1305 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_SIGNATURE
));
1306 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_packages
));
1307 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1308 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1311 if (ndr_flags
& NDR_BUFFERS
) {
1313 return NDR_ERR_SUCCESS
;
1316 static enum ndr_err_code
ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsSubBlob
*r
)
1318 uint32_t size_prefix_0
= 0;
1319 uint32_t size_packages_0
= 0;
1320 uint32_t cntr_packages_0
;
1321 TALLOC_CTX
*_mem_save_packages_0
;
1322 if (ndr_flags
& NDR_SCALARS
) {
1323 NDR_CHECK(ndr_pull_align(ndr
, 2));
1324 size_prefix_0
= 0x30;
1325 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->prefix
, size_prefix_0
, sizeof(uint16_t), CH_UTF16
));
1326 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, &r
->signature
));
1327 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_packages
));
1328 size_packages_0
= r
->num_packages
;
1329 NDR_PULL_ALLOC_N(ndr
, r
->packages
, size_packages_0
);
1330 _mem_save_packages_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1331 NDR_PULL_SET_MEM_CTX(ndr
, r
->packages
, 0);
1332 for (cntr_packages_0
= 0; cntr_packages_0
< size_packages_0
; cntr_packages_0
++) {
1333 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1335 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_packages_0
, 0);
1337 if (ndr_flags
& NDR_BUFFERS
) {
1339 return NDR_ERR_SUCCESS
;
1342 _PUBLIC_
void ndr_print_supplementalCredentialsSubBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsSubBlob
*r
)
1344 uint32_t cntr_packages_0
;
1345 ndr_print_struct(ndr
, name
, "supplementalCredentialsSubBlob");
1347 ndr_print_string(ndr
, "prefix", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_PREFIX
:r
->prefix
);
1348 ndr_print_supplementalCredentialsSignature(ndr
, "signature", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE
:r
->signature
);
1349 ndr_print_uint16(ndr
, "num_packages", r
->num_packages
);
1350 ndr
->print(ndr
, "%s: ARRAY(%d)", "packages", (int)r
->num_packages
);
1352 for (cntr_packages_0
=0;cntr_packages_0
<r
->num_packages
;cntr_packages_0
++) {
1354 if (asprintf(&idx_0
, "[%d]", cntr_packages_0
) != -1) {
1355 ndr_print_supplementalCredentialsPackage(ndr
, "packages", &r
->packages
[cntr_packages_0
]);
1363 static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
1365 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_supplementalCredentialsSubBlob
, ic
);
1368 _PUBLIC_
enum ndr_err_code
ndr_push_supplementalCredentialsBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsBlob
*r
)
1370 if (ndr_flags
& NDR_SCALARS
) {
1371 NDR_CHECK(ndr_push_align(ndr
, 4));
1372 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1373 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1374 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1376 struct ndr_push
*_ndr_sub
;
1377 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1378 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1379 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1381 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0));
1383 if (ndr_flags
& NDR_BUFFERS
) {
1385 return NDR_ERR_SUCCESS
;
1388 _PUBLIC_
enum ndr_err_code
ndr_pull_supplementalCredentialsBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsBlob
*r
)
1390 if (ndr_flags
& NDR_SCALARS
) {
1391 NDR_CHECK(ndr_pull_align(ndr
, 4));
1392 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
1393 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1394 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
1396 struct ndr_pull
*_ndr_sub
;
1397 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_sub
, 0, r
->__ndr_size
));
1398 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1399 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_sub
, 0, r
->__ndr_size
));
1401 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown3
));
1403 if (ndr_flags
& NDR_BUFFERS
) {
1405 return NDR_ERR_SUCCESS
;
1408 _PUBLIC_
void ndr_print_supplementalCredentialsBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsBlob
*r
)
1410 ndr_print_struct(ndr
, name
, "supplementalCredentialsBlob");
1412 ndr_print_uint32(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown1
);
1413 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
);
1414 ndr_print_uint32(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown2
);
1415 ndr_print_supplementalCredentialsSubBlob(ndr
, "sub", &r
->sub
);
1416 ndr_print_uint8(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
1420 _PUBLIC_
enum ndr_err_code
ndr_push_package_PackagesBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PackagesBlob
*r
)
1422 if (ndr_flags
& NDR_SCALARS
) {
1423 NDR_CHECK(ndr_push_align(ndr
, 4));
1425 uint32_t _flags_save_string_array
= ndr
->flags
;
1426 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1427 NDR_CHECK(ndr_push_string_array(ndr
, NDR_SCALARS
, r
->names
));
1428 ndr
->flags
= _flags_save_string_array
;
1431 if (ndr_flags
& NDR_BUFFERS
) {
1433 return NDR_ERR_SUCCESS
;
1436 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PackagesBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PackagesBlob
*r
)
1438 if (ndr_flags
& NDR_SCALARS
) {
1439 NDR_CHECK(ndr_pull_align(ndr
, 4));
1441 uint32_t _flags_save_string_array
= ndr
->flags
;
1442 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1443 NDR_CHECK(ndr_pull_string_array(ndr
, NDR_SCALARS
, &r
->names
));
1444 ndr
->flags
= _flags_save_string_array
;
1447 if (ndr_flags
& NDR_BUFFERS
) {
1449 return NDR_ERR_SUCCESS
;
1452 _PUBLIC_
void ndr_print_package_PackagesBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PackagesBlob
*r
)
1454 ndr_print_struct(ndr
, name
, "package_PackagesBlob");
1456 ndr_print_string_array(ndr
, "names", r
->names
);
1460 static enum ndr_err_code
ndr_push_package_PrimaryKerberosString(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosString
*r
)
1462 if (ndr_flags
& NDR_SCALARS
) {
1463 NDR_CHECK(ndr_push_align(ndr
, 4));
1464 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1465 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1467 uint32_t _flags_save_string
= ndr
->flags
;
1468 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1469 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->string
));
1470 ndr
->flags
= _flags_save_string
;
1473 if (ndr_flags
& NDR_BUFFERS
) {
1475 uint32_t _flags_save_string
= ndr
->flags
;
1476 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1478 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->string
));
1480 struct ndr_push
*_ndr_string
;
1481 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_string
, 0, 2 * strlen_m(r
->string
)));
1482 NDR_CHECK(ndr_push_string(_ndr_string
, NDR_SCALARS
, r
->string
));
1483 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_string
, 0, 2 * strlen_m(r
->string
)));
1485 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->string
));
1487 ndr
->flags
= _flags_save_string
;
1490 return NDR_ERR_SUCCESS
;
1493 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosString(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosString
*r
)
1495 uint32_t _ptr_string
;
1496 TALLOC_CTX
*_mem_save_string_0
;
1497 if (ndr_flags
& NDR_SCALARS
) {
1498 NDR_CHECK(ndr_pull_align(ndr
, 4));
1499 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
1500 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
1502 uint32_t _flags_save_string
= ndr
->flags
;
1503 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1504 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
1506 NDR_PULL_ALLOC(ndr
, r
->string
);
1507 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->string
, _ptr_string
));
1511 ndr
->flags
= _flags_save_string
;
1514 if (ndr_flags
& NDR_BUFFERS
) {
1516 uint32_t _flags_save_string
= ndr
->flags
;
1517 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1519 uint32_t _relative_save_offset
;
1520 _relative_save_offset
= ndr
->offset
;
1521 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->string
));
1522 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1523 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
1525 struct ndr_pull
*_ndr_string
;
1526 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_string
, 0, r
->size
));
1527 NDR_CHECK(ndr_pull_string(_ndr_string
, NDR_SCALARS
, &r
->string
));
1528 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_string
, 0, r
->size
));
1530 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
1531 ndr
->offset
= _relative_save_offset
;
1533 ndr
->flags
= _flags_save_string
;
1536 return NDR_ERR_SUCCESS
;
1539 _PUBLIC_
void ndr_print_package_PrimaryKerberosString(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosString
*r
)
1541 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosString");
1543 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
1544 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->size
);
1545 ndr_print_ptr(ndr
, "string", r
->string
);
1548 ndr_print_string(ndr
, "string", r
->string
);
1554 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey3
*r
)
1556 if (ndr_flags
& NDR_SCALARS
) {
1557 NDR_CHECK(ndr_push_align(ndr
, 4));
1558 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1559 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1560 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1561 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
1562 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
1564 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1565 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1566 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
1567 ndr
->flags
= _flags_save_DATA_BLOB
;
1570 if (ndr_flags
& NDR_BUFFERS
) {
1572 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1573 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1575 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->value
));
1577 struct ndr_push
*_ndr_value
;
1578 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1579 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
1580 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1582 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->value
));
1584 ndr
->flags
= _flags_save_DATA_BLOB
;
1587 return NDR_ERR_SUCCESS
;
1590 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey3
*r
)
1592 uint32_t _ptr_value
;
1593 TALLOC_CTX
*_mem_save_value_0
;
1594 if (ndr_flags
& NDR_SCALARS
) {
1595 NDR_CHECK(ndr_pull_align(ndr
, 4));
1596 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
1597 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
1598 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
1599 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
1600 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
1602 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1603 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1604 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
1606 NDR_PULL_ALLOC(ndr
, r
->value
);
1607 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
1611 ndr
->flags
= _flags_save_DATA_BLOB
;
1614 if (ndr_flags
& NDR_BUFFERS
) {
1616 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1617 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1619 uint32_t _relative_save_offset
;
1620 _relative_save_offset
= ndr
->offset
;
1621 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
1622 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1623 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
1625 struct ndr_pull
*_ndr_value
;
1626 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
1627 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
1628 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
1630 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
1631 ndr
->offset
= _relative_save_offset
;
1633 ndr
->flags
= _flags_save_DATA_BLOB
;
1636 return NDR_ERR_SUCCESS
;
1639 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey3
*r
)
1641 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey3");
1643 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1644 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1645 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
1646 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
1647 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
1648 ndr_print_ptr(ndr
, "value", r
->value
);
1651 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
1657 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr3
*r
)
1659 uint32_t cntr_keys_0
;
1660 uint32_t cntr_old_keys_0
;
1661 if (ndr_flags
& NDR_SCALARS
) {
1662 NDR_CHECK(ndr_push_align(ndr
, 4));
1663 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
1664 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
1665 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
1666 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1667 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
1669 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1670 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
1672 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1673 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1674 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1675 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1676 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1678 if (ndr_flags
& NDR_BUFFERS
) {
1679 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
1680 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1681 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
1683 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1684 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
1687 return NDR_ERR_SUCCESS
;
1690 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr3
*r
)
1692 uint32_t size_keys_0
= 0;
1693 uint32_t cntr_keys_0
;
1694 TALLOC_CTX
*_mem_save_keys_0
;
1695 uint32_t size_old_keys_0
= 0;
1696 uint32_t cntr_old_keys_0
;
1697 TALLOC_CTX
*_mem_save_old_keys_0
;
1698 if (ndr_flags
& NDR_SCALARS
) {
1699 NDR_CHECK(ndr_pull_align(ndr
, 4));
1700 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
1701 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
1702 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
1703 size_keys_0
= r
->num_keys
;
1704 NDR_PULL_ALLOC_N(ndr
, r
->keys
, size_keys_0
);
1705 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1706 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
1707 for (cntr_keys_0
= 0; cntr_keys_0
< size_keys_0
; cntr_keys_0
++) {
1708 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
1710 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
1711 size_old_keys_0
= r
->num_old_keys
;
1712 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, size_old_keys_0
);
1713 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1714 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
1715 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< size_old_keys_0
; cntr_old_keys_0
++) {
1716 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
1718 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
1719 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding1
));
1720 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding2
));
1721 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding3
));
1722 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding4
));
1723 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding5
));
1725 if (ndr_flags
& NDR_BUFFERS
) {
1726 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
1727 size_keys_0
= r
->num_keys
;
1728 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1729 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
1730 for (cntr_keys_0
= 0; cntr_keys_0
< size_keys_0
; cntr_keys_0
++) {
1731 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
1733 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
1734 size_old_keys_0
= r
->num_old_keys
;
1735 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1736 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
1737 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< size_old_keys_0
; cntr_old_keys_0
++) {
1738 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
1740 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
1742 return NDR_ERR_SUCCESS
;
1745 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr3
*r
)
1747 uint32_t cntr_keys_0
;
1748 uint32_t cntr_old_keys_0
;
1749 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr3");
1751 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
1752 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
1753 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
1754 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
1756 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
1758 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
1759 ndr_print_package_PrimaryKerberosKey3(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
1764 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
1766 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
1768 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
1769 ndr_print_package_PrimaryKerberosKey3(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
1774 ndr_print_uint32(ndr
, "padding1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding1
);
1775 ndr_print_uint32(ndr
, "padding2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding2
);
1776 ndr_print_uint32(ndr
, "padding3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding3
);
1777 ndr_print_uint32(ndr
, "padding4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding4
);
1778 ndr_print_uint32(ndr
, "padding5", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding5
);
1782 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey4
*r
)
1784 if (ndr_flags
& NDR_SCALARS
) {
1785 NDR_CHECK(ndr_push_align(ndr
, 4));
1786 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1787 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1788 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1789 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->iteration_count
));
1790 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
1791 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
1793 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1794 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1795 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
1796 ndr
->flags
= _flags_save_DATA_BLOB
;
1799 if (ndr_flags
& NDR_BUFFERS
) {
1801 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1802 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1804 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->value
));
1806 struct ndr_push
*_ndr_value
;
1807 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1808 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
1809 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1811 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->value
));
1813 ndr
->flags
= _flags_save_DATA_BLOB
;
1816 return NDR_ERR_SUCCESS
;
1819 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey4
*r
)
1821 uint32_t _ptr_value
;
1822 TALLOC_CTX
*_mem_save_value_0
;
1823 if (ndr_flags
& NDR_SCALARS
) {
1824 NDR_CHECK(ndr_pull_align(ndr
, 4));
1825 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
1826 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
1827 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
1828 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->iteration_count
));
1829 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
1830 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
1832 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1833 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1834 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
1836 NDR_PULL_ALLOC(ndr
, r
->value
);
1837 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
1841 ndr
->flags
= _flags_save_DATA_BLOB
;
1844 if (ndr_flags
& NDR_BUFFERS
) {
1846 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1847 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1849 uint32_t _relative_save_offset
;
1850 _relative_save_offset
= ndr
->offset
;
1851 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
1852 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1853 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
1855 struct ndr_pull
*_ndr_value
;
1856 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
1857 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
1858 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
1860 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
1861 ndr
->offset
= _relative_save_offset
;
1863 ndr
->flags
= _flags_save_DATA_BLOB
;
1866 return NDR_ERR_SUCCESS
;
1869 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey4
*r
)
1871 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey4");
1873 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1874 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1875 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
1876 ndr_print_uint32(ndr
, "iteration_count", r
->iteration_count
);
1877 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
1878 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
1879 ndr_print_ptr(ndr
, "value", r
->value
);
1882 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
1888 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr4
*r
)
1890 uint32_t cntr_keys_0
;
1891 uint32_t cntr_old_keys_0
;
1892 uint32_t cntr_older_keys_0
;
1893 if (ndr_flags
& NDR_SCALARS
) {
1894 NDR_CHECK(ndr_push_align(ndr
, 4));
1895 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
1896 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1897 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
1898 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_older_keys
));
1899 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
1900 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->default_iteration_count
));
1901 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1902 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
1904 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1905 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
1907 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
1908 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
1911 if (ndr_flags
& NDR_BUFFERS
) {
1912 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
1913 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1914 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
1916 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1917 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
1919 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
1920 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
1923 return NDR_ERR_SUCCESS
;
1926 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr4
*r
)
1928 uint32_t size_keys_0
= 0;
1929 uint32_t cntr_keys_0
;
1930 TALLOC_CTX
*_mem_save_keys_0
;
1931 uint32_t size_service_keys_0
= 0;
1932 uint32_t cntr_service_keys_0
;
1933 TALLOC_CTX
*_mem_save_service_keys_0
;
1934 uint32_t size_old_keys_0
= 0;
1935 uint32_t cntr_old_keys_0
;
1936 TALLOC_CTX
*_mem_save_old_keys_0
;
1937 uint32_t size_older_keys_0
= 0;
1938 uint32_t cntr_older_keys_0
;
1939 TALLOC_CTX
*_mem_save_older_keys_0
;
1940 if (ndr_flags
& NDR_SCALARS
) {
1941 NDR_CHECK(ndr_pull_align(ndr
, 4));
1942 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
1943 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_service_keys
));
1944 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
1945 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_older_keys
));
1946 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
1947 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->default_iteration_count
));
1948 size_keys_0
= r
->num_keys
;
1949 NDR_PULL_ALLOC_N(ndr
, r
->keys
, size_keys_0
);
1950 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1951 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
1952 for (cntr_keys_0
= 0; cntr_keys_0
< size_keys_0
; cntr_keys_0
++) {
1953 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
1955 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
1956 size_service_keys_0
= r
->num_service_keys
;
1957 NDR_PULL_ALLOC_N(ndr
, r
->service_keys
, size_service_keys_0
);
1958 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1959 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
1960 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< size_service_keys_0
; cntr_service_keys_0
++) {
1961 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->service_keys
[cntr_service_keys_0
]));
1963 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
1964 size_old_keys_0
= r
->num_old_keys
;
1965 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, size_old_keys_0
);
1966 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1967 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
1968 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< size_old_keys_0
; cntr_old_keys_0
++) {
1969 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
1971 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
1972 size_older_keys_0
= r
->num_older_keys
;
1973 NDR_PULL_ALLOC_N(ndr
, r
->older_keys
, size_older_keys_0
);
1974 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1975 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
1976 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< size_older_keys_0
; cntr_older_keys_0
++) {
1977 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
1979 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
1981 if (ndr_flags
& NDR_BUFFERS
) {
1982 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
1983 size_keys_0
= r
->num_keys
;
1984 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1985 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
1986 for (cntr_keys_0
= 0; cntr_keys_0
< size_keys_0
; cntr_keys_0
++) {
1987 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
1989 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
1990 size_service_keys_0
= r
->num_service_keys
;
1991 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1992 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
1993 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< size_service_keys_0
; cntr_service_keys_0
++) {
1994 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->service_keys
[cntr_service_keys_0
]));
1996 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
1997 size_old_keys_0
= r
->num_old_keys
;
1998 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1999 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2000 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< size_old_keys_0
; cntr_old_keys_0
++) {
2001 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2003 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2004 size_older_keys_0
= r
->num_older_keys
;
2005 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2006 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2007 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< size_older_keys_0
; cntr_older_keys_0
++) {
2008 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2010 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2012 return NDR_ERR_SUCCESS
;
2015 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr4
*r
)
2017 uint32_t cntr_keys_0
;
2018 uint32_t cntr_service_keys_0
;
2019 uint32_t cntr_old_keys_0
;
2020 uint32_t cntr_older_keys_0
;
2021 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr4");
2023 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2024 ndr_print_uint16(ndr
, "num_service_keys", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->num_service_keys
);
2025 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2026 ndr_print_uint16(ndr
, "num_older_keys", r
->num_older_keys
);
2027 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2028 ndr_print_uint32(ndr
, "default_iteration_count", r
->default_iteration_count
);
2029 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2031 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2033 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2034 ndr_print_package_PrimaryKerberosKey4(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2039 ndr
->print(ndr
, "%s: ARRAY(%d)", "service_keys", (int)r
->num_service_keys
);
2041 for (cntr_service_keys_0
=0;cntr_service_keys_0
<r
->num_service_keys
;cntr_service_keys_0
++) {
2043 if (asprintf(&idx_0
, "[%d]", cntr_service_keys_0
) != -1) {
2044 ndr_print_package_PrimaryKerberosKey4(ndr
, "service_keys", &r
->service_keys
[cntr_service_keys_0
]);
2049 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2051 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2053 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2054 ndr_print_package_PrimaryKerberosKey4(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2059 ndr
->print(ndr
, "%s: ARRAY(%d)", "older_keys", (int)r
->num_older_keys
);
2061 for (cntr_older_keys_0
=0;cntr_older_keys_0
<r
->num_older_keys
;cntr_older_keys_0
++) {
2063 if (asprintf(&idx_0
, "[%d]", cntr_older_keys_0
) != -1) {
2064 ndr_print_package_PrimaryKerberosKey4(ndr
, "older_keys", &r
->older_keys
[cntr_older_keys_0
]);
2072 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr(struct ndr_push
*ndr
, int ndr_flags
, const union package_PrimaryKerberosCtr
*r
)
2074 if (ndr_flags
& NDR_SCALARS
) {
2075 int level
= ndr_push_get_switch_value(ndr
, r
);
2078 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2082 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2086 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
2089 if (ndr_flags
& NDR_BUFFERS
) {
2090 int level
= ndr_push_get_switch_value(ndr
, r
);
2093 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2097 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2101 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
2104 return NDR_ERR_SUCCESS
;
2107 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull
*ndr
, int ndr_flags
, union package_PrimaryKerberosCtr
*r
)
2110 level
= ndr_pull_get_switch_value(ndr
, r
);
2111 if (ndr_flags
& NDR_SCALARS
) {
2114 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2118 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2122 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
2125 if (ndr_flags
& NDR_BUFFERS
) {
2128 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2132 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2136 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
2139 return NDR_ERR_SUCCESS
;
2142 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr(struct ndr_print
*ndr
, const char *name
, const union package_PrimaryKerberosCtr
*r
)
2145 level
= ndr_print_get_switch_value(ndr
, r
);
2146 ndr_print_union(ndr
, name
, level
, "package_PrimaryKerberosCtr");
2149 ndr_print_package_PrimaryKerberosCtr3(ndr
, "ctr3", &r
->ctr3
);
2153 ndr_print_package_PrimaryKerberosCtr4(ndr
, "ctr4", &r
->ctr4
);
2157 ndr_print_bad_level(ndr
, name
, level
);
2161 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryKerberosBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosBlob
*r
)
2163 if (ndr_flags
& NDR_SCALARS
) {
2164 NDR_CHECK(ndr_push_align(ndr
, 4));
2165 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->version
));
2166 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2167 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2168 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2170 if (ndr_flags
& NDR_BUFFERS
) {
2171 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2173 return NDR_ERR_SUCCESS
;
2176 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosBlob
*r
)
2178 if (ndr_flags
& NDR_SCALARS
) {
2179 NDR_CHECK(ndr_pull_align(ndr
, 4));
2180 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->version
));
2181 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
2182 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2183 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2185 if (ndr_flags
& NDR_BUFFERS
) {
2186 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2188 return NDR_ERR_SUCCESS
;
2191 _PUBLIC_
void ndr_print_package_PrimaryKerberosBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosBlob
*r
)
2193 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosBlob");
2195 ndr_print_uint16(ndr
, "version", r
->version
);
2196 ndr_print_uint16(ndr
, "flags", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->flags
);
2197 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
2198 ndr_print_package_PrimaryKerberosCtr(ndr
, "ctr", &r
->ctr
);
2202 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2204 if (ndr_flags
& NDR_SCALARS
) {
2205 NDR_CHECK(ndr_push_align(ndr
, 4));
2207 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2208 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2209 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->cleartext
));
2210 ndr
->flags
= _flags_save_DATA_BLOB
;
2213 if (ndr_flags
& NDR_BUFFERS
) {
2215 return NDR_ERR_SUCCESS
;
2218 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryCLEARTEXTBlob
*r
)
2220 if (ndr_flags
& NDR_SCALARS
) {
2221 NDR_CHECK(ndr_pull_align(ndr
, 4));
2223 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2224 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2225 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->cleartext
));
2226 ndr
->flags
= _flags_save_DATA_BLOB
;
2229 if (ndr_flags
& NDR_BUFFERS
) {
2231 return NDR_ERR_SUCCESS
;
2234 _PUBLIC_
void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2236 ndr_print_struct(ndr
, name
, "package_PrimaryCLEARTEXTBlob");
2238 ndr_print_DATA_BLOB(ndr
, "cleartext", r
->cleartext
);
2242 static enum ndr_err_code
ndr_push_package_PrimaryWDigestHash(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestHash
*r
)
2245 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2246 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2247 if (ndr_flags
& NDR_SCALARS
) {
2248 NDR_CHECK(ndr_push_align(ndr
, 1));
2249 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2251 if (ndr_flags
& NDR_BUFFERS
) {
2253 ndr
->flags
= _flags_save_STRUCT
;
2255 return NDR_ERR_SUCCESS
;
2258 static enum ndr_err_code
ndr_pull_package_PrimaryWDigestHash(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestHash
*r
)
2260 uint32_t size_hash_0
= 0;
2262 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2263 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2264 if (ndr_flags
& NDR_SCALARS
) {
2265 NDR_CHECK(ndr_pull_align(ndr
, 1));
2267 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, size_hash_0
));
2269 if (ndr_flags
& NDR_BUFFERS
) {
2271 ndr
->flags
= _flags_save_STRUCT
;
2273 return NDR_ERR_SUCCESS
;
2276 _PUBLIC_
void ndr_print_package_PrimaryWDigestHash(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestHash
*r
)
2278 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestHash");
2280 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2281 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2283 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2285 ndr
->flags
= _flags_save_STRUCT
;
2289 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryWDigestBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestBlob
*r
)
2291 uint32_t cntr_hashes_0
;
2292 if (ndr_flags
& NDR_SCALARS
) {
2293 NDR_CHECK(ndr_push_align(ndr
, 4));
2294 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0x31));
2295 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0x01));
2296 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->num_hashes
));
2297 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2298 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, 0));
2299 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2300 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2303 if (ndr_flags
& NDR_BUFFERS
) {
2305 return NDR_ERR_SUCCESS
;
2308 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestBlob
*r
)
2310 uint32_t size_hashes_0
= 0;
2311 uint32_t cntr_hashes_0
;
2312 TALLOC_CTX
*_mem_save_hashes_0
;
2313 if (ndr_flags
& NDR_SCALARS
) {
2314 NDR_CHECK(ndr_pull_align(ndr
, 4));
2315 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown1
));
2316 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown2
));
2317 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->num_hashes
));
2318 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
2319 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->uuknown4
));
2320 size_hashes_0
= r
->num_hashes
;
2321 NDR_PULL_ALLOC_N(ndr
, r
->hashes
, size_hashes_0
);
2322 _mem_save_hashes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2323 NDR_PULL_SET_MEM_CTX(ndr
, r
->hashes
, 0);
2324 for (cntr_hashes_0
= 0; cntr_hashes_0
< size_hashes_0
; cntr_hashes_0
++) {
2325 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2327 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hashes_0
, 0);
2329 if (ndr_flags
& NDR_BUFFERS
) {
2331 return NDR_ERR_SUCCESS
;
2334 _PUBLIC_
void ndr_print_package_PrimaryWDigestBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestBlob
*r
)
2336 uint32_t cntr_hashes_0
;
2337 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestBlob");
2339 ndr_print_uint16(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x31:r
->unknown1
);
2340 ndr_print_uint8(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x01:r
->unknown2
);
2341 ndr_print_uint8(ndr
, "num_hashes", r
->num_hashes
);
2342 ndr_print_uint32(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
2343 ndr_print_udlong(ndr
, "uuknown4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->uuknown4
);
2344 ndr
->print(ndr
, "%s: ARRAY(%d)", "hashes", (int)r
->num_hashes
);
2346 for (cntr_hashes_0
=0;cntr_hashes_0
<r
->num_hashes
;cntr_hashes_0
++) {
2348 if (asprintf(&idx_0
, "[%d]", cntr_hashes_0
) != -1) {
2349 ndr_print_package_PrimaryWDigestHash(ndr
, "hashes", &r
->hashes
[cntr_hashes_0
]);
2357 static enum ndr_err_code
ndr_push_AuthInfoNone(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNone
*r
)
2359 if (ndr_flags
& NDR_SCALARS
) {
2360 NDR_CHECK(ndr_push_align(ndr
, 4));
2361 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2363 if (ndr_flags
& NDR_BUFFERS
) {
2365 return NDR_ERR_SUCCESS
;
2368 static enum ndr_err_code
ndr_pull_AuthInfoNone(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNone
*r
)
2370 if (ndr_flags
& NDR_SCALARS
) {
2371 NDR_CHECK(ndr_pull_align(ndr
, 4));
2372 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2374 if (ndr_flags
& NDR_BUFFERS
) {
2376 return NDR_ERR_SUCCESS
;
2379 _PUBLIC_
void ndr_print_AuthInfoNone(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNone
*r
)
2381 ndr_print_struct(ndr
, name
, "AuthInfoNone");
2383 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->size
);
2387 static enum ndr_err_code
ndr_push_AuthInfoNT4Owf(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNT4Owf
*r
)
2389 if (ndr_flags
& NDR_SCALARS
) {
2390 NDR_CHECK(ndr_push_align(ndr
, 4));
2391 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 16));
2392 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2394 if (ndr_flags
& NDR_BUFFERS
) {
2396 return NDR_ERR_SUCCESS
;
2399 static enum ndr_err_code
ndr_pull_AuthInfoNT4Owf(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNT4Owf
*r
)
2401 if (ndr_flags
& NDR_SCALARS
) {
2402 NDR_CHECK(ndr_pull_align(ndr
, 4));
2403 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2404 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2406 if (ndr_flags
& NDR_BUFFERS
) {
2408 return NDR_ERR_SUCCESS
;
2411 _PUBLIC_
void ndr_print_AuthInfoNT4Owf(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNT4Owf
*r
)
2413 ndr_print_struct(ndr
, name
, "AuthInfoNT4Owf");
2415 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?16:r
->size
);
2416 ndr_print_samr_Password(ndr
, "password", &r
->password
);
2420 static enum ndr_err_code
ndr_push_AuthInfoClear(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoClear
*r
)
2422 if (ndr_flags
& NDR_SCALARS
) {
2423 NDR_CHECK(ndr_push_align(ndr
, 4));
2424 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2425 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2427 if (ndr_flags
& NDR_BUFFERS
) {
2429 return NDR_ERR_SUCCESS
;
2432 static enum ndr_err_code
ndr_pull_AuthInfoClear(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoClear
*r
)
2434 uint32_t size_password_0
= 0;
2435 if (ndr_flags
& NDR_SCALARS
) {
2436 NDR_CHECK(ndr_pull_align(ndr
, 4));
2437 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2438 size_password_0
= r
->size
;
2439 NDR_PULL_ALLOC_N(ndr
, r
->password
, size_password_0
);
2440 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->password
, size_password_0
));
2442 if (ndr_flags
& NDR_BUFFERS
) {
2444 return NDR_ERR_SUCCESS
;
2447 _PUBLIC_
void ndr_print_AuthInfoClear(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoClear
*r
)
2449 ndr_print_struct(ndr
, name
, "AuthInfoClear");
2451 ndr_print_uint32(ndr
, "size", r
->size
);
2452 ndr_print_array_uint8(ndr
, "password", r
->password
, r
->size
);
2456 static enum ndr_err_code
ndr_push_AuthInfoVersion(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoVersion
*r
)
2458 if (ndr_flags
& NDR_SCALARS
) {
2459 NDR_CHECK(ndr_push_align(ndr
, 4));
2460 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 4));
2461 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2463 if (ndr_flags
& NDR_BUFFERS
) {
2465 return NDR_ERR_SUCCESS
;
2468 static enum ndr_err_code
ndr_pull_AuthInfoVersion(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoVersion
*r
)
2470 if (ndr_flags
& NDR_SCALARS
) {
2471 NDR_CHECK(ndr_pull_align(ndr
, 4));
2472 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2473 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2475 if (ndr_flags
& NDR_BUFFERS
) {
2477 return NDR_ERR_SUCCESS
;
2480 _PUBLIC_
void ndr_print_AuthInfoVersion(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoVersion
*r
)
2482 ndr_print_struct(ndr
, name
, "AuthInfoVersion");
2484 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?4:r
->size
);
2485 ndr_print_uint32(ndr
, "version", r
->version
);
2489 static enum ndr_err_code
ndr_push_AuthInfo(struct ndr_push
*ndr
, int ndr_flags
, const union AuthInfo
*r
)
2491 if (ndr_flags
& NDR_SCALARS
) {
2492 int level
= ndr_push_get_switch_value(ndr
, r
);
2494 case TRUST_AUTH_TYPE_NONE
: {
2495 NDR_CHECK(ndr_push_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2498 case TRUST_AUTH_TYPE_NT4OWF
: {
2499 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2502 case TRUST_AUTH_TYPE_CLEAR
: {
2503 NDR_CHECK(ndr_push_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2506 case TRUST_AUTH_TYPE_VERSION
: {
2507 NDR_CHECK(ndr_push_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2511 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
2514 if (ndr_flags
& NDR_BUFFERS
) {
2515 int level
= ndr_push_get_switch_value(ndr
, r
);
2517 case TRUST_AUTH_TYPE_NONE
:
2520 case TRUST_AUTH_TYPE_NT4OWF
:
2523 case TRUST_AUTH_TYPE_CLEAR
:
2526 case TRUST_AUTH_TYPE_VERSION
:
2530 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
2533 return NDR_ERR_SUCCESS
;
2536 static enum ndr_err_code
ndr_pull_AuthInfo(struct ndr_pull
*ndr
, int ndr_flags
, union AuthInfo
*r
)
2539 level
= ndr_pull_get_switch_value(ndr
, r
);
2540 if (ndr_flags
& NDR_SCALARS
) {
2542 case TRUST_AUTH_TYPE_NONE
: {
2543 NDR_CHECK(ndr_pull_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2546 case TRUST_AUTH_TYPE_NT4OWF
: {
2547 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2550 case TRUST_AUTH_TYPE_CLEAR
: {
2551 NDR_CHECK(ndr_pull_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2554 case TRUST_AUTH_TYPE_VERSION
: {
2555 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2559 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
2562 if (ndr_flags
& NDR_BUFFERS
) {
2564 case TRUST_AUTH_TYPE_NONE
:
2567 case TRUST_AUTH_TYPE_NT4OWF
:
2570 case TRUST_AUTH_TYPE_CLEAR
:
2573 case TRUST_AUTH_TYPE_VERSION
:
2577 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
2580 return NDR_ERR_SUCCESS
;
2583 _PUBLIC_
void ndr_print_AuthInfo(struct ndr_print
*ndr
, const char *name
, const union AuthInfo
*r
)
2586 level
= ndr_print_get_switch_value(ndr
, r
);
2587 ndr_print_union(ndr
, name
, level
, "AuthInfo");
2589 case TRUST_AUTH_TYPE_NONE
:
2590 ndr_print_AuthInfoNone(ndr
, "none", &r
->none
);
2593 case TRUST_AUTH_TYPE_NT4OWF
:
2594 ndr_print_AuthInfoNT4Owf(ndr
, "nt4owf", &r
->nt4owf
);
2597 case TRUST_AUTH_TYPE_CLEAR
:
2598 ndr_print_AuthInfoClear(ndr
, "clear", &r
->clear
);
2601 case TRUST_AUTH_TYPE_VERSION
:
2602 ndr_print_AuthInfoVersion(ndr
, "version", &r
->version
);
2606 ndr_print_bad_level(ndr
, name
, level
);
2610 _PUBLIC_
enum ndr_err_code
ndr_push_AuthenticationInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthenticationInformation
*r
)
2612 if (ndr_flags
& NDR_SCALARS
) {
2613 NDR_CHECK(ndr_push_align(ndr
, 4));
2614 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->LastUpdateTime
));
2615 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr
, NDR_SCALARS
, r
->AuthType
));
2616 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
2617 NDR_CHECK(ndr_push_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
2619 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2620 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
2621 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->_pad
));
2622 ndr
->flags
= _flags_save_DATA_BLOB
;
2625 if (ndr_flags
& NDR_BUFFERS
) {
2627 return NDR_ERR_SUCCESS
;
2630 _PUBLIC_
enum ndr_err_code
ndr_pull_AuthenticationInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthenticationInformation
*r
)
2632 if (ndr_flags
& NDR_SCALARS
) {
2633 NDR_CHECK(ndr_pull_align(ndr
, 4));
2634 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->LastUpdateTime
));
2635 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr
, NDR_SCALARS
, &r
->AuthType
));
2636 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
2637 NDR_CHECK(ndr_pull_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
2639 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2640 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
2641 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->_pad
));
2642 ndr
->flags
= _flags_save_DATA_BLOB
;
2645 if (ndr_flags
& NDR_BUFFERS
) {
2647 return NDR_ERR_SUCCESS
;
2650 _PUBLIC_
void ndr_print_AuthenticationInformation(struct ndr_print
*ndr
, const char *name
, const struct AuthenticationInformation
*r
)
2652 ndr_print_struct(ndr
, name
, "AuthenticationInformation");
2654 ndr_print_NTTIME(ndr
, "LastUpdateTime", r
->LastUpdateTime
);
2655 ndr_print_lsa_TrustAuthType(ndr
, "AuthType", r
->AuthType
);
2656 ndr_print_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
);
2657 ndr_print_AuthInfo(ndr
, "AuthInfo", &r
->AuthInfo
);
2658 ndr_print_DATA_BLOB(ndr
, "_pad", r
->_pad
);
2662 _PUBLIC_
size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2664 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustAuthInOutBlob
, ic
);
2667 _PUBLIC_
enum ndr_err_code
ndr_push_trustCurrentPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustCurrentPasswords
*r
)
2669 uint32_t cntr_current_0
;
2670 if (ndr_flags
& NDR_SCALARS
) {
2671 NDR_CHECK(ndr_push_align(ndr
, 4));
2672 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2673 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
2674 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->current
[cntr_current_0
]));
2677 if (ndr_flags
& NDR_BUFFERS
) {
2678 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
2679 if (r
->current
[cntr_current_0
]) {
2680 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->current
[cntr_current_0
]));
2681 NDR_CHECK(ndr_push_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
2682 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->current
[cntr_current_0
]));
2686 return NDR_ERR_SUCCESS
;
2689 _PUBLIC_
enum ndr_err_code
ndr_pull_trustCurrentPasswords(struct ndr_pull
*ndr
, int ndr_flags
, struct trustCurrentPasswords
*r
)
2691 uint32_t _ptr_current
;
2692 uint32_t size_current_0
= 0;
2693 uint32_t cntr_current_0
;
2694 TALLOC_CTX
*_mem_save_current_0
;
2695 TALLOC_CTX
*_mem_save_current_1
;
2696 if (ndr_flags
& NDR_SCALARS
) {
2697 NDR_CHECK(ndr_pull_align(ndr
, 4));
2698 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2699 size_current_0
= r
->count
;
2700 NDR_PULL_ALLOC_N(ndr
, r
->current
, size_current_0
);
2701 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2702 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
2703 for (cntr_current_0
= 0; cntr_current_0
< size_current_0
; cntr_current_0
++) {
2704 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_current
));
2706 NDR_PULL_ALLOC(ndr
, r
->current
[cntr_current_0
]);
2707 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->current
[cntr_current_0
], _ptr_current
));
2709 r
->current
[cntr_current_0
] = NULL
;
2712 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
2714 if (ndr_flags
& NDR_BUFFERS
) {
2715 size_current_0
= r
->count
;
2716 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2717 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
2718 for (cntr_current_0
= 0; cntr_current_0
< size_current_0
; cntr_current_0
++) {
2719 if (r
->current
[cntr_current_0
]) {
2720 uint32_t _relative_save_offset
;
2721 _relative_save_offset
= ndr
->offset
;
2722 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->current
[cntr_current_0
]));
2723 _mem_save_current_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2724 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
[cntr_current_0
], 0);
2725 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
2726 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_1
, 0);
2727 ndr
->offset
= _relative_save_offset
;
2730 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
2732 return NDR_ERR_SUCCESS
;
2735 _PUBLIC_
void ndr_print_trustCurrentPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustCurrentPasswords
*r
)
2737 uint32_t cntr_current_0
;
2738 ndr_print_struct(ndr
, name
, "trustCurrentPasswords");
2740 ndr_print_uint32(ndr
, "count", r
->count
);
2741 ndr
->print(ndr
, "%s: ARRAY(%d)", "current", (int)r
->count
);
2743 for (cntr_current_0
=0;cntr_current_0
<r
->count
;cntr_current_0
++) {
2745 if (asprintf(&idx_0
, "[%d]", cntr_current_0
) != -1) {
2746 ndr_print_ptr(ndr
, "current", r
->current
[cntr_current_0
]);
2748 if (r
->current
[cntr_current_0
]) {
2749 ndr_print_AuthenticationInformation(ndr
, "current", r
->current
[cntr_current_0
]);
2759 _PUBLIC_
size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2761 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustCurrentPasswords
, ic
);
2764 _PUBLIC_
enum ndr_err_code
ndr_push_trustDomainPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustDomainPasswords
*r
)
2766 if (ndr_flags
& NDR_SCALARS
) {
2767 NDR_CHECK(ndr_push_align(ndr
, 4));
2768 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->confounder
, 512));
2770 struct ndr_push
*_ndr_outgoing
;
2771 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
2772 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing
, NDR_SCALARS
|NDR_BUFFERS
, &r
->outgoing
));
2773 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
2776 struct ndr_push
*_ndr_incoming
;
2777 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
2778 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming
, NDR_SCALARS
|NDR_BUFFERS
, &r
->incoming
));
2779 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
2781 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
2782 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
2784 if (ndr_flags
& NDR_BUFFERS
) {
2786 return NDR_ERR_SUCCESS
;
2789 _PUBLIC_
void ndr_print_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustDomainPasswords
*r
)
2791 ndr_print_struct(ndr
, name
, "trustDomainPasswords");
2793 ndr_print_array_uint8(ndr
, "confounder", r
->confounder
, 512);
2794 ndr_print_trustCurrentPasswords(ndr
, "outgoing", &r
->outgoing
);
2795 ndr_print_trustCurrentPasswords(ndr
, "incoming", &r
->incoming
);
2796 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
);
2797 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
);
2801 _PUBLIC_
enum ndr_err_code
ndr_push_DsCompressedChunk(struct ndr_push
*ndr
, int ndr_flags
, const struct DsCompressedChunk
*r
)
2803 if (ndr_flags
& NDR_SCALARS
) {
2804 NDR_CHECK(ndr_push_align(ndr
, 4));
2805 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->marker
));
2806 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->data
));
2808 if (ndr_flags
& NDR_BUFFERS
) {
2810 return NDR_ERR_SUCCESS
;
2813 _PUBLIC_
enum ndr_err_code
ndr_pull_DsCompressedChunk(struct ndr_pull
*ndr
, int ndr_flags
, struct DsCompressedChunk
*r
)
2815 if (ndr_flags
& NDR_SCALARS
) {
2816 NDR_CHECK(ndr_pull_align(ndr
, 4));
2817 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->marker
));
2818 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->data
));
2820 if (ndr_flags
& NDR_BUFFERS
) {
2822 return NDR_ERR_SUCCESS
;
2825 _PUBLIC_
void ndr_print_DsCompressedChunk(struct ndr_print
*ndr
, const char *name
, const struct DsCompressedChunk
*r
)
2827 ndr_print_struct(ndr
, name
, "DsCompressedChunk");
2829 ndr_print_uint32(ndr
, "marker", r
->marker
);
2830 ndr_print_DATA_BLOB(ndr
, "data", r
->data
);
2834 static enum ndr_err_code
ndr_push_ExtendedErrorAString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorAString
*r
)
2836 if (ndr_flags
& NDR_SCALARS
) {
2837 NDR_CHECK(ndr_push_align(ndr
, 4));
2838 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
2839 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
2841 if (ndr_flags
& NDR_BUFFERS
) {
2843 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->__size
));
2844 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint8_t), CH_DOS
));
2847 return NDR_ERR_SUCCESS
;
2850 static enum ndr_err_code
ndr_pull_ExtendedErrorAString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorAString
*r
)
2852 uint32_t _ptr_string
;
2853 uint32_t size_string_1
= 0;
2854 TALLOC_CTX
*_mem_save_string_0
;
2855 if (ndr_flags
& NDR_SCALARS
) {
2856 NDR_CHECK(ndr_pull_align(ndr
, 4));
2857 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
2858 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
2860 NDR_PULL_ALLOC(ndr
, r
->string
);
2865 if (ndr_flags
& NDR_BUFFERS
) {
2867 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2868 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
2869 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
2870 size_string_1
= ndr_get_array_size(ndr
, &r
->string
);
2871 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, size_string_1
, sizeof(uint8_t), CH_DOS
));
2872 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
2875 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
2878 return NDR_ERR_SUCCESS
;
2881 _PUBLIC_
void ndr_print_ExtendedErrorAString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorAString
*r
)
2883 ndr_print_struct(ndr
, name
, "ExtendedErrorAString");
2885 ndr_print_uint16(ndr
, "__size", r
->__size
);
2886 ndr_print_ptr(ndr
, "string", r
->string
);
2889 ndr_print_string(ndr
, "string", r
->string
);
2895 static enum ndr_err_code
ndr_push_ExtendedErrorUString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorUString
*r
)
2897 if (ndr_flags
& NDR_SCALARS
) {
2898 NDR_CHECK(ndr_push_align(ndr
, 4));
2899 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
2900 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
2902 if (ndr_flags
& NDR_BUFFERS
) {
2904 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->__size
));
2905 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint16_t), CH_UTF16
));
2908 return NDR_ERR_SUCCESS
;
2911 static enum ndr_err_code
ndr_pull_ExtendedErrorUString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorUString
*r
)
2913 uint32_t _ptr_string
;
2914 uint32_t size_string_1
= 0;
2915 TALLOC_CTX
*_mem_save_string_0
;
2916 if (ndr_flags
& NDR_SCALARS
) {
2917 NDR_CHECK(ndr_pull_align(ndr
, 4));
2918 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
2919 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
2921 NDR_PULL_ALLOC(ndr
, r
->string
);
2926 if (ndr_flags
& NDR_BUFFERS
) {
2928 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2929 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
2930 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
2931 size_string_1
= ndr_get_array_size(ndr
, &r
->string
);
2932 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, size_string_1
, sizeof(uint16_t), CH_UTF16
));
2933 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
2936 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
2939 return NDR_ERR_SUCCESS
;
2942 _PUBLIC_
void ndr_print_ExtendedErrorUString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorUString
*r
)
2944 ndr_print_struct(ndr
, name
, "ExtendedErrorUString");
2946 ndr_print_uint16(ndr
, "__size", r
->__size
);
2947 ndr_print_ptr(ndr
, "string", r
->string
);
2950 ndr_print_string(ndr
, "string", r
->string
);
2956 static enum ndr_err_code
ndr_push_ExtendedErrorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorBlob
*r
)
2958 if (ndr_flags
& NDR_SCALARS
) {
2959 NDR_CHECK(ndr_push_align(ndr
, 4));
2960 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->length
));
2961 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
2963 if (ndr_flags
& NDR_BUFFERS
) {
2965 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
2966 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
2969 return NDR_ERR_SUCCESS
;
2972 static enum ndr_err_code
ndr_pull_ExtendedErrorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorBlob
*r
)
2975 uint32_t size_data_1
= 0;
2976 TALLOC_CTX
*_mem_save_data_0
;
2977 if (ndr_flags
& NDR_SCALARS
) {
2978 NDR_CHECK(ndr_pull_align(ndr
, 4));
2979 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
2980 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
2982 NDR_PULL_ALLOC(ndr
, r
->data
);
2987 if (ndr_flags
& NDR_BUFFERS
) {
2989 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2990 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
2991 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
2992 size_data_1
= ndr_get_array_size(ndr
, &r
->data
);
2993 NDR_PULL_ALLOC_N(ndr
, r
->data
, size_data_1
);
2994 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, size_data_1
));
2995 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
2998 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
3001 return NDR_ERR_SUCCESS
;
3004 _PUBLIC_
void ndr_print_ExtendedErrorBlob(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorBlob
*r
)
3006 ndr_print_struct(ndr
, name
, "ExtendedErrorBlob");
3008 ndr_print_uint16(ndr
, "length", r
->length
);
3009 ndr_print_ptr(ndr
, "data", r
->data
);
3012 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
3018 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent r
)
3020 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
3021 return NDR_ERR_SUCCESS
;
3024 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent
*r
)
3027 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
3029 return NDR_ERR_SUCCESS
;
3032 _PUBLIC_
void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorComputerNamePresent r
)
3034 const char *val
= NULL
;
3037 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3038 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3040 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3043 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNameU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorComputerNameU
*r
)
3045 if (ndr_flags
& NDR_SCALARS
) {
3046 int level
= ndr_push_get_switch_value(ndr
, r
);
3047 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, level
));
3049 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3050 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3053 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3057 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3060 if (ndr_flags
& NDR_BUFFERS
) {
3061 int level
= ndr_push_get_switch_value(ndr
, r
);
3063 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3064 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3067 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3071 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3074 return NDR_ERR_SUCCESS
;
3077 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorComputerNameU
*r
)
3081 level
= ndr_pull_get_switch_value(ndr
, r
);
3082 if (ndr_flags
& NDR_SCALARS
) {
3083 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3084 if (_level
!= level
) {
3085 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3088 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3089 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3092 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3096 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3099 if (ndr_flags
& NDR_BUFFERS
) {
3101 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3102 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3105 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3109 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3112 return NDR_ERR_SUCCESS
;
3115 _PUBLIC_
void ndr_print_ExtendedErrorComputerNameU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorComputerNameU
*r
)
3118 level
= ndr_print_get_switch_value(ndr
, r
);
3119 ndr_print_union(ndr
, name
, level
, "ExtendedErrorComputerNameU");
3121 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3122 ndr_print_ExtendedErrorUString(ndr
, "name", &r
->name
);
3125 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3129 ndr_print_bad_level(ndr
, name
, level
);
3133 static enum ndr_err_code
ndr_push_ExtendedErrorComputerName(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorComputerName
*r
)
3135 if (ndr_flags
& NDR_SCALARS
) {
3136 NDR_CHECK(ndr_push_align(ndr
, 4));
3137 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, r
->present
));
3138 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->n
, r
->present
));
3139 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3141 if (ndr_flags
& NDR_BUFFERS
) {
3142 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3144 return NDR_ERR_SUCCESS
;
3147 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerName(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorComputerName
*r
)
3149 if (ndr_flags
& NDR_SCALARS
) {
3150 NDR_CHECK(ndr_pull_align(ndr
, 4));
3151 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, &r
->present
));
3152 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->n
, r
->present
));
3153 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3155 if (ndr_flags
& NDR_BUFFERS
) {
3156 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3158 return NDR_ERR_SUCCESS
;
3161 _PUBLIC_
void ndr_print_ExtendedErrorComputerName(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorComputerName
*r
)
3163 ndr_print_struct(ndr
, name
, "ExtendedErrorComputerName");
3165 ndr_print_ExtendedErrorComputerNamePresent(ndr
, "present", r
->present
);
3166 ndr_print_set_switch_value(ndr
, &r
->n
, r
->present
);
3167 ndr_print_ExtendedErrorComputerNameU(ndr
, "n", &r
->n
);
3171 static enum ndr_err_code
ndr_push_ExtendedErrorParamType(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorParamType r
)
3173 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
3174 return NDR_ERR_SUCCESS
;
3177 static enum ndr_err_code
ndr_pull_ExtendedErrorParamType(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorParamType
*r
)
3180 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
3182 return NDR_ERR_SUCCESS
;
3185 _PUBLIC_
void ndr_print_ExtendedErrorParamType(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorParamType r
)
3187 const char *val
= NULL
;
3190 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3191 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3192 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3193 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3194 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3195 case EXTENDED_ERROR_PARAM_TYPE_NONE
: val
= "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3196 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: val
= "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3198 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3201 static enum ndr_err_code
ndr_push_ExtendedErrorParamU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorParamU
*r
)
3203 if (ndr_flags
& NDR_SCALARS
) {
3204 int level
= ndr_push_get_switch_value(ndr
, r
);
3205 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, level
));
3207 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3208 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3211 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3212 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3215 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3216 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->uint32
));
3219 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3220 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->uint16
));
3223 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3224 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->uint64
));
3227 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3230 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3231 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3235 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3238 if (ndr_flags
& NDR_BUFFERS
) {
3239 int level
= ndr_push_get_switch_value(ndr
, r
);
3241 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3242 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3245 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3246 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3249 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3252 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3255 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3258 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3261 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3262 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3266 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3269 return NDR_ERR_SUCCESS
;
3272 static enum ndr_err_code
ndr_pull_ExtendedErrorParamU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorParamU
*r
)
3276 level
= ndr_pull_get_switch_value(ndr
, r
);
3277 if (ndr_flags
& NDR_SCALARS
) {
3278 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3279 if (_level
!= level
) {
3280 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3283 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3284 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3287 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3288 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3291 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3292 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->uint32
));
3295 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3296 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->uint16
));
3299 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3300 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->uint64
));
3303 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3306 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3307 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3311 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3314 if (ndr_flags
& NDR_BUFFERS
) {
3316 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3317 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3320 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3321 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3324 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3327 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3330 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3333 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3336 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3337 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3341 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3344 return NDR_ERR_SUCCESS
;
3347 _PUBLIC_
void ndr_print_ExtendedErrorParamU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorParamU
*r
)
3350 level
= ndr_print_get_switch_value(ndr
, r
);
3351 ndr_print_union(ndr
, name
, level
, "ExtendedErrorParamU");
3353 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3354 ndr_print_ExtendedErrorAString(ndr
, "a_string", &r
->a_string
);
3357 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3358 ndr_print_ExtendedErrorUString(ndr
, "u_string", &r
->u_string
);
3361 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3362 ndr_print_uint32(ndr
, "uint32", r
->uint32
);
3365 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3366 ndr_print_uint16(ndr
, "uint16", r
->uint16
);
3369 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3370 ndr_print_hyper(ndr
, "uint64", r
->uint64
);
3373 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3376 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3377 ndr_print_ExtendedErrorBlob(ndr
, "blob", &r
->blob
);
3381 ndr_print_bad_level(ndr
, name
, level
);
3385 static enum ndr_err_code
ndr_push_ExtendedErrorParam(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorParam
*r
)
3387 if (ndr_flags
& NDR_SCALARS
) {
3388 NDR_CHECK(ndr_push_align(ndr
, 8));
3389 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, r
->type
));
3390 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->p
, r
->type
));
3391 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3393 if (ndr_flags
& NDR_BUFFERS
) {
3394 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3396 return NDR_ERR_SUCCESS
;
3399 static enum ndr_err_code
ndr_pull_ExtendedErrorParam(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorParam
*r
)
3401 if (ndr_flags
& NDR_SCALARS
) {
3402 NDR_CHECK(ndr_pull_align(ndr
, 8));
3403 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr
, NDR_SCALARS
, &r
->type
));
3404 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->p
, r
->type
));
3405 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3407 if (ndr_flags
& NDR_BUFFERS
) {
3408 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3410 return NDR_ERR_SUCCESS
;
3413 _PUBLIC_
void ndr_print_ExtendedErrorParam(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorParam
*r
)
3415 ndr_print_struct(ndr
, name
, "ExtendedErrorParam");
3417 ndr_print_ExtendedErrorParamType(ndr
, "type", r
->type
);
3418 ndr_print_set_switch_value(ndr
, &r
->p
, r
->type
);
3419 ndr_print_ExtendedErrorParamU(ndr
, "p", &r
->p
);
3423 _PUBLIC_
enum ndr_err_code
ndr_push_ExtendedErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfo
*r
)
3425 uint32_t cntr_params_0
;
3426 if (ndr_flags
& NDR_SCALARS
) {
3427 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_params
));
3428 NDR_CHECK(ndr_push_align(ndr
, 8));
3429 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
3430 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3431 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->pid
));
3432 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
3433 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->generating_component
));
3434 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
3435 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->detection_location
));
3436 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->flags
));
3437 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_params
));
3438 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3439 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3442 if (ndr_flags
& NDR_BUFFERS
) {
3444 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3446 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3447 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3448 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3451 return NDR_ERR_SUCCESS
;
3454 _PUBLIC_
enum ndr_err_code
ndr_pull_ExtendedErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfo
*r
)
3457 TALLOC_CTX
*_mem_save_next_0
;
3458 uint32_t size_params_0
= 0;
3459 uint32_t cntr_params_0
;
3460 TALLOC_CTX
*_mem_save_params_0
;
3461 if (ndr_flags
& NDR_SCALARS
) {
3462 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->params
));
3463 NDR_CHECK(ndr_pull_align(ndr
, 8));
3464 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
3466 NDR_PULL_ALLOC(ndr
, r
->next
);
3470 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3471 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->pid
));
3472 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
3473 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->generating_component
));
3474 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
3475 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->detection_location
));
3476 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
3477 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_params
));
3478 size_params_0
= ndr_get_array_size(ndr
, &r
->params
);
3479 NDR_PULL_ALLOC_N(ndr
, r
->params
, size_params_0
);
3480 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3481 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3482 for (cntr_params_0
= 0; cntr_params_0
< size_params_0
; cntr_params_0
++) {
3483 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3485 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3487 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->params
, r
->num_params
));
3490 if (ndr_flags
& NDR_BUFFERS
) {
3492 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3493 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
3494 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3495 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
3497 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3498 size_params_0
= ndr_get_array_size(ndr
, &r
->params
);
3499 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3500 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3501 for (cntr_params_0
= 0; cntr_params_0
< size_params_0
; cntr_params_0
++) {
3502 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3504 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3506 return NDR_ERR_SUCCESS
;
3509 _PUBLIC_
void ndr_print_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfo
*r
)
3511 uint32_t cntr_params_0
;
3512 ndr_print_struct(ndr
, name
, "ExtendedErrorInfo");
3514 ndr_print_ptr(ndr
, "next", r
->next
);
3517 ndr_print_ExtendedErrorInfo(ndr
, "next", r
->next
);
3520 ndr_print_ExtendedErrorComputerName(ndr
, "computer_name", &r
->computer_name
);
3521 ndr_print_hyper(ndr
, "pid", r
->pid
);
3522 ndr_print_NTTIME(ndr
, "time", r
->time
);
3523 ndr_print_uint32(ndr
, "generating_component", r
->generating_component
);
3524 ndr_print_WERROR(ndr
, "status", r
->status
);
3525 ndr_print_uint16(ndr
, "detection_location", r
->detection_location
);
3526 ndr_print_uint16(ndr
, "flags", r
->flags
);
3527 ndr_print_uint16(ndr
, "num_params", r
->num_params
);
3528 ndr
->print(ndr
, "%s: ARRAY(%d)", "params", (int)r
->num_params
);
3530 for (cntr_params_0
=0;cntr_params_0
<r
->num_params
;cntr_params_0
++) {
3532 if (asprintf(&idx_0
, "[%d]", cntr_params_0
) != -1) {
3533 ndr_print_ExtendedErrorParam(ndr
, "params", &r
->params
[cntr_params_0
]);
3541 static enum ndr_err_code
ndr_push_ExtendedErrorInfoPtr(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfoPtr
*r
)
3543 if (ndr_flags
& NDR_SCALARS
) {
3544 NDR_CHECK(ndr_push_align(ndr
, 4));
3545 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
3547 if (ndr_flags
& NDR_BUFFERS
) {
3549 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
3552 return NDR_ERR_SUCCESS
;
3555 static enum ndr_err_code
ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfoPtr
*r
)
3558 TALLOC_CTX
*_mem_save_info_0
;
3559 if (ndr_flags
& NDR_SCALARS
) {
3560 NDR_CHECK(ndr_pull_align(ndr
, 4));
3561 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
3563 NDR_PULL_ALLOC(ndr
, r
->info
);
3568 if (ndr_flags
& NDR_BUFFERS
) {
3570 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3571 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
3572 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
3573 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
3576 return NDR_ERR_SUCCESS
;
3579 _PUBLIC_
void ndr_print_ExtendedErrorInfoPtr(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfoPtr
*r
)
3581 ndr_print_struct(ndr
, name
, "ExtendedErrorInfoPtr");
3583 ndr_print_ptr(ndr
, "info", r
->info
);
3586 ndr_print_ExtendedErrorInfo(ndr
, "info", r
->info
);
3592 static enum ndr_err_code
ndr_push_decode_replPropertyMetaData(struct ndr_push
*ndr
, int flags
, const struct decode_replPropertyMetaData
*r
)
3594 if (flags
& NDR_IN
) {
3595 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3597 if (flags
& NDR_OUT
) {
3599 return NDR_ERR_SUCCESS
;
3602 static enum ndr_err_code
ndr_pull_decode_replPropertyMetaData(struct ndr_pull
*ndr
, int flags
, struct decode_replPropertyMetaData
*r
)
3604 if (flags
& NDR_IN
) {
3605 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3607 if (flags
& NDR_OUT
) {
3609 return NDR_ERR_SUCCESS
;
3612 _PUBLIC_
void ndr_print_decode_replPropertyMetaData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replPropertyMetaData
*r
)
3614 ndr_print_struct(ndr
, name
, "decode_replPropertyMetaData");
3616 if (flags
& NDR_SET_VALUES
) {
3617 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3619 if (flags
& NDR_IN
) {
3620 ndr_print_struct(ndr
, "in", "decode_replPropertyMetaData");
3622 ndr_print_replPropertyMetaDataBlob(ndr
, "blob", &r
->in
.blob
);
3625 if (flags
& NDR_OUT
) {
3626 ndr_print_struct(ndr
, "out", "decode_replPropertyMetaData");
3633 static enum ndr_err_code
ndr_push_decode_replUpToDateVector(struct ndr_push
*ndr
, int flags
, const struct decode_replUpToDateVector
*r
)
3635 if (flags
& NDR_IN
) {
3636 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3638 if (flags
& NDR_OUT
) {
3640 return NDR_ERR_SUCCESS
;
3643 static enum ndr_err_code
ndr_pull_decode_replUpToDateVector(struct ndr_pull
*ndr
, int flags
, struct decode_replUpToDateVector
*r
)
3645 if (flags
& NDR_IN
) {
3646 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3648 if (flags
& NDR_OUT
) {
3650 return NDR_ERR_SUCCESS
;
3653 _PUBLIC_
void ndr_print_decode_replUpToDateVector(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replUpToDateVector
*r
)
3655 ndr_print_struct(ndr
, name
, "decode_replUpToDateVector");
3657 if (flags
& NDR_SET_VALUES
) {
3658 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3660 if (flags
& NDR_IN
) {
3661 ndr_print_struct(ndr
, "in", "decode_replUpToDateVector");
3663 ndr_print_replUpToDateVectorBlob(ndr
, "blob", &r
->in
.blob
);
3666 if (flags
& NDR_OUT
) {
3667 ndr_print_struct(ndr
, "out", "decode_replUpToDateVector");
3674 static enum ndr_err_code
ndr_push_decode_repsFromTo(struct ndr_push
*ndr
, int flags
, const struct decode_repsFromTo
*r
)
3676 if (flags
& NDR_IN
) {
3677 NDR_CHECK(ndr_push_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3679 if (flags
& NDR_OUT
) {
3681 return NDR_ERR_SUCCESS
;
3684 static enum ndr_err_code
ndr_pull_decode_repsFromTo(struct ndr_pull
*ndr
, int flags
, struct decode_repsFromTo
*r
)
3686 if (flags
& NDR_IN
) {
3687 NDR_CHECK(ndr_pull_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3689 if (flags
& NDR_OUT
) {
3691 return NDR_ERR_SUCCESS
;
3694 _PUBLIC_
void ndr_print_decode_repsFromTo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_repsFromTo
*r
)
3696 ndr_print_struct(ndr
, name
, "decode_repsFromTo");
3698 if (flags
& NDR_SET_VALUES
) {
3699 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3701 if (flags
& NDR_IN
) {
3702 ndr_print_struct(ndr
, "in", "decode_repsFromTo");
3704 ndr_print_repsFromToBlob(ndr
, "blob", &r
->in
.blob
);
3707 if (flags
& NDR_OUT
) {
3708 ndr_print_struct(ndr
, "out", "decode_repsFromTo");
3715 static enum ndr_err_code
ndr_push_decode_partialAttributeSet(struct ndr_push
*ndr
, int flags
, const struct decode_partialAttributeSet
*r
)
3717 if (flags
& NDR_IN
) {
3718 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3720 if (flags
& NDR_OUT
) {
3722 return NDR_ERR_SUCCESS
;
3725 static enum ndr_err_code
ndr_pull_decode_partialAttributeSet(struct ndr_pull
*ndr
, int flags
, struct decode_partialAttributeSet
*r
)
3727 if (flags
& NDR_IN
) {
3728 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3730 if (flags
& NDR_OUT
) {
3732 return NDR_ERR_SUCCESS
;
3735 _PUBLIC_
void ndr_print_decode_partialAttributeSet(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_partialAttributeSet
*r
)
3737 ndr_print_struct(ndr
, name
, "decode_partialAttributeSet");
3739 if (flags
& NDR_SET_VALUES
) {
3740 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3742 if (flags
& NDR_IN
) {
3743 ndr_print_struct(ndr
, "in", "decode_partialAttributeSet");
3745 ndr_print_partialAttributeSetBlob(ndr
, "blob", &r
->in
.blob
);
3748 if (flags
& NDR_OUT
) {
3749 ndr_print_struct(ndr
, "out", "decode_partialAttributeSet");
3756 static enum ndr_err_code
ndr_push_decode_prefixMap(struct ndr_push
*ndr
, int flags
, const struct decode_prefixMap
*r
)
3758 if (flags
& NDR_IN
) {
3759 NDR_CHECK(ndr_push_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3761 if (flags
& NDR_OUT
) {
3763 return NDR_ERR_SUCCESS
;
3766 static enum ndr_err_code
ndr_pull_decode_prefixMap(struct ndr_pull
*ndr
, int flags
, struct decode_prefixMap
*r
)
3768 if (flags
& NDR_IN
) {
3769 NDR_CHECK(ndr_pull_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3771 if (flags
& NDR_OUT
) {
3773 return NDR_ERR_SUCCESS
;
3776 _PUBLIC_
void ndr_print_decode_prefixMap(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_prefixMap
*r
)
3778 ndr_print_struct(ndr
, name
, "decode_prefixMap");
3780 if (flags
& NDR_SET_VALUES
) {
3781 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3783 if (flags
& NDR_IN
) {
3784 ndr_print_struct(ndr
, "in", "decode_prefixMap");
3786 ndr_print_prefixMapBlob(ndr
, "blob", &r
->in
.blob
);
3789 if (flags
& NDR_OUT
) {
3790 ndr_print_struct(ndr
, "out", "decode_prefixMap");
3797 static enum ndr_err_code
ndr_push_decode_ldapControlDirSync(struct ndr_push
*ndr
, int flags
, const struct decode_ldapControlDirSync
*r
)
3799 if (flags
& NDR_IN
) {
3800 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
3802 if (flags
& NDR_OUT
) {
3804 return NDR_ERR_SUCCESS
;
3807 static enum ndr_err_code
ndr_pull_decode_ldapControlDirSync(struct ndr_pull
*ndr
, int flags
, struct decode_ldapControlDirSync
*r
)
3809 if (flags
& NDR_IN
) {
3810 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
3812 if (flags
& NDR_OUT
) {
3814 return NDR_ERR_SUCCESS
;
3817 _PUBLIC_
void ndr_print_decode_ldapControlDirSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ldapControlDirSync
*r
)
3819 ndr_print_struct(ndr
, name
, "decode_ldapControlDirSync");
3821 if (flags
& NDR_SET_VALUES
) {
3822 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3824 if (flags
& NDR_IN
) {
3825 ndr_print_struct(ndr
, "in", "decode_ldapControlDirSync");
3827 ndr_print_ldapControlDirSyncCookie(ndr
, "cookie", &r
->in
.cookie
);
3830 if (flags
& NDR_OUT
) {
3831 ndr_print_struct(ndr
, "out", "decode_ldapControlDirSync");
3838 static enum ndr_err_code
ndr_push_decode_supplementalCredentials(struct ndr_push
*ndr
, int flags
, const struct decode_supplementalCredentials
*r
)
3840 if (flags
& NDR_IN
) {
3841 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3843 if (flags
& NDR_OUT
) {
3845 return NDR_ERR_SUCCESS
;
3848 static enum ndr_err_code
ndr_pull_decode_supplementalCredentials(struct ndr_pull
*ndr
, int flags
, struct decode_supplementalCredentials
*r
)
3850 if (flags
& NDR_IN
) {
3851 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3853 if (flags
& NDR_OUT
) {
3855 return NDR_ERR_SUCCESS
;
3858 _PUBLIC_
void ndr_print_decode_supplementalCredentials(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_supplementalCredentials
*r
)
3860 ndr_print_struct(ndr
, name
, "decode_supplementalCredentials");
3862 if (flags
& NDR_SET_VALUES
) {
3863 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3865 if (flags
& NDR_IN
) {
3866 ndr_print_struct(ndr
, "in", "decode_supplementalCredentials");
3868 ndr_print_supplementalCredentialsBlob(ndr
, "blob", &r
->in
.blob
);
3871 if (flags
& NDR_OUT
) {
3872 ndr_print_struct(ndr
, "out", "decode_supplementalCredentials");
3879 static enum ndr_err_code
ndr_push_decode_Packages(struct ndr_push
*ndr
, int flags
, const struct decode_Packages
*r
)
3881 if (flags
& NDR_IN
) {
3882 NDR_CHECK(ndr_push_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3884 if (flags
& NDR_OUT
) {
3886 return NDR_ERR_SUCCESS
;
3889 static enum ndr_err_code
ndr_pull_decode_Packages(struct ndr_pull
*ndr
, int flags
, struct decode_Packages
*r
)
3891 if (flags
& NDR_IN
) {
3892 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3894 if (flags
& NDR_OUT
) {
3896 return NDR_ERR_SUCCESS
;
3899 _PUBLIC_
void ndr_print_decode_Packages(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_Packages
*r
)
3901 ndr_print_struct(ndr
, name
, "decode_Packages");
3903 if (flags
& NDR_SET_VALUES
) {
3904 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3906 if (flags
& NDR_IN
) {
3907 ndr_print_struct(ndr
, "in", "decode_Packages");
3909 ndr_print_package_PackagesBlob(ndr
, "blob", &r
->in
.blob
);
3912 if (flags
& NDR_OUT
) {
3913 ndr_print_struct(ndr
, "out", "decode_Packages");
3920 static enum ndr_err_code
ndr_push_decode_PrimaryKerberos(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryKerberos
*r
)
3922 if (flags
& NDR_IN
) {
3923 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3925 if (flags
& NDR_OUT
) {
3927 return NDR_ERR_SUCCESS
;
3930 static enum ndr_err_code
ndr_pull_decode_PrimaryKerberos(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryKerberos
*r
)
3932 if (flags
& NDR_IN
) {
3933 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
3935 if (flags
& NDR_OUT
) {
3937 return NDR_ERR_SUCCESS
;
3940 _PUBLIC_
void ndr_print_decode_PrimaryKerberos(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryKerberos
*r
)
3942 ndr_print_struct(ndr
, name
, "decode_PrimaryKerberos");
3944 if (flags
& NDR_SET_VALUES
) {
3945 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3947 if (flags
& NDR_IN
) {
3948 ndr_print_struct(ndr
, "in", "decode_PrimaryKerberos");
3950 ndr_print_package_PrimaryKerberosBlob(ndr
, "blob", &r
->in
.blob
);
3953 if (flags
& NDR_OUT
) {
3954 ndr_print_struct(ndr
, "out", "decode_PrimaryKerberos");
3961 static enum ndr_err_code
ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
3963 if (flags
& NDR_IN
) {
3964 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3966 if (flags
& NDR_OUT
) {
3968 return NDR_ERR_SUCCESS
;
3971 static enum ndr_err_code
ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryCLEARTEXT
*r
)
3973 if (flags
& NDR_IN
) {
3974 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3976 if (flags
& NDR_OUT
) {
3978 return NDR_ERR_SUCCESS
;
3981 _PUBLIC_
void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
3983 ndr_print_struct(ndr
, name
, "decode_PrimaryCLEARTEXT");
3985 if (flags
& NDR_SET_VALUES
) {
3986 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3988 if (flags
& NDR_IN
) {
3989 ndr_print_struct(ndr
, "in", "decode_PrimaryCLEARTEXT");
3991 ndr_print_package_PrimaryCLEARTEXTBlob(ndr
, "blob", &r
->in
.blob
);
3994 if (flags
& NDR_OUT
) {
3995 ndr_print_struct(ndr
, "out", "decode_PrimaryCLEARTEXT");
4002 static enum ndr_err_code
ndr_push_decode_PrimaryWDigest(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryWDigest
*r
)
4004 if (flags
& NDR_IN
) {
4005 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4007 if (flags
& NDR_OUT
) {
4009 return NDR_ERR_SUCCESS
;
4012 static enum ndr_err_code
ndr_pull_decode_PrimaryWDigest(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryWDigest
*r
)
4014 if (flags
& NDR_IN
) {
4015 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4017 if (flags
& NDR_OUT
) {
4019 return NDR_ERR_SUCCESS
;
4022 _PUBLIC_
void ndr_print_decode_PrimaryWDigest(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryWDigest
*r
)
4024 ndr_print_struct(ndr
, name
, "decode_PrimaryWDigest");
4026 if (flags
& NDR_SET_VALUES
) {
4027 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4029 if (flags
& NDR_IN
) {
4030 ndr_print_struct(ndr
, "in", "decode_PrimaryWDigest");
4032 ndr_print_package_PrimaryWDigestBlob(ndr
, "blob", &r
->in
.blob
);
4035 if (flags
& NDR_OUT
) {
4036 ndr_print_struct(ndr
, "out", "decode_PrimaryWDigest");
4043 static enum ndr_err_code
ndr_push_decode_trustAuthInOut(struct ndr_push
*ndr
, int flags
, const struct decode_trustAuthInOut
*r
)
4045 if (flags
& NDR_IN
) {
4046 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4048 if (flags
& NDR_OUT
) {
4050 return NDR_ERR_SUCCESS
;
4053 static enum ndr_err_code
ndr_pull_decode_trustAuthInOut(struct ndr_pull
*ndr
, int flags
, struct decode_trustAuthInOut
*r
)
4055 if (flags
& NDR_IN
) {
4056 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4058 if (flags
& NDR_OUT
) {
4060 return NDR_ERR_SUCCESS
;
4063 _PUBLIC_
void ndr_print_decode_trustAuthInOut(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustAuthInOut
*r
)
4065 ndr_print_struct(ndr
, name
, "decode_trustAuthInOut");
4067 if (flags
& NDR_SET_VALUES
) {
4068 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4070 if (flags
& NDR_IN
) {
4071 ndr_print_struct(ndr
, "in", "decode_trustAuthInOut");
4073 ndr_print_trustAuthInOutBlob(ndr
, "blob", &r
->in
.blob
);
4076 if (flags
& NDR_OUT
) {
4077 ndr_print_struct(ndr
, "out", "decode_trustAuthInOut");
4084 static enum ndr_err_code
ndr_push_decode_trustDomainPasswords(struct ndr_push
*ndr
, int flags
, const struct decode_trustDomainPasswords
*r
)
4086 if (flags
& NDR_IN
) {
4087 NDR_CHECK(ndr_push_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4089 if (flags
& NDR_OUT
) {
4091 return NDR_ERR_SUCCESS
;
4094 static enum ndr_err_code
ndr_pull_decode_trustDomainPasswords(struct ndr_pull
*ndr
, int flags
, struct decode_trustDomainPasswords
*r
)
4096 if (flags
& NDR_IN
) {
4097 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4099 if (flags
& NDR_OUT
) {
4101 return NDR_ERR_SUCCESS
;
4104 _PUBLIC_
void ndr_print_decode_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustDomainPasswords
*r
)
4106 ndr_print_struct(ndr
, name
, "decode_trustDomainPasswords");
4108 if (flags
& NDR_SET_VALUES
) {
4109 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4111 if (flags
& NDR_IN
) {
4112 ndr_print_struct(ndr
, "in", "decode_trustDomainPasswords");
4114 ndr_print_trustDomainPasswords(ndr
, "blob", &r
->in
.blob
);
4117 if (flags
& NDR_OUT
) {
4118 ndr_print_struct(ndr
, "out", "decode_trustDomainPasswords");
4125 static enum ndr_err_code
ndr_push_decode_ExtendedErrorInfo(struct ndr_push
*ndr
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
4127 if (flags
& NDR_IN
) {
4129 struct ndr_push
*_ndr_ptr
;
4130 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
4131 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
4132 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
4135 if (flags
& NDR_OUT
) {
4137 return NDR_ERR_SUCCESS
;
4140 static enum ndr_err_code
ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull
*ndr
, int flags
, struct decode_ExtendedErrorInfo
*r
)
4142 if (flags
& NDR_IN
) {
4144 struct ndr_pull
*_ndr_ptr
;
4145 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
4146 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
4147 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
4150 if (flags
& NDR_OUT
) {
4152 return NDR_ERR_SUCCESS
;
4155 _PUBLIC_
void ndr_print_decode_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
4157 ndr_print_struct(ndr
, name
, "decode_ExtendedErrorInfo");
4159 if (flags
& NDR_SET_VALUES
) {
4160 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4162 if (flags
& NDR_IN
) {
4163 ndr_print_struct(ndr
, "in", "decode_ExtendedErrorInfo");
4165 ndr_print_ExtendedErrorInfoPtr(ndr
, "ptr", &r
->in
.ptr
);
4168 if (flags
& NDR_OUT
) {
4169 ndr_print_struct(ndr
, "out", "decode_ExtendedErrorInfo");
4176 static const struct ndr_interface_call drsblobs_calls
[] = {
4178 "decode_replPropertyMetaData",
4179 sizeof(struct decode_replPropertyMetaData
),
4180 (ndr_push_flags_fn_t
) ndr_push_decode_replPropertyMetaData
,
4181 (ndr_pull_flags_fn_t
) ndr_pull_decode_replPropertyMetaData
,
4182 (ndr_print_function_t
) ndr_print_decode_replPropertyMetaData
,
4186 "decode_replUpToDateVector",
4187 sizeof(struct decode_replUpToDateVector
),
4188 (ndr_push_flags_fn_t
) ndr_push_decode_replUpToDateVector
,
4189 (ndr_pull_flags_fn_t
) ndr_pull_decode_replUpToDateVector
,
4190 (ndr_print_function_t
) ndr_print_decode_replUpToDateVector
,
4194 "decode_repsFromTo",
4195 sizeof(struct decode_repsFromTo
),
4196 (ndr_push_flags_fn_t
) ndr_push_decode_repsFromTo
,
4197 (ndr_pull_flags_fn_t
) ndr_pull_decode_repsFromTo
,
4198 (ndr_print_function_t
) ndr_print_decode_repsFromTo
,
4202 "decode_partialAttributeSet",
4203 sizeof(struct decode_partialAttributeSet
),
4204 (ndr_push_flags_fn_t
) ndr_push_decode_partialAttributeSet
,
4205 (ndr_pull_flags_fn_t
) ndr_pull_decode_partialAttributeSet
,
4206 (ndr_print_function_t
) ndr_print_decode_partialAttributeSet
,
4211 sizeof(struct decode_prefixMap
),
4212 (ndr_push_flags_fn_t
) ndr_push_decode_prefixMap
,
4213 (ndr_pull_flags_fn_t
) ndr_pull_decode_prefixMap
,
4214 (ndr_print_function_t
) ndr_print_decode_prefixMap
,
4218 "decode_ldapControlDirSync",
4219 sizeof(struct decode_ldapControlDirSync
),
4220 (ndr_push_flags_fn_t
) ndr_push_decode_ldapControlDirSync
,
4221 (ndr_pull_flags_fn_t
) ndr_pull_decode_ldapControlDirSync
,
4222 (ndr_print_function_t
) ndr_print_decode_ldapControlDirSync
,
4226 "decode_supplementalCredentials",
4227 sizeof(struct decode_supplementalCredentials
),
4228 (ndr_push_flags_fn_t
) ndr_push_decode_supplementalCredentials
,
4229 (ndr_pull_flags_fn_t
) ndr_pull_decode_supplementalCredentials
,
4230 (ndr_print_function_t
) ndr_print_decode_supplementalCredentials
,
4235 sizeof(struct decode_Packages
),
4236 (ndr_push_flags_fn_t
) ndr_push_decode_Packages
,
4237 (ndr_pull_flags_fn_t
) ndr_pull_decode_Packages
,
4238 (ndr_print_function_t
) ndr_print_decode_Packages
,
4242 "decode_PrimaryKerberos",
4243 sizeof(struct decode_PrimaryKerberos
),
4244 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryKerberos
,
4245 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryKerberos
,
4246 (ndr_print_function_t
) ndr_print_decode_PrimaryKerberos
,
4250 "decode_PrimaryCLEARTEXT",
4251 sizeof(struct decode_PrimaryCLEARTEXT
),
4252 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryCLEARTEXT
,
4253 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryCLEARTEXT
,
4254 (ndr_print_function_t
) ndr_print_decode_PrimaryCLEARTEXT
,
4258 "decode_PrimaryWDigest",
4259 sizeof(struct decode_PrimaryWDigest
),
4260 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryWDigest
,
4261 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryWDigest
,
4262 (ndr_print_function_t
) ndr_print_decode_PrimaryWDigest
,
4266 "decode_trustAuthInOut",
4267 sizeof(struct decode_trustAuthInOut
),
4268 (ndr_push_flags_fn_t
) ndr_push_decode_trustAuthInOut
,
4269 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustAuthInOut
,
4270 (ndr_print_function_t
) ndr_print_decode_trustAuthInOut
,
4274 "decode_trustDomainPasswords",
4275 sizeof(struct decode_trustDomainPasswords
),
4276 (ndr_push_flags_fn_t
) ndr_push_decode_trustDomainPasswords
,
4277 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustDomainPasswords
,
4278 (ndr_print_function_t
) ndr_print_decode_trustDomainPasswords
,
4282 "decode_ExtendedErrorInfo",
4283 sizeof(struct decode_ExtendedErrorInfo
),
4284 (ndr_push_flags_fn_t
) ndr_push_decode_ExtendedErrorInfo
,
4285 (ndr_pull_flags_fn_t
) ndr_pull_decode_ExtendedErrorInfo
,
4286 (ndr_print_function_t
) ndr_print_decode_ExtendedErrorInfo
,
4289 { NULL
, 0, NULL
, NULL
, NULL
, false }
4292 static const char * const drsblobs_endpoint_strings
[] = {
4293 "ncacn_np:[\\pipe\\drsblobs]",
4296 static const struct ndr_interface_string_array drsblobs_endpoints
= {
4298 .names
= drsblobs_endpoint_strings
4301 static const char * const drsblobs_authservice_strings
[] = {
4305 static const struct ndr_interface_string_array drsblobs_authservices
= {
4307 .names
= drsblobs_authservice_strings
4311 const struct ndr_interface_table ndr_table_drsblobs
= {
4314 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
4315 NDR_DRSBLOBS_VERSION
4317 .helpstring
= NDR_DRSBLOBS_HELPSTRING
,
4319 .calls
= drsblobs_calls
,
4320 .endpoints
= &drsblobs_endpoints
,
4321 .authservices
= &drsblobs_authservices