1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_drsblobs.h"
6 #include "librpc/gen_ndr/ndr_drsuapi.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/gen_ndr/ndr_lsa.h"
10 static enum ndr_err_code
ndr_push_replPropertyMetaData1(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaData1
*r
)
12 if (ndr_flags
& NDR_SCALARS
) {
13 NDR_CHECK(ndr_push_align(ndr
, 8));
14 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
15 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
16 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
17 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
18 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
19 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
20 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
22 if (ndr_flags
& NDR_BUFFERS
) {
24 return NDR_ERR_SUCCESS
;
27 static enum ndr_err_code
ndr_pull_replPropertyMetaData1(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaData1
*r
)
29 if (ndr_flags
& NDR_SCALARS
) {
30 NDR_CHECK(ndr_pull_align(ndr
, 8));
31 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
32 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
33 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
34 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
35 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
36 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
37 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
39 if (ndr_flags
& NDR_BUFFERS
) {
41 return NDR_ERR_SUCCESS
;
44 _PUBLIC_
void ndr_print_replPropertyMetaData1(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaData1
*r
)
46 ndr_print_struct(ndr
, name
, "replPropertyMetaData1");
48 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
49 ndr_print_uint32(ndr
, "version", r
->version
);
50 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
51 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
52 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
53 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
57 static enum ndr_err_code
ndr_push_replPropertyMetaDataCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaDataCtr1
*r
)
59 uint32_t cntr_array_0
;
60 if (ndr_flags
& NDR_SCALARS
) {
61 NDR_CHECK(ndr_push_align(ndr
, 8));
62 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
63 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
64 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
65 NDR_CHECK(ndr_push_replPropertyMetaData1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
67 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
69 if (ndr_flags
& NDR_BUFFERS
) {
71 return NDR_ERR_SUCCESS
;
74 static enum ndr_err_code
ndr_pull_replPropertyMetaDataCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaDataCtr1
*r
)
76 uint32_t cntr_array_0
;
77 TALLOC_CTX
*_mem_save_array_0
;
78 if (ndr_flags
& NDR_SCALARS
) {
79 NDR_CHECK(ndr_pull_align(ndr
, 8));
80 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
81 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
82 NDR_PULL_ALLOC_N(ndr
, r
->array
, r
->count
);
83 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
84 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
85 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
86 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
88 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
89 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
91 if (ndr_flags
& NDR_BUFFERS
) {
93 return NDR_ERR_SUCCESS
;
96 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr1(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataCtr1
*r
)
98 uint32_t cntr_array_0
;
99 ndr_print_struct(ndr
, name
, "replPropertyMetaDataCtr1");
101 ndr_print_uint32(ndr
, "count", r
->count
);
102 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
103 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
105 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
107 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
108 ndr_print_replPropertyMetaData1(ndr
, "array", &r
->array
[cntr_array_0
]);
116 static enum ndr_err_code
ndr_push_replPropertyMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replPropertyMetaDataCtr
*r
)
118 if (ndr_flags
& NDR_SCALARS
) {
119 int level
= ndr_push_get_switch_value(ndr
, r
);
120 NDR_CHECK(ndr_push_union_align(ndr
, 8));
123 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
127 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
130 if (ndr_flags
& NDR_BUFFERS
) {
131 int level
= ndr_push_get_switch_value(ndr
, r
);
137 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
140 return NDR_ERR_SUCCESS
;
143 static enum ndr_err_code
ndr_pull_replPropertyMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replPropertyMetaDataCtr
*r
)
146 level
= ndr_pull_get_switch_value(ndr
, r
);
147 if (ndr_flags
& NDR_SCALARS
) {
148 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
151 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
155 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
158 if (ndr_flags
& NDR_BUFFERS
) {
164 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
167 return NDR_ERR_SUCCESS
;
170 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const union replPropertyMetaDataCtr
*r
)
173 level
= ndr_print_get_switch_value(ndr
, r
);
174 ndr_print_union(ndr
, name
, level
, "replPropertyMetaDataCtr");
177 ndr_print_replPropertyMetaDataCtr1(ndr
, "ctr1", &r
->ctr1
);
181 ndr_print_bad_level(ndr
, name
, level
);
185 _PUBLIC_
enum ndr_err_code
ndr_push_replPropertyMetaDataBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaDataBlob
*r
)
187 if (ndr_flags
& NDR_SCALARS
) {
188 NDR_CHECK(ndr_push_align(ndr
, 8));
189 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
190 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
191 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
192 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
193 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
195 if (ndr_flags
& NDR_BUFFERS
) {
197 return NDR_ERR_SUCCESS
;
200 _PUBLIC_
enum ndr_err_code
ndr_pull_replPropertyMetaDataBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaDataBlob
*r
)
202 if (ndr_flags
& NDR_SCALARS
) {
203 NDR_CHECK(ndr_pull_align(ndr
, 8));
204 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
205 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
206 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
207 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
208 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
210 if (ndr_flags
& NDR_BUFFERS
) {
212 return NDR_ERR_SUCCESS
;
215 _PUBLIC_
void ndr_print_replPropertyMetaDataBlob(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataBlob
*r
)
217 ndr_print_struct(ndr
, name
, "replPropertyMetaDataBlob");
219 ndr_print_uint32(ndr
, "version", r
->version
);
220 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
221 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
222 ndr_print_replPropertyMetaDataCtr(ndr
, "ctr", &r
->ctr
);
226 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr1
*r
)
228 uint32_t cntr_cursors_0
;
229 if (ndr_flags
& NDR_SCALARS
) {
230 NDR_CHECK(ndr_push_align(ndr
, 8));
231 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
232 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
233 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
234 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
236 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
238 if (ndr_flags
& NDR_BUFFERS
) {
240 return NDR_ERR_SUCCESS
;
243 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr1
*r
)
245 uint32_t cntr_cursors_0
;
246 TALLOC_CTX
*_mem_save_cursors_0
;
247 if (ndr_flags
& NDR_SCALARS
) {
248 NDR_CHECK(ndr_pull_align(ndr
, 8));
249 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
250 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
251 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, r
->count
);
252 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
253 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
254 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
255 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
257 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
258 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
260 if (ndr_flags
& NDR_BUFFERS
) {
262 return NDR_ERR_SUCCESS
;
265 _PUBLIC_
void ndr_print_replUpToDateVectorCtr1(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr1
*r
)
267 uint32_t cntr_cursors_0
;
268 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr1");
270 ndr_print_uint32(ndr
, "count", r
->count
);
271 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
272 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
274 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
276 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
277 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
285 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr2
*r
)
287 uint32_t cntr_cursors_0
;
288 if (ndr_flags
& NDR_SCALARS
) {
289 NDR_CHECK(ndr_push_align(ndr
, 8));
290 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
291 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
292 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
293 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
295 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
297 if (ndr_flags
& NDR_BUFFERS
) {
299 return NDR_ERR_SUCCESS
;
302 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr2
*r
)
304 uint32_t cntr_cursors_0
;
305 TALLOC_CTX
*_mem_save_cursors_0
;
306 if (ndr_flags
& NDR_SCALARS
) {
307 NDR_CHECK(ndr_pull_align(ndr
, 8));
308 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
309 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
310 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, r
->count
);
311 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
312 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
313 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
314 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
317 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
319 if (ndr_flags
& NDR_BUFFERS
) {
321 return NDR_ERR_SUCCESS
;
324 _PUBLIC_
void ndr_print_replUpToDateVectorCtr2(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr2
*r
)
326 uint32_t cntr_cursors_0
;
327 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr2");
329 ndr_print_uint32(ndr
, "count", r
->count
);
330 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
331 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
333 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
335 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
336 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
344 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replUpToDateVectorCtr
*r
)
346 if (ndr_flags
& NDR_SCALARS
) {
347 int level
= ndr_push_get_switch_value(ndr
, r
);
348 NDR_CHECK(ndr_push_union_align(ndr
, 8));
351 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
355 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
359 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
362 if (ndr_flags
& NDR_BUFFERS
) {
363 int level
= ndr_push_get_switch_value(ndr
, r
);
372 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
375 return NDR_ERR_SUCCESS
;
378 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replUpToDateVectorCtr
*r
)
381 level
= ndr_pull_get_switch_value(ndr
, r
);
382 if (ndr_flags
& NDR_SCALARS
) {
383 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
386 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
390 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
394 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
397 if (ndr_flags
& NDR_BUFFERS
) {
406 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
409 return NDR_ERR_SUCCESS
;
412 _PUBLIC_
void ndr_print_replUpToDateVectorCtr(struct ndr_print
*ndr
, const char *name
, const union replUpToDateVectorCtr
*r
)
415 level
= ndr_print_get_switch_value(ndr
, r
);
416 ndr_print_union(ndr
, name
, level
, "replUpToDateVectorCtr");
419 ndr_print_replUpToDateVectorCtr1(ndr
, "ctr1", &r
->ctr1
);
423 ndr_print_replUpToDateVectorCtr2(ndr
, "ctr2", &r
->ctr2
);
427 ndr_print_bad_level(ndr
, name
, level
);
431 _PUBLIC_
enum ndr_err_code
ndr_push_replUpToDateVectorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorBlob
*r
)
433 if (ndr_flags
& NDR_SCALARS
) {
434 NDR_CHECK(ndr_push_align(ndr
, 8));
435 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
436 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
437 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
438 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
439 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
441 if (ndr_flags
& NDR_BUFFERS
) {
443 return NDR_ERR_SUCCESS
;
446 _PUBLIC_
enum ndr_err_code
ndr_pull_replUpToDateVectorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorBlob
*r
)
448 if (ndr_flags
& NDR_SCALARS
) {
449 NDR_CHECK(ndr_pull_align(ndr
, 8));
450 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
451 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
452 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
453 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
454 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
456 if (ndr_flags
& NDR_BUFFERS
) {
458 return NDR_ERR_SUCCESS
;
461 _PUBLIC_
void ndr_print_replUpToDateVectorBlob(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorBlob
*r
)
463 ndr_print_struct(ndr
, name
, "replUpToDateVectorBlob");
465 ndr_print_uint32(ndr
, "version", r
->version
);
466 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
467 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
468 ndr_print_replUpToDateVectorCtr(ndr
, "ctr", &r
->ctr
);
472 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1OtherInfo
*r
)
474 if (ndr_flags
& NDR_SCALARS
) {
475 NDR_CHECK(ndr_push_align(ndr
, 4));
476 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen(r
->dns_name
) + 1));
477 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, strlen(r
->dns_name
) + 1, sizeof(uint8_t), CH_DOS
));
478 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
480 if (ndr_flags
& NDR_BUFFERS
) {
482 return NDR_ERR_SUCCESS
;
485 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1OtherInfo
*r
)
487 if (ndr_flags
& NDR_SCALARS
) {
488 NDR_CHECK(ndr_pull_align(ndr
, 4));
489 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__dns_name_size
));
490 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, r
->__dns_name_size
, sizeof(uint8_t), CH_DOS
));
491 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
493 if (ndr_flags
& NDR_BUFFERS
) {
495 return NDR_ERR_SUCCESS
;
498 _PUBLIC_
void ndr_print_repsFromTo1OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1OtherInfo
*r
)
500 ndr_print_struct(ndr
, name
, "repsFromTo1OtherInfo");
502 ndr_print_uint32(ndr
, "__dns_name_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->dns_name
) + 1:r
->__dns_name_size
);
503 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
507 _PUBLIC_
size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
509 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1OtherInfo
, ic
);
512 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1
*r
)
515 uint32_t _flags_save_STRUCT
= ndr
->flags
;
516 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
517 if (ndr_flags
& NDR_SCALARS
) {
518 NDR_CHECK(ndr_push_align(ndr
, 8));
519 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
520 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
521 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
522 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
523 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
524 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
525 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
526 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
527 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
528 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
529 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
530 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
531 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
532 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
533 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
535 if (ndr_flags
& NDR_BUFFERS
) {
537 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->other_info
));
538 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
539 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->other_info
));
542 ndr
->flags
= _flags_save_STRUCT
;
544 return NDR_ERR_SUCCESS
;
547 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1
*r
)
549 uint32_t _ptr_other_info
;
550 TALLOC_CTX
*_mem_save_other_info_0
;
552 uint32_t _flags_save_STRUCT
= ndr
->flags
;
553 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
554 if (ndr_flags
& NDR_SCALARS
) {
555 NDR_CHECK(ndr_pull_align(ndr
, 8));
556 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
557 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
558 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
559 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
560 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
561 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
562 if (_ptr_other_info
) {
563 NDR_PULL_ALLOC(ndr
, r
->other_info
);
564 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
566 r
->other_info
= NULL
;
568 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
569 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
570 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
571 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
572 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
573 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
574 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
575 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
576 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
578 if (ndr_flags
& NDR_BUFFERS
) {
580 uint32_t _relative_save_offset
;
581 _relative_save_offset
= ndr
->offset
;
582 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
583 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
584 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
585 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
586 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
587 ndr
->offset
= _relative_save_offset
;
590 ndr
->flags
= _flags_save_STRUCT
;
592 return NDR_ERR_SUCCESS
;
595 _PUBLIC_
void ndr_print_repsFromTo1(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1
*r
)
597 ndr_print_struct(ndr
, name
, "repsFromTo1");
599 uint32_t _flags_save_STRUCT
= ndr
->flags
;
600 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
602 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
603 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
604 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
605 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
606 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
607 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
610 ndr_print_repsFromTo1OtherInfo(ndr
, "other_info", r
->other_info
);
613 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
);
614 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
615 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
616 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
617 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
618 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
619 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
620 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
622 ndr
->flags
= _flags_save_STRUCT
;
626 _PUBLIC_
size_t ndr_size_repsFromTo1(const struct repsFromTo1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
628 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
629 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1
, ic
);
632 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo2OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo2OtherInfo
*r
)
634 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
635 if (ndr_flags
& NDR_SCALARS
) {
636 NDR_CHECK(ndr_push_align(ndr
, 8));
637 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
638 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2OtherInfo(r
, ndr
->iconv_convenience
, ndr
->flags
)));
640 uint32_t _flags_save_string
= ndr
->flags
;
641 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
|LIBNDR_FLAG_ALIGN2
);
642 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->dns_name1
));
643 ndr
->flags
= _flags_save_string
;
645 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
647 uint32_t _flags_save_string
= ndr
->flags
;
648 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
|LIBNDR_FLAG_ALIGN2
);
649 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->dns_name2
));
650 ndr
->flags
= _flags_save_string
;
652 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown2
));
653 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
655 if (ndr_flags
& NDR_BUFFERS
) {
656 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
658 uint32_t _flags_save_string
= ndr
->flags
;
659 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
|LIBNDR_FLAG_ALIGN2
);
661 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->dns_name1
));
662 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->dns_name1
));
663 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->dns_name1
));
665 ndr
->flags
= _flags_save_string
;
668 uint32_t _flags_save_string
= ndr
->flags
;
669 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
|LIBNDR_FLAG_ALIGN2
);
671 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->dns_name2
));
672 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->dns_name2
));
673 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->dns_name2
));
675 ndr
->flags
= _flags_save_string
;
678 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
679 return NDR_ERR_SUCCESS
;
682 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo2OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo2OtherInfo
*r
)
684 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
685 uint32_t _ptr_dns_name1
;
686 TALLOC_CTX
*_mem_save_dns_name1_0
;
687 uint32_t _ptr_dns_name2
;
688 TALLOC_CTX
*_mem_save_dns_name2_0
;
689 if (ndr_flags
& NDR_SCALARS
) {
690 NDR_CHECK(ndr_pull_align(ndr
, 8));
691 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
692 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
694 uint32_t _flags_save_string
= ndr
->flags
;
695 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
|LIBNDR_FLAG_ALIGN2
);
696 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name1
));
697 if (_ptr_dns_name1
) {
698 NDR_PULL_ALLOC(ndr
, r
->dns_name1
);
699 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->dns_name1
, _ptr_dns_name1
));
703 ndr
->flags
= _flags_save_string
;
705 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
707 uint32_t _flags_save_string
= ndr
->flags
;
708 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
|LIBNDR_FLAG_ALIGN2
);
709 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name2
));
710 if (_ptr_dns_name2
) {
711 NDR_PULL_ALLOC(ndr
, r
->dns_name2
);
712 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->dns_name2
, _ptr_dns_name2
));
716 ndr
->flags
= _flags_save_string
;
718 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown2
));
719 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
721 if (ndr_flags
& NDR_BUFFERS
) {
722 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
724 uint32_t _flags_save_string
= ndr
->flags
;
725 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
|LIBNDR_FLAG_ALIGN2
);
727 uint32_t _relative_save_offset
;
728 _relative_save_offset
= ndr
->offset
;
729 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->dns_name1
));
730 _mem_save_dns_name1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
731 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name1
, 0);
732 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->dns_name1
));
733 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name1_0
, 0);
734 ndr
->offset
= _relative_save_offset
;
736 ndr
->flags
= _flags_save_string
;
739 uint32_t _flags_save_string
= ndr
->flags
;
740 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
|LIBNDR_FLAG_ALIGN2
);
742 uint32_t _relative_save_offset
;
743 _relative_save_offset
= ndr
->offset
;
744 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->dns_name2
));
745 _mem_save_dns_name2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
746 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name2
, 0);
747 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->dns_name2
));
748 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name2_0
, 0);
749 ndr
->offset
= _relative_save_offset
;
751 ndr
->flags
= _flags_save_string
;
754 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
755 return NDR_ERR_SUCCESS
;
758 _PUBLIC_
void ndr_print_repsFromTo2OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo2OtherInfo
*r
)
760 ndr_print_struct(ndr
, name
, "repsFromTo2OtherInfo");
762 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2OtherInfo(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
763 ndr_print_ptr(ndr
, "dns_name1", r
->dns_name1
);
766 ndr_print_string(ndr
, "dns_name1", r
->dns_name1
);
769 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
770 ndr_print_ptr(ndr
, "dns_name2", r
->dns_name2
);
773 ndr_print_string(ndr
, "dns_name2", r
->dns_name2
);
776 ndr_print_hyper(ndr
, "unknown2", r
->unknown2
);
780 _PUBLIC_
size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
782 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo2OtherInfo
, ic
);
785 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo2(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo2
*r
)
788 uint32_t _flags_save_STRUCT
= ndr
->flags
;
789 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
790 if (ndr_flags
& NDR_SCALARS
) {
791 NDR_CHECK(ndr_push_align(ndr
, 8));
792 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
793 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
794 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
795 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
796 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
797 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
798 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
799 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, r
->replica_flags
));
800 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
801 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
802 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
803 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
804 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
805 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
806 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
807 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
809 if (ndr_flags
& NDR_BUFFERS
) {
811 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->other_info
));
812 NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->other_info
));
813 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->other_info
));
816 ndr
->flags
= _flags_save_STRUCT
;
818 return NDR_ERR_SUCCESS
;
821 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo2(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo2
*r
)
823 uint32_t _ptr_other_info
;
824 TALLOC_CTX
*_mem_save_other_info_0
;
826 uint32_t _flags_save_STRUCT
= ndr
->flags
;
827 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
828 if (ndr_flags
& NDR_SCALARS
) {
829 NDR_CHECK(ndr_pull_align(ndr
, 8));
830 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
831 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
832 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
833 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
834 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
835 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
836 if (_ptr_other_info
) {
837 NDR_PULL_ALLOC(ndr
, r
->other_info
);
838 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
840 r
->other_info
= NULL
;
842 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
843 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr
, NDR_SCALARS
, &r
->replica_flags
));
844 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
845 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
846 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
847 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
848 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
849 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
850 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
851 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
853 if (ndr_flags
& NDR_BUFFERS
) {
855 uint32_t _relative_save_offset
;
856 _relative_save_offset
= ndr
->offset
;
857 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
858 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
859 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
860 NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->other_info
));
861 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
862 ndr
->offset
= _relative_save_offset
;
865 ndr
->flags
= _flags_save_STRUCT
;
867 return NDR_ERR_SUCCESS
;
870 _PUBLIC_
void ndr_print_repsFromTo2(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo2
*r
)
872 ndr_print_struct(ndr
, name
, "repsFromTo2");
874 uint32_t _flags_save_STRUCT
= ndr
->flags
;
875 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
877 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
878 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
879 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
880 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
881 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
882 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
885 ndr_print_repsFromTo2OtherInfo(ndr
, "other_info", r
->other_info
);
888 ndr_print_uint32(ndr
, "other_info_length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
):r
->other_info_length
);
889 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr
, "replica_flags", r
->replica_flags
);
890 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
891 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
892 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
893 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
894 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
895 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
896 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
898 ndr
->flags
= _flags_save_STRUCT
;
902 _PUBLIC_
size_t ndr_size_repsFromTo2(const struct repsFromTo2
*r
, struct smb_iconv_convenience
*ic
, int flags
)
904 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
905 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo2
, ic
);
908 static enum ndr_err_code
ndr_push_repsFromTo(struct ndr_push
*ndr
, int ndr_flags
, const union repsFromTo
*r
)
910 if (ndr_flags
& NDR_SCALARS
) {
911 int level
= ndr_push_get_switch_value(ndr
, r
);
912 NDR_CHECK(ndr_push_union_align(ndr
, 8));
915 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
919 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
923 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
926 if (ndr_flags
& NDR_BUFFERS
) {
927 int level
= ndr_push_get_switch_value(ndr
, r
);
930 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
934 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
938 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
941 return NDR_ERR_SUCCESS
;
944 static enum ndr_err_code
ndr_pull_repsFromTo(struct ndr_pull
*ndr
, int ndr_flags
, union repsFromTo
*r
)
947 level
= ndr_pull_get_switch_value(ndr
, r
);
948 if (ndr_flags
& NDR_SCALARS
) {
949 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
952 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
956 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
960 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
963 if (ndr_flags
& NDR_BUFFERS
) {
966 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
970 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
974 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
977 return NDR_ERR_SUCCESS
;
980 _PUBLIC_
void ndr_print_repsFromTo(struct ndr_print
*ndr
, const char *name
, const union repsFromTo
*r
)
983 level
= ndr_print_get_switch_value(ndr
, r
);
984 ndr_print_union(ndr
, name
, level
, "repsFromTo");
987 ndr_print_repsFromTo1(ndr
, "ctr1", &r
->ctr1
);
991 ndr_print_repsFromTo2(ndr
, "ctr2", &r
->ctr2
);
995 ndr_print_bad_level(ndr
, name
, level
);
999 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromToBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromToBlob
*r
)
1001 if (ndr_flags
& NDR_SCALARS
) {
1002 NDR_CHECK(ndr_push_align(ndr
, 8));
1003 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
1004 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
1005 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1006 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
1007 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1009 if (ndr_flags
& NDR_BUFFERS
) {
1010 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
1012 return NDR_ERR_SUCCESS
;
1015 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromToBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromToBlob
*r
)
1017 if (ndr_flags
& NDR_SCALARS
) {
1018 NDR_CHECK(ndr_pull_align(ndr
, 8));
1019 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1020 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1021 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1022 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
1023 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1025 if (ndr_flags
& NDR_BUFFERS
) {
1026 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
1028 return NDR_ERR_SUCCESS
;
1031 _PUBLIC_
void ndr_print_repsFromToBlob(struct ndr_print
*ndr
, const char *name
, const struct repsFromToBlob
*r
)
1033 ndr_print_struct(ndr
, name
, "repsFromToBlob");
1035 ndr_print_uint32(ndr
, "version", r
->version
);
1036 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1037 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1038 ndr_print_repsFromTo(ndr
, "ctr", &r
->ctr
);
1042 static enum ndr_err_code
ndr_push_partialAttributeSetCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetCtr1
*r
)
1044 uint32_t cntr_array_0
;
1045 if (ndr_flags
& NDR_SCALARS
) {
1046 NDR_CHECK(ndr_push_align(ndr
, 4));
1047 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1048 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
1049 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->array
[cntr_array_0
]));
1051 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1053 if (ndr_flags
& NDR_BUFFERS
) {
1055 return NDR_ERR_SUCCESS
;
1058 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetCtr1
*r
)
1060 uint32_t cntr_array_0
;
1061 TALLOC_CTX
*_mem_save_array_0
;
1062 if (ndr_flags
& NDR_SCALARS
) {
1063 NDR_CHECK(ndr_pull_align(ndr
, 4));
1064 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1065 NDR_PULL_ALLOC_N(ndr
, r
->array
, r
->count
);
1066 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1067 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
1068 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
1069 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
1071 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
1072 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1074 if (ndr_flags
& NDR_BUFFERS
) {
1076 return NDR_ERR_SUCCESS
;
1079 _PUBLIC_
void ndr_print_partialAttributeSetCtr1(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetCtr1
*r
)
1081 uint32_t cntr_array_0
;
1082 ndr_print_struct(ndr
, name
, "partialAttributeSetCtr1");
1084 ndr_print_uint32(ndr
, "count", r
->count
);
1085 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
1087 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
1089 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
1090 ndr_print_drsuapi_DsAttributeId(ndr
, "array", r
->array
[cntr_array_0
]);
1098 static enum ndr_err_code
ndr_push_partialAttributeSetCtr(struct ndr_push
*ndr
, int ndr_flags
, const union partialAttributeSetCtr
*r
)
1100 if (ndr_flags
& NDR_SCALARS
) {
1101 int level
= ndr_push_get_switch_value(ndr
, r
);
1102 NDR_CHECK(ndr_push_union_align(ndr
, 4));
1105 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1109 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1112 if (ndr_flags
& NDR_BUFFERS
) {
1113 int level
= ndr_push_get_switch_value(ndr
, r
);
1119 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1122 return NDR_ERR_SUCCESS
;
1125 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr(struct ndr_pull
*ndr
, int ndr_flags
, union partialAttributeSetCtr
*r
)
1128 level
= ndr_pull_get_switch_value(ndr
, r
);
1129 if (ndr_flags
& NDR_SCALARS
) {
1130 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
1133 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1137 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1140 if (ndr_flags
& NDR_BUFFERS
) {
1146 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1149 return NDR_ERR_SUCCESS
;
1152 _PUBLIC_
void ndr_print_partialAttributeSetCtr(struct ndr_print
*ndr
, const char *name
, const union partialAttributeSetCtr
*r
)
1155 level
= ndr_print_get_switch_value(ndr
, r
);
1156 ndr_print_union(ndr
, name
, level
, "partialAttributeSetCtr");
1159 ndr_print_partialAttributeSetCtr1(ndr
, "ctr1", &r
->ctr1
);
1163 ndr_print_bad_level(ndr
, name
, level
);
1167 _PUBLIC_
enum ndr_err_code
ndr_push_partialAttributeSetBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetBlob
*r
)
1169 if (ndr_flags
& NDR_SCALARS
) {
1170 NDR_CHECK(ndr_push_align(ndr
, 4));
1171 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
1172 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
1173 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1174 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1175 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1177 if (ndr_flags
& NDR_BUFFERS
) {
1179 return NDR_ERR_SUCCESS
;
1182 _PUBLIC_
enum ndr_err_code
ndr_pull_partialAttributeSetBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetBlob
*r
)
1184 if (ndr_flags
& NDR_SCALARS
) {
1185 NDR_CHECK(ndr_pull_align(ndr
, 4));
1186 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1187 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1188 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1189 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1190 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1192 if (ndr_flags
& NDR_BUFFERS
) {
1194 return NDR_ERR_SUCCESS
;
1197 _PUBLIC_
void ndr_print_partialAttributeSetBlob(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetBlob
*r
)
1199 ndr_print_struct(ndr
, name
, "partialAttributeSetBlob");
1201 ndr_print_uint32(ndr
, "version", r
->version
);
1202 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1203 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1204 ndr_print_partialAttributeSetCtr(ndr
, "ctr", &r
->ctr
);
1208 static enum ndr_err_code
ndr_push_prefixMapVersion(struct ndr_push
*ndr
, int ndr_flags
, enum prefixMapVersion r
)
1210 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1211 return NDR_ERR_SUCCESS
;
1214 static enum ndr_err_code
ndr_pull_prefixMapVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum prefixMapVersion
*r
)
1217 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1219 return NDR_ERR_SUCCESS
;
1222 _PUBLIC_
void ndr_print_prefixMapVersion(struct ndr_print
*ndr
, const char *name
, enum prefixMapVersion r
)
1224 const char *val
= NULL
;
1227 case PREFIX_MAP_VERSION_DSDB
: val
= "PREFIX_MAP_VERSION_DSDB"; break;
1229 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1232 static enum ndr_err_code
ndr_push_prefixMapCtr(struct ndr_push
*ndr
, int ndr_flags
, const union prefixMapCtr
*r
)
1234 if (ndr_flags
& NDR_SCALARS
) {
1235 int level
= ndr_push_get_switch_value(ndr
, r
);
1236 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1238 case PREFIX_MAP_VERSION_DSDB
: {
1239 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1243 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1246 if (ndr_flags
& NDR_BUFFERS
) {
1247 int level
= ndr_push_get_switch_value(ndr
, r
);
1249 case PREFIX_MAP_VERSION_DSDB
:
1250 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
1254 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1257 return NDR_ERR_SUCCESS
;
1260 static enum ndr_err_code
ndr_pull_prefixMapCtr(struct ndr_pull
*ndr
, int ndr_flags
, union prefixMapCtr
*r
)
1263 level
= ndr_pull_get_switch_value(ndr
, r
);
1264 if (ndr_flags
& NDR_SCALARS
) {
1265 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1267 case PREFIX_MAP_VERSION_DSDB
: {
1268 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1272 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1275 if (ndr_flags
& NDR_BUFFERS
) {
1277 case PREFIX_MAP_VERSION_DSDB
:
1278 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
1282 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1285 return NDR_ERR_SUCCESS
;
1288 _PUBLIC_
void ndr_print_prefixMapCtr(struct ndr_print
*ndr
, const char *name
, const union prefixMapCtr
*r
)
1291 level
= ndr_print_get_switch_value(ndr
, r
);
1292 ndr_print_union(ndr
, name
, level
, "prefixMapCtr");
1294 case PREFIX_MAP_VERSION_DSDB
:
1295 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "dsdb", &r
->dsdb
);
1299 ndr_print_bad_level(ndr
, name
, level
);
1303 _PUBLIC_
enum ndr_err_code
ndr_push_prefixMapBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct prefixMapBlob
*r
)
1305 if (ndr_flags
& NDR_SCALARS
) {
1306 NDR_CHECK(ndr_push_align(ndr
, 5));
1307 NDR_CHECK(ndr_push_prefixMapVersion(ndr
, NDR_SCALARS
, r
->version
));
1308 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
1309 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1310 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1311 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1313 if (ndr_flags
& NDR_BUFFERS
) {
1314 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1316 return NDR_ERR_SUCCESS
;
1319 _PUBLIC_
enum ndr_err_code
ndr_pull_prefixMapBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct prefixMapBlob
*r
)
1321 if (ndr_flags
& NDR_SCALARS
) {
1322 NDR_CHECK(ndr_pull_align(ndr
, 5));
1323 NDR_CHECK(ndr_pull_prefixMapVersion(ndr
, NDR_SCALARS
, &r
->version
));
1324 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1325 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1326 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1327 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1329 if (ndr_flags
& NDR_BUFFERS
) {
1330 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1332 return NDR_ERR_SUCCESS
;
1335 _PUBLIC_
void ndr_print_prefixMapBlob(struct ndr_print
*ndr
, const char *name
, const struct prefixMapBlob
*r
)
1337 ndr_print_struct(ndr
, name
, "prefixMapBlob");
1339 ndr_print_prefixMapVersion(ndr
, "version", r
->version
);
1340 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
1341 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1342 ndr_print_prefixMapCtr(ndr
, "ctr", &r
->ctr
);
1346 static enum ndr_err_code
ndr_push_ldapControlDirSyncExtra(struct ndr_push
*ndr
, int ndr_flags
, const union ldapControlDirSyncExtra
*r
)
1348 if (ndr_flags
& NDR_SCALARS
) {
1349 int level
= ndr_push_get_switch_value(ndr
, r
);
1350 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1356 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1361 if (ndr_flags
& NDR_BUFFERS
) {
1362 int level
= ndr_push_get_switch_value(ndr
, r
);
1372 return NDR_ERR_SUCCESS
;
1375 static enum ndr_err_code
ndr_pull_ldapControlDirSyncExtra(struct ndr_pull
*ndr
, int ndr_flags
, union ldapControlDirSyncExtra
*r
)
1378 level
= ndr_pull_get_switch_value(ndr
, r
);
1379 if (ndr_flags
& NDR_SCALARS
) {
1380 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1386 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1391 if (ndr_flags
& NDR_BUFFERS
) {
1401 return NDR_ERR_SUCCESS
;
1404 _PUBLIC_
void ndr_print_ldapControlDirSyncExtra(struct ndr_print
*ndr
, const char *name
, const union ldapControlDirSyncExtra
*r
)
1407 level
= ndr_print_get_switch_value(ndr
, r
);
1408 ndr_print_union(ndr
, name
, level
, "ldapControlDirSyncExtra");
1414 ndr_print_replUpToDateVectorBlob(ndr
, "uptodateness_vector", &r
->uptodateness_vector
);
1420 static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra
*r
, uint32_t level
, struct smb_iconv_convenience
*ic
, int flags
)
1422 return ndr_size_union(r
, flags
, level
, (ndr_push_flags_fn_t
)ndr_push_ldapControlDirSyncExtra
, ic
);
1425 static enum ndr_err_code
ndr_push_ldapControlDirSyncBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncBlob
*r
)
1427 if (ndr_flags
& NDR_SCALARS
) {
1428 NDR_CHECK(ndr_push_align(ndr
, 8));
1429 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 3));
1430 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
1431 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
1432 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
1433 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1434 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1435 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1436 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->extra
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1437 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1438 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1440 if (ndr_flags
& NDR_BUFFERS
) {
1441 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1443 return NDR_ERR_SUCCESS
;
1446 static enum ndr_err_code
ndr_pull_ldapControlDirSyncBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncBlob
*r
)
1448 if (ndr_flags
& NDR_SCALARS
) {
1449 NDR_CHECK(ndr_pull_align(ndr
, 8));
1450 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
1451 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
1452 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
1453 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
1454 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extra_length
));
1455 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1456 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1457 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->extra
, r
->extra_length
));
1458 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1459 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1461 if (ndr_flags
& NDR_BUFFERS
) {
1462 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1464 return NDR_ERR_SUCCESS
;
1467 _PUBLIC_
void ndr_print_ldapControlDirSyncBlob(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncBlob
*r
)
1469 ndr_print_struct(ndr
, name
, "ldapControlDirSyncBlob");
1471 ndr_print_uint32(ndr
, "u1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?3:r
->u1
);
1472 ndr_print_NTTIME(ndr
, "time", r
->time
);
1473 ndr_print_uint32(ndr
, "u2", r
->u2
);
1474 ndr_print_uint32(ndr
, "u3", r
->u3
);
1475 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
);
1476 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1477 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
1478 ndr_print_set_switch_value(ndr
, &r
->extra
, r
->extra_length
);
1479 ndr_print_ldapControlDirSyncExtra(ndr
, "extra", &r
->extra
);
1483 _PUBLIC_
enum ndr_err_code
ndr_push_ldapControlDirSyncCookie(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncCookie
*r
)
1485 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
1486 if (ndr_flags
& NDR_SCALARS
) {
1487 NDR_CHECK(ndr_push_align(ndr
, 8));
1488 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1489 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, "MSDS", 4, sizeof(uint8_t), CH_DOS
));
1491 struct ndr_push
*_ndr_blob
;
1492 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1493 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1494 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1496 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1498 if (ndr_flags
& NDR_BUFFERS
) {
1499 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
1501 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1502 return NDR_ERR_SUCCESS
;
1505 _PUBLIC_
enum ndr_err_code
ndr_pull_ldapControlDirSyncCookie(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncCookie
*r
)
1507 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
1508 if (ndr_flags
& NDR_SCALARS
) {
1509 NDR_CHECK(ndr_pull_align(ndr
, 8));
1510 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1511 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->msds
, 4, sizeof(uint8_t), CH_DOS
));
1513 struct ndr_pull
*_ndr_blob
;
1514 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1515 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1516 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1518 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1520 if (ndr_flags
& NDR_BUFFERS
) {
1521 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
1523 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1524 return NDR_ERR_SUCCESS
;
1527 _PUBLIC_
void ndr_print_ldapControlDirSyncCookie(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncCookie
*r
)
1529 ndr_print_struct(ndr
, name
, "ldapControlDirSyncCookie");
1531 ndr_print_string(ndr
, "msds", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?"MSDS":r
->msds
);
1532 ndr_print_ldapControlDirSyncBlob(ndr
, "blob", &r
->blob
);
1536 static enum ndr_err_code
ndr_push_supplementalCredentialsPackage(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsPackage
*r
)
1538 if (ndr_flags
& NDR_SCALARS
) {
1539 NDR_CHECK(ndr_push_align(ndr
, 2));
1540 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->name
)));
1541 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen(r
->data
)));
1542 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->reserved
));
1543 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->name
, 2 * strlen_m(r
->name
), sizeof(uint8_t), CH_UTF16
));
1544 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->data
, strlen(r
->data
), sizeof(uint8_t), CH_DOS
));
1545 NDR_CHECK(ndr_push_trailer_align(ndr
, 2));
1547 if (ndr_flags
& NDR_BUFFERS
) {
1549 return NDR_ERR_SUCCESS
;
1552 static enum ndr_err_code
ndr_pull_supplementalCredentialsPackage(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsPackage
*r
)
1554 if (ndr_flags
& NDR_SCALARS
) {
1555 NDR_CHECK(ndr_pull_align(ndr
, 2));
1556 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->name_len
));
1557 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->data_len
));
1558 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved
));
1559 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->name
, r
->name_len
, sizeof(uint8_t), CH_UTF16
));
1560 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->data
, r
->data_len
, sizeof(uint8_t), CH_DOS
));
1561 NDR_CHECK(ndr_pull_trailer_align(ndr
, 2));
1563 if (ndr_flags
& NDR_BUFFERS
) {
1565 return NDR_ERR_SUCCESS
;
1568 _PUBLIC_
void ndr_print_supplementalCredentialsPackage(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsPackage
*r
)
1570 ndr_print_struct(ndr
, name
, "supplementalCredentialsPackage");
1572 ndr_print_uint16(ndr
, "name_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->name
):r
->name_len
);
1573 ndr_print_uint16(ndr
, "data_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->data
):r
->data_len
);
1574 ndr_print_uint16(ndr
, "reserved", r
->reserved
);
1575 ndr_print_string(ndr
, "name", r
->name
);
1576 ndr_print_string(ndr
, "data", r
->data
);
1580 static enum ndr_err_code
ndr_push_supplementalCredentialsSignature(struct ndr_push
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature r
)
1583 uint32_t _flags_save_ENUM
= ndr
->flags
;
1584 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1585 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1586 ndr
->flags
= _flags_save_ENUM
;
1588 return NDR_ERR_SUCCESS
;
1591 static enum ndr_err_code
ndr_pull_supplementalCredentialsSignature(struct ndr_pull
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature
*r
)
1595 uint32_t _flags_save_ENUM
= ndr
->flags
;
1596 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1597 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1599 ndr
->flags
= _flags_save_ENUM
;
1601 return NDR_ERR_SUCCESS
;
1604 _PUBLIC_
void ndr_print_supplementalCredentialsSignature(struct ndr_print
*ndr
, const char *name
, enum supplementalCredentialsSignature r
)
1606 const char *val
= NULL
;
1609 uint32_t _flags_save_ENUM
= ndr
->flags
;
1610 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1612 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE
: val
= "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1614 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1615 ndr
->flags
= _flags_save_ENUM
;
1619 static enum ndr_err_code
ndr_push_supplementalCredentialsSubBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsSubBlob
*r
)
1621 uint32_t cntr_packages_0
;
1622 if (ndr_flags
& NDR_SCALARS
) {
1623 NDR_CHECK(ndr_push_align(ndr
, 3));
1624 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_PREFIX
, 0x30, sizeof(uint16_t), CH_UTF16
));
1625 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_SIGNATURE
));
1626 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_packages
));
1627 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1628 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1630 NDR_CHECK(ndr_push_trailer_align(ndr
, 3));
1632 if (ndr_flags
& NDR_BUFFERS
) {
1634 return NDR_ERR_SUCCESS
;
1637 static enum ndr_err_code
ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsSubBlob
*r
)
1639 uint32_t cntr_packages_0
;
1640 TALLOC_CTX
*_mem_save_packages_0
;
1641 if (ndr_flags
& NDR_SCALARS
) {
1642 NDR_CHECK(ndr_pull_align(ndr
, 3));
1643 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->prefix
, 0x30, sizeof(uint16_t), CH_UTF16
));
1644 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, &r
->signature
));
1645 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_packages
));
1646 NDR_PULL_ALLOC_N(ndr
, r
->packages
, r
->num_packages
);
1647 _mem_save_packages_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1648 NDR_PULL_SET_MEM_CTX(ndr
, r
->packages
, 0);
1649 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1650 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1652 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_packages_0
, 0);
1653 NDR_CHECK(ndr_pull_trailer_align(ndr
, 3));
1655 if (ndr_flags
& NDR_BUFFERS
) {
1657 return NDR_ERR_SUCCESS
;
1660 _PUBLIC_
void ndr_print_supplementalCredentialsSubBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsSubBlob
*r
)
1662 uint32_t cntr_packages_0
;
1663 ndr_print_struct(ndr
, name
, "supplementalCredentialsSubBlob");
1665 ndr_print_string(ndr
, "prefix", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_PREFIX
:r
->prefix
);
1666 ndr_print_supplementalCredentialsSignature(ndr
, "signature", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE
:r
->signature
);
1667 ndr_print_uint16(ndr
, "num_packages", r
->num_packages
);
1668 ndr
->print(ndr
, "%s: ARRAY(%d)", "packages", (int)r
->num_packages
);
1670 for (cntr_packages_0
=0;cntr_packages_0
<r
->num_packages
;cntr_packages_0
++) {
1672 if (asprintf(&idx_0
, "[%d]", cntr_packages_0
) != -1) {
1673 ndr_print_supplementalCredentialsPackage(ndr
, "packages", &r
->packages
[cntr_packages_0
]);
1681 static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
1683 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_supplementalCredentialsSubBlob
, ic
);
1686 _PUBLIC_
enum ndr_err_code
ndr_push_supplementalCredentialsBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsBlob
*r
)
1688 if (ndr_flags
& NDR_SCALARS
) {
1689 NDR_CHECK(ndr_push_align(ndr
, 4));
1690 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1691 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1692 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1694 struct ndr_push
*_ndr_sub
;
1695 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1696 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1697 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1699 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0));
1700 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1702 if (ndr_flags
& NDR_BUFFERS
) {
1704 return NDR_ERR_SUCCESS
;
1707 _PUBLIC_
enum ndr_err_code
ndr_pull_supplementalCredentialsBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsBlob
*r
)
1709 if (ndr_flags
& NDR_SCALARS
) {
1710 NDR_CHECK(ndr_pull_align(ndr
, 4));
1711 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
1712 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1713 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
1715 struct ndr_pull
*_ndr_sub
;
1716 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_sub
, 0, r
->__ndr_size
));
1717 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1718 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_sub
, 0, r
->__ndr_size
));
1720 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown3
));
1721 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1723 if (ndr_flags
& NDR_BUFFERS
) {
1725 return NDR_ERR_SUCCESS
;
1728 _PUBLIC_
void ndr_print_supplementalCredentialsBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsBlob
*r
)
1730 ndr_print_struct(ndr
, name
, "supplementalCredentialsBlob");
1732 ndr_print_uint32(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown1
);
1733 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
);
1734 ndr_print_uint32(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown2
);
1735 ndr_print_supplementalCredentialsSubBlob(ndr
, "sub", &r
->sub
);
1736 ndr_print_uint8(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
1740 _PUBLIC_
enum ndr_err_code
ndr_push_package_PackagesBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PackagesBlob
*r
)
1742 if (ndr_flags
& NDR_SCALARS
) {
1743 NDR_CHECK(ndr_push_align(ndr
, 4));
1745 uint32_t _flags_save_string_array
= ndr
->flags
;
1746 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1747 NDR_CHECK(ndr_push_string_array(ndr
, NDR_SCALARS
, r
->names
));
1748 ndr
->flags
= _flags_save_string_array
;
1750 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1752 if (ndr_flags
& NDR_BUFFERS
) {
1754 return NDR_ERR_SUCCESS
;
1757 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PackagesBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PackagesBlob
*r
)
1759 if (ndr_flags
& NDR_SCALARS
) {
1760 NDR_CHECK(ndr_pull_align(ndr
, 4));
1762 uint32_t _flags_save_string_array
= ndr
->flags
;
1763 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1764 NDR_CHECK(ndr_pull_string_array(ndr
, NDR_SCALARS
, &r
->names
));
1765 ndr
->flags
= _flags_save_string_array
;
1767 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1769 if (ndr_flags
& NDR_BUFFERS
) {
1771 return NDR_ERR_SUCCESS
;
1774 _PUBLIC_
void ndr_print_package_PackagesBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PackagesBlob
*r
)
1776 ndr_print_struct(ndr
, name
, "package_PackagesBlob");
1778 ndr_print_string_array(ndr
, "names", r
->names
);
1782 static enum ndr_err_code
ndr_push_package_PrimaryKerberosString(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosString
*r
)
1784 if (ndr_flags
& NDR_SCALARS
) {
1785 NDR_CHECK(ndr_push_align(ndr
, 5));
1786 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1787 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1789 uint32_t _flags_save_string
= ndr
->flags
;
1790 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1791 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->string
));
1792 ndr
->flags
= _flags_save_string
;
1794 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1796 if (ndr_flags
& NDR_BUFFERS
) {
1798 uint32_t _flags_save_string
= ndr
->flags
;
1799 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1801 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->string
));
1803 struct ndr_push
*_ndr_string
;
1804 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_string
, 0, 2 * strlen_m(r
->string
)));
1805 NDR_CHECK(ndr_push_string(_ndr_string
, NDR_SCALARS
, r
->string
));
1806 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_string
, 0, 2 * strlen_m(r
->string
)));
1808 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->string
));
1810 ndr
->flags
= _flags_save_string
;
1813 return NDR_ERR_SUCCESS
;
1816 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosString(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosString
*r
)
1818 uint32_t _ptr_string
;
1819 TALLOC_CTX
*_mem_save_string_0
;
1820 if (ndr_flags
& NDR_SCALARS
) {
1821 NDR_CHECK(ndr_pull_align(ndr
, 5));
1822 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
1823 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
1825 uint32_t _flags_save_string
= ndr
->flags
;
1826 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1827 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
1829 NDR_PULL_ALLOC(ndr
, r
->string
);
1830 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->string
, _ptr_string
));
1834 ndr
->flags
= _flags_save_string
;
1836 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1838 if (ndr_flags
& NDR_BUFFERS
) {
1840 uint32_t _flags_save_string
= ndr
->flags
;
1841 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1843 uint32_t _relative_save_offset
;
1844 _relative_save_offset
= ndr
->offset
;
1845 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->string
));
1846 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1847 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
1849 struct ndr_pull
*_ndr_string
;
1850 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_string
, 0, r
->size
));
1851 NDR_CHECK(ndr_pull_string(_ndr_string
, NDR_SCALARS
, &r
->string
));
1852 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_string
, 0, r
->size
));
1854 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
1855 ndr
->offset
= _relative_save_offset
;
1857 ndr
->flags
= _flags_save_string
;
1860 return NDR_ERR_SUCCESS
;
1863 _PUBLIC_
void ndr_print_package_PrimaryKerberosString(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosString
*r
)
1865 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosString");
1867 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
1868 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->size
);
1869 ndr_print_ptr(ndr
, "string", r
->string
);
1872 ndr_print_string(ndr
, "string", r
->string
);
1878 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey3
*r
)
1880 if (ndr_flags
& NDR_SCALARS
) {
1881 NDR_CHECK(ndr_push_align(ndr
, 5));
1882 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1883 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
1884 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1885 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
1886 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
1888 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1889 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1890 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
1891 ndr
->flags
= _flags_save_DATA_BLOB
;
1893 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1895 if (ndr_flags
& NDR_BUFFERS
) {
1897 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1898 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1900 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->value
));
1902 struct ndr_push
*_ndr_value
;
1903 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1904 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
1905 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
1907 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->value
));
1909 ndr
->flags
= _flags_save_DATA_BLOB
;
1912 return NDR_ERR_SUCCESS
;
1915 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey3
*r
)
1917 uint32_t _ptr_value
;
1918 TALLOC_CTX
*_mem_save_value_0
;
1919 if (ndr_flags
& NDR_SCALARS
) {
1920 NDR_CHECK(ndr_pull_align(ndr
, 5));
1921 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
1922 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
1923 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
1924 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
1925 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
1927 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1928 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1929 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
1931 NDR_PULL_ALLOC(ndr
, r
->value
);
1932 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
1936 ndr
->flags
= _flags_save_DATA_BLOB
;
1938 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1940 if (ndr_flags
& NDR_BUFFERS
) {
1942 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
1943 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
1945 uint32_t _relative_save_offset
;
1946 _relative_save_offset
= ndr
->offset
;
1947 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
1948 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1949 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
1951 struct ndr_pull
*_ndr_value
;
1952 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
1953 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
1954 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
1956 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
1957 ndr
->offset
= _relative_save_offset
;
1959 ndr
->flags
= _flags_save_DATA_BLOB
;
1962 return NDR_ERR_SUCCESS
;
1965 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey3
*r
)
1967 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey3");
1969 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1970 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1971 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
1972 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
1973 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
1974 ndr_print_ptr(ndr
, "value", r
->value
);
1977 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
1983 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr3
*r
)
1985 uint32_t cntr_keys_0
;
1986 uint32_t cntr_old_keys_0
;
1987 if (ndr_flags
& NDR_SCALARS
) {
1988 NDR_CHECK(ndr_push_align(ndr
, 5));
1989 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
1990 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
1991 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
1992 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
1993 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
1995 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
1996 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
1998 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1999 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2000 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2001 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2002 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2003 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2005 if (ndr_flags
& NDR_BUFFERS
) {
2006 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2007 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2008 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2010 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2011 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2014 return NDR_ERR_SUCCESS
;
2017 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr3
*r
)
2019 uint32_t cntr_keys_0
;
2020 TALLOC_CTX
*_mem_save_keys_0
;
2021 uint32_t cntr_old_keys_0
;
2022 TALLOC_CTX
*_mem_save_old_keys_0
;
2023 if (ndr_flags
& NDR_SCALARS
) {
2024 NDR_CHECK(ndr_pull_align(ndr
, 5));
2025 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
2026 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
2027 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2028 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
2029 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2030 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2031 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2032 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2034 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2035 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, r
->num_old_keys
);
2036 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2037 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2038 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2039 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2041 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2042 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding1
));
2043 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding2
));
2044 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding3
));
2045 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding4
));
2046 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding5
));
2047 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2049 if (ndr_flags
& NDR_BUFFERS
) {
2050 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2051 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2052 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2053 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2054 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2056 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2057 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2058 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2059 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2060 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2062 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2064 return NDR_ERR_SUCCESS
;
2067 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr3
*r
)
2069 uint32_t cntr_keys_0
;
2070 uint32_t cntr_old_keys_0
;
2071 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr3");
2073 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2074 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2075 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2076 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2078 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2080 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2081 ndr_print_package_PrimaryKerberosKey3(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2086 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2088 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2090 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2091 ndr_print_package_PrimaryKerberosKey3(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2096 ndr_print_uint32(ndr
, "padding1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding1
);
2097 ndr_print_uint32(ndr
, "padding2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding2
);
2098 ndr_print_uint32(ndr
, "padding3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding3
);
2099 ndr_print_uint32(ndr
, "padding4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding4
);
2100 ndr_print_uint32(ndr
, "padding5", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding5
);
2104 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey4
*r
)
2106 if (ndr_flags
& NDR_SCALARS
) {
2107 NDR_CHECK(ndr_push_align(ndr
, 5));
2108 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2109 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2110 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2111 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->iteration_count
));
2112 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
2113 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
2115 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2116 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2117 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
2118 ndr
->flags
= _flags_save_DATA_BLOB
;
2120 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2122 if (ndr_flags
& NDR_BUFFERS
) {
2124 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2125 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2127 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->value
));
2129 struct ndr_push
*_ndr_value
;
2130 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2131 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
2132 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2134 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->value
));
2136 ndr
->flags
= _flags_save_DATA_BLOB
;
2139 return NDR_ERR_SUCCESS
;
2142 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey4
*r
)
2144 uint32_t _ptr_value
;
2145 TALLOC_CTX
*_mem_save_value_0
;
2146 if (ndr_flags
& NDR_SCALARS
) {
2147 NDR_CHECK(ndr_pull_align(ndr
, 5));
2148 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
2149 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
2150 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
2151 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->iteration_count
));
2152 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
2153 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
2155 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2156 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2157 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
2159 NDR_PULL_ALLOC(ndr
, r
->value
);
2160 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
2164 ndr
->flags
= _flags_save_DATA_BLOB
;
2166 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2168 if (ndr_flags
& NDR_BUFFERS
) {
2170 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2171 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2173 uint32_t _relative_save_offset
;
2174 _relative_save_offset
= ndr
->offset
;
2175 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
2176 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2177 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
2179 struct ndr_pull
*_ndr_value
;
2180 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
2181 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
2182 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
2184 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
2185 ndr
->offset
= _relative_save_offset
;
2187 ndr
->flags
= _flags_save_DATA_BLOB
;
2190 return NDR_ERR_SUCCESS
;
2193 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey4
*r
)
2195 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey4");
2197 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
2198 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
2199 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
2200 ndr_print_uint32(ndr
, "iteration_count", r
->iteration_count
);
2201 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
2202 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
2203 ndr_print_ptr(ndr
, "value", r
->value
);
2206 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
2212 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr4
*r
)
2214 uint32_t cntr_keys_0
;
2215 uint32_t cntr_old_keys_0
;
2216 uint32_t cntr_older_keys_0
;
2217 if (ndr_flags
& NDR_SCALARS
) {
2218 NDR_CHECK(ndr_push_align(ndr
, 5));
2219 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
2220 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2221 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
2222 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_older_keys
));
2223 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2224 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->default_iteration_count
));
2225 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2226 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2228 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2229 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2231 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2232 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
2234 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2236 if (ndr_flags
& NDR_BUFFERS
) {
2237 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2238 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2239 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2241 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2242 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2244 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2245 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2248 return NDR_ERR_SUCCESS
;
2251 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr4
*r
)
2253 uint32_t cntr_keys_0
;
2254 TALLOC_CTX
*_mem_save_keys_0
;
2255 uint32_t cntr_service_keys_0
;
2256 TALLOC_CTX
*_mem_save_service_keys_0
;
2257 uint32_t cntr_old_keys_0
;
2258 TALLOC_CTX
*_mem_save_old_keys_0
;
2259 uint32_t cntr_older_keys_0
;
2260 TALLOC_CTX
*_mem_save_older_keys_0
;
2261 if (ndr_flags
& NDR_SCALARS
) {
2262 NDR_CHECK(ndr_pull_align(ndr
, 5));
2263 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
2264 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_service_keys
));
2265 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
2266 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_older_keys
));
2267 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2268 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->default_iteration_count
));
2269 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
2270 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2271 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2272 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2273 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2275 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2276 NDR_PULL_ALLOC_N(ndr
, r
->service_keys
, r
->num_service_keys
);
2277 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2278 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
2279 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< r
->num_service_keys
; cntr_service_keys_0
++) {
2280 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->service_keys
[cntr_service_keys_0
]));
2282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
2283 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, r
->num_old_keys
);
2284 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2285 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2286 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2287 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2289 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2290 NDR_PULL_ALLOC_N(ndr
, r
->older_keys
, r
->num_older_keys
);
2291 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2292 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2293 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2294 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
2296 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2297 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2299 if (ndr_flags
& NDR_BUFFERS
) {
2300 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2301 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2302 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2303 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2304 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2306 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2307 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2308 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
2309 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< r
->num_service_keys
; cntr_service_keys_0
++) {
2310 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->service_keys
[cntr_service_keys_0
]));
2312 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
2313 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2314 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2315 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2316 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2319 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2320 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2321 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2322 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2324 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2326 return NDR_ERR_SUCCESS
;
2329 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr4
*r
)
2331 uint32_t cntr_keys_0
;
2332 uint32_t cntr_service_keys_0
;
2333 uint32_t cntr_old_keys_0
;
2334 uint32_t cntr_older_keys_0
;
2335 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr4");
2337 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2338 ndr_print_uint16(ndr
, "num_service_keys", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->num_service_keys
);
2339 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2340 ndr_print_uint16(ndr
, "num_older_keys", r
->num_older_keys
);
2341 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2342 ndr_print_uint32(ndr
, "default_iteration_count", r
->default_iteration_count
);
2343 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2345 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2347 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2348 ndr_print_package_PrimaryKerberosKey4(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2353 ndr
->print(ndr
, "%s: ARRAY(%d)", "service_keys", (int)r
->num_service_keys
);
2355 for (cntr_service_keys_0
=0;cntr_service_keys_0
<r
->num_service_keys
;cntr_service_keys_0
++) {
2357 if (asprintf(&idx_0
, "[%d]", cntr_service_keys_0
) != -1) {
2358 ndr_print_package_PrimaryKerberosKey4(ndr
, "service_keys", &r
->service_keys
[cntr_service_keys_0
]);
2363 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2365 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2367 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2368 ndr_print_package_PrimaryKerberosKey4(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2373 ndr
->print(ndr
, "%s: ARRAY(%d)", "older_keys", (int)r
->num_older_keys
);
2375 for (cntr_older_keys_0
=0;cntr_older_keys_0
<r
->num_older_keys
;cntr_older_keys_0
++) {
2377 if (asprintf(&idx_0
, "[%d]", cntr_older_keys_0
) != -1) {
2378 ndr_print_package_PrimaryKerberosKey4(ndr
, "older_keys", &r
->older_keys
[cntr_older_keys_0
]);
2386 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr(struct ndr_push
*ndr
, int ndr_flags
, const union package_PrimaryKerberosCtr
*r
)
2388 if (ndr_flags
& NDR_SCALARS
) {
2389 int level
= ndr_push_get_switch_value(ndr
, r
);
2390 NDR_CHECK(ndr_push_union_align(ndr
, 5));
2393 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2397 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2401 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2404 if (ndr_flags
& NDR_BUFFERS
) {
2405 int level
= ndr_push_get_switch_value(ndr
, r
);
2408 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2412 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2416 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2419 return NDR_ERR_SUCCESS
;
2422 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull
*ndr
, int ndr_flags
, union package_PrimaryKerberosCtr
*r
)
2425 level
= ndr_pull_get_switch_value(ndr
, r
);
2426 if (ndr_flags
& NDR_SCALARS
) {
2427 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
2430 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2434 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2438 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2441 if (ndr_flags
& NDR_BUFFERS
) {
2444 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2448 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2452 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2455 return NDR_ERR_SUCCESS
;
2458 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr(struct ndr_print
*ndr
, const char *name
, const union package_PrimaryKerberosCtr
*r
)
2461 level
= ndr_print_get_switch_value(ndr
, r
);
2462 ndr_print_union(ndr
, name
, level
, "package_PrimaryKerberosCtr");
2465 ndr_print_package_PrimaryKerberosCtr3(ndr
, "ctr3", &r
->ctr3
);
2469 ndr_print_package_PrimaryKerberosCtr4(ndr
, "ctr4", &r
->ctr4
);
2473 ndr_print_bad_level(ndr
, name
, level
);
2477 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryKerberosBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosBlob
*r
)
2479 if (ndr_flags
& NDR_SCALARS
) {
2480 NDR_CHECK(ndr_push_align(ndr
, 5));
2481 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->version
));
2482 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2483 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2484 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2485 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2487 if (ndr_flags
& NDR_BUFFERS
) {
2488 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2490 return NDR_ERR_SUCCESS
;
2493 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosBlob
*r
)
2495 if (ndr_flags
& NDR_SCALARS
) {
2496 NDR_CHECK(ndr_pull_align(ndr
, 5));
2497 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->version
));
2498 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
2499 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2500 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2501 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2503 if (ndr_flags
& NDR_BUFFERS
) {
2504 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2506 return NDR_ERR_SUCCESS
;
2509 _PUBLIC_
void ndr_print_package_PrimaryKerberosBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosBlob
*r
)
2511 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosBlob");
2513 ndr_print_uint16(ndr
, "version", r
->version
);
2514 ndr_print_uint16(ndr
, "flags", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->flags
);
2515 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
2516 ndr_print_package_PrimaryKerberosCtr(ndr
, "ctr", &r
->ctr
);
2520 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2522 if (ndr_flags
& NDR_SCALARS
) {
2523 NDR_CHECK(ndr_push_align(ndr
, 4));
2525 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2526 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2527 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->cleartext
));
2528 ndr
->flags
= _flags_save_DATA_BLOB
;
2530 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2532 if (ndr_flags
& NDR_BUFFERS
) {
2534 return NDR_ERR_SUCCESS
;
2537 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryCLEARTEXTBlob
*r
)
2539 if (ndr_flags
& NDR_SCALARS
) {
2540 NDR_CHECK(ndr_pull_align(ndr
, 4));
2542 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2543 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2544 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->cleartext
));
2545 ndr
->flags
= _flags_save_DATA_BLOB
;
2547 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2549 if (ndr_flags
& NDR_BUFFERS
) {
2551 return NDR_ERR_SUCCESS
;
2554 _PUBLIC_
void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2556 ndr_print_struct(ndr
, name
, "package_PrimaryCLEARTEXTBlob");
2558 ndr_print_DATA_BLOB(ndr
, "cleartext", r
->cleartext
);
2562 static enum ndr_err_code
ndr_push_package_PrimaryWDigestHash(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestHash
*r
)
2565 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2566 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2567 if (ndr_flags
& NDR_SCALARS
) {
2568 NDR_CHECK(ndr_push_align(ndr
, 1));
2569 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2570 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
2572 if (ndr_flags
& NDR_BUFFERS
) {
2574 ndr
->flags
= _flags_save_STRUCT
;
2576 return NDR_ERR_SUCCESS
;
2579 static enum ndr_err_code
ndr_pull_package_PrimaryWDigestHash(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestHash
*r
)
2582 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2583 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2584 if (ndr_flags
& NDR_SCALARS
) {
2585 NDR_CHECK(ndr_pull_align(ndr
, 1));
2586 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2587 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
2589 if (ndr_flags
& NDR_BUFFERS
) {
2591 ndr
->flags
= _flags_save_STRUCT
;
2593 return NDR_ERR_SUCCESS
;
2596 _PUBLIC_
void ndr_print_package_PrimaryWDigestHash(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestHash
*r
)
2598 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestHash");
2600 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2601 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2603 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2605 ndr
->flags
= _flags_save_STRUCT
;
2609 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryWDigestBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestBlob
*r
)
2611 uint32_t cntr_hashes_0
;
2612 if (ndr_flags
& NDR_SCALARS
) {
2613 NDR_CHECK(ndr_push_align(ndr
, 4));
2614 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0x31));
2615 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0x01));
2616 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->num_hashes
));
2617 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2618 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, 0));
2619 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2620 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2622 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2624 if (ndr_flags
& NDR_BUFFERS
) {
2626 return NDR_ERR_SUCCESS
;
2629 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestBlob
*r
)
2631 uint32_t cntr_hashes_0
;
2632 TALLOC_CTX
*_mem_save_hashes_0
;
2633 if (ndr_flags
& NDR_SCALARS
) {
2634 NDR_CHECK(ndr_pull_align(ndr
, 4));
2635 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown1
));
2636 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown2
));
2637 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->num_hashes
));
2638 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
2639 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->uuknown4
));
2640 NDR_PULL_ALLOC_N(ndr
, r
->hashes
, r
->num_hashes
);
2641 _mem_save_hashes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2642 NDR_PULL_SET_MEM_CTX(ndr
, r
->hashes
, 0);
2643 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2644 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2646 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hashes_0
, 0);
2647 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2649 if (ndr_flags
& NDR_BUFFERS
) {
2651 return NDR_ERR_SUCCESS
;
2654 _PUBLIC_
void ndr_print_package_PrimaryWDigestBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestBlob
*r
)
2656 uint32_t cntr_hashes_0
;
2657 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestBlob");
2659 ndr_print_uint16(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x31:r
->unknown1
);
2660 ndr_print_uint8(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x01:r
->unknown2
);
2661 ndr_print_uint8(ndr
, "num_hashes", r
->num_hashes
);
2662 ndr_print_uint32(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
2663 ndr_print_udlong(ndr
, "uuknown4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->uuknown4
);
2664 ndr
->print(ndr
, "%s: ARRAY(%d)", "hashes", (int)r
->num_hashes
);
2666 for (cntr_hashes_0
=0;cntr_hashes_0
<r
->num_hashes
;cntr_hashes_0
++) {
2668 if (asprintf(&idx_0
, "[%d]", cntr_hashes_0
) != -1) {
2669 ndr_print_package_PrimaryWDigestHash(ndr
, "hashes", &r
->hashes
[cntr_hashes_0
]);
2677 static enum ndr_err_code
ndr_push_AuthInfoNone(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNone
*r
)
2679 if (ndr_flags
& NDR_SCALARS
) {
2680 NDR_CHECK(ndr_push_align(ndr
, 4));
2681 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2682 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2684 if (ndr_flags
& NDR_BUFFERS
) {
2686 return NDR_ERR_SUCCESS
;
2689 static enum ndr_err_code
ndr_pull_AuthInfoNone(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNone
*r
)
2691 if (ndr_flags
& NDR_SCALARS
) {
2692 NDR_CHECK(ndr_pull_align(ndr
, 4));
2693 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2694 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2696 if (ndr_flags
& NDR_BUFFERS
) {
2698 return NDR_ERR_SUCCESS
;
2701 _PUBLIC_
void ndr_print_AuthInfoNone(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNone
*r
)
2703 ndr_print_struct(ndr
, name
, "AuthInfoNone");
2705 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->size
);
2709 static enum ndr_err_code
ndr_push_AuthInfoNT4Owf(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNT4Owf
*r
)
2711 if (ndr_flags
& NDR_SCALARS
) {
2712 NDR_CHECK(ndr_push_align(ndr
, 4));
2713 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 16));
2714 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2715 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2717 if (ndr_flags
& NDR_BUFFERS
) {
2719 return NDR_ERR_SUCCESS
;
2722 static enum ndr_err_code
ndr_pull_AuthInfoNT4Owf(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNT4Owf
*r
)
2724 if (ndr_flags
& NDR_SCALARS
) {
2725 NDR_CHECK(ndr_pull_align(ndr
, 4));
2726 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2727 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2728 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2730 if (ndr_flags
& NDR_BUFFERS
) {
2732 return NDR_ERR_SUCCESS
;
2735 _PUBLIC_
void ndr_print_AuthInfoNT4Owf(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNT4Owf
*r
)
2737 ndr_print_struct(ndr
, name
, "AuthInfoNT4Owf");
2739 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?16:r
->size
);
2740 ndr_print_samr_Password(ndr
, "password", &r
->password
);
2744 static enum ndr_err_code
ndr_push_AuthInfoClear(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoClear
*r
)
2746 if (ndr_flags
& NDR_SCALARS
) {
2747 NDR_CHECK(ndr_push_align(ndr
, 4));
2748 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2749 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2750 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2752 if (ndr_flags
& NDR_BUFFERS
) {
2754 return NDR_ERR_SUCCESS
;
2757 static enum ndr_err_code
ndr_pull_AuthInfoClear(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoClear
*r
)
2759 if (ndr_flags
& NDR_SCALARS
) {
2760 NDR_CHECK(ndr_pull_align(ndr
, 4));
2761 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2762 NDR_PULL_ALLOC_N(ndr
, r
->password
, r
->size
);
2763 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2764 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2766 if (ndr_flags
& NDR_BUFFERS
) {
2768 return NDR_ERR_SUCCESS
;
2771 _PUBLIC_
void ndr_print_AuthInfoClear(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoClear
*r
)
2773 ndr_print_struct(ndr
, name
, "AuthInfoClear");
2775 ndr_print_uint32(ndr
, "size", r
->size
);
2776 ndr_print_array_uint8(ndr
, "password", r
->password
, r
->size
);
2780 static enum ndr_err_code
ndr_push_AuthInfoVersion(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoVersion
*r
)
2782 if (ndr_flags
& NDR_SCALARS
) {
2783 NDR_CHECK(ndr_push_align(ndr
, 4));
2784 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 4));
2785 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2786 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2788 if (ndr_flags
& NDR_BUFFERS
) {
2790 return NDR_ERR_SUCCESS
;
2793 static enum ndr_err_code
ndr_pull_AuthInfoVersion(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoVersion
*r
)
2795 if (ndr_flags
& NDR_SCALARS
) {
2796 NDR_CHECK(ndr_pull_align(ndr
, 4));
2797 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2798 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2799 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2801 if (ndr_flags
& NDR_BUFFERS
) {
2803 return NDR_ERR_SUCCESS
;
2806 _PUBLIC_
void ndr_print_AuthInfoVersion(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoVersion
*r
)
2808 ndr_print_struct(ndr
, name
, "AuthInfoVersion");
2810 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?4:r
->size
);
2811 ndr_print_uint32(ndr
, "version", r
->version
);
2815 static enum ndr_err_code
ndr_push_AuthInfo(struct ndr_push
*ndr
, int ndr_flags
, const union AuthInfo
*r
)
2817 if (ndr_flags
& NDR_SCALARS
) {
2818 int level
= ndr_push_get_switch_value(ndr
, r
);
2819 NDR_CHECK(ndr_push_union_align(ndr
, 4));
2821 case TRUST_AUTH_TYPE_NONE
: {
2822 NDR_CHECK(ndr_push_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2825 case TRUST_AUTH_TYPE_NT4OWF
: {
2826 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2829 case TRUST_AUTH_TYPE_CLEAR
: {
2830 NDR_CHECK(ndr_push_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2833 case TRUST_AUTH_TYPE_VERSION
: {
2834 NDR_CHECK(ndr_push_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2838 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2841 if (ndr_flags
& NDR_BUFFERS
) {
2842 int level
= ndr_push_get_switch_value(ndr
, r
);
2844 case TRUST_AUTH_TYPE_NONE
:
2847 case TRUST_AUTH_TYPE_NT4OWF
:
2850 case TRUST_AUTH_TYPE_CLEAR
:
2853 case TRUST_AUTH_TYPE_VERSION
:
2857 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2860 return NDR_ERR_SUCCESS
;
2863 static enum ndr_err_code
ndr_pull_AuthInfo(struct ndr_pull
*ndr
, int ndr_flags
, union AuthInfo
*r
)
2866 level
= ndr_pull_get_switch_value(ndr
, r
);
2867 if (ndr_flags
& NDR_SCALARS
) {
2868 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
2870 case TRUST_AUTH_TYPE_NONE
: {
2871 NDR_CHECK(ndr_pull_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2874 case TRUST_AUTH_TYPE_NT4OWF
: {
2875 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2878 case TRUST_AUTH_TYPE_CLEAR
: {
2879 NDR_CHECK(ndr_pull_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2882 case TRUST_AUTH_TYPE_VERSION
: {
2883 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2887 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2890 if (ndr_flags
& NDR_BUFFERS
) {
2892 case TRUST_AUTH_TYPE_NONE
:
2895 case TRUST_AUTH_TYPE_NT4OWF
:
2898 case TRUST_AUTH_TYPE_CLEAR
:
2901 case TRUST_AUTH_TYPE_VERSION
:
2905 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2908 return NDR_ERR_SUCCESS
;
2911 _PUBLIC_
void ndr_print_AuthInfo(struct ndr_print
*ndr
, const char *name
, const union AuthInfo
*r
)
2914 level
= ndr_print_get_switch_value(ndr
, r
);
2915 ndr_print_union(ndr
, name
, level
, "AuthInfo");
2917 case TRUST_AUTH_TYPE_NONE
:
2918 ndr_print_AuthInfoNone(ndr
, "none", &r
->none
);
2921 case TRUST_AUTH_TYPE_NT4OWF
:
2922 ndr_print_AuthInfoNT4Owf(ndr
, "nt4owf", &r
->nt4owf
);
2925 case TRUST_AUTH_TYPE_CLEAR
:
2926 ndr_print_AuthInfoClear(ndr
, "clear", &r
->clear
);
2929 case TRUST_AUTH_TYPE_VERSION
:
2930 ndr_print_AuthInfoVersion(ndr
, "version", &r
->version
);
2934 ndr_print_bad_level(ndr
, name
, level
);
2938 _PUBLIC_
enum ndr_err_code
ndr_push_AuthenticationInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthenticationInformation
*r
)
2940 if (ndr_flags
& NDR_SCALARS
) {
2941 NDR_CHECK(ndr_push_align(ndr
, 4));
2942 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->LastUpdateTime
));
2943 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr
, NDR_SCALARS
, r
->AuthType
));
2944 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
2945 NDR_CHECK(ndr_push_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
2947 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2948 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
2949 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->_pad
));
2950 ndr
->flags
= _flags_save_DATA_BLOB
;
2952 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2954 if (ndr_flags
& NDR_BUFFERS
) {
2956 return NDR_ERR_SUCCESS
;
2959 _PUBLIC_
enum ndr_err_code
ndr_pull_AuthenticationInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthenticationInformation
*r
)
2961 if (ndr_flags
& NDR_SCALARS
) {
2962 NDR_CHECK(ndr_pull_align(ndr
, 4));
2963 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->LastUpdateTime
));
2964 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr
, NDR_SCALARS
, &r
->AuthType
));
2965 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
2966 NDR_CHECK(ndr_pull_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
2968 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2969 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
2970 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->_pad
));
2971 ndr
->flags
= _flags_save_DATA_BLOB
;
2973 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2975 if (ndr_flags
& NDR_BUFFERS
) {
2977 return NDR_ERR_SUCCESS
;
2980 _PUBLIC_
void ndr_print_AuthenticationInformation(struct ndr_print
*ndr
, const char *name
, const struct AuthenticationInformation
*r
)
2982 ndr_print_struct(ndr
, name
, "AuthenticationInformation");
2984 ndr_print_NTTIME(ndr
, "LastUpdateTime", r
->LastUpdateTime
);
2985 ndr_print_lsa_TrustAuthType(ndr
, "AuthType", r
->AuthType
);
2986 ndr_print_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
);
2987 ndr_print_AuthInfo(ndr
, "AuthInfo", &r
->AuthInfo
);
2988 ndr_print_DATA_BLOB(ndr
, "_pad", r
->_pad
);
2992 _PUBLIC_
size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2994 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustAuthInOutBlob
, ic
);
2997 _PUBLIC_
enum ndr_err_code
ndr_push_trustCurrentPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustCurrentPasswords
*r
)
2999 uint32_t cntr_current_0
;
3000 if (ndr_flags
& NDR_SCALARS
) {
3001 NDR_CHECK(ndr_push_align(ndr
, 5));
3002 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3003 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3004 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->current
[cntr_current_0
]));
3006 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3008 if (ndr_flags
& NDR_BUFFERS
) {
3009 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3010 if (r
->current
[cntr_current_0
]) {
3011 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->current
[cntr_current_0
]));
3012 NDR_CHECK(ndr_push_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
3013 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->current
[cntr_current_0
]));
3017 return NDR_ERR_SUCCESS
;
3020 _PUBLIC_
enum ndr_err_code
ndr_pull_trustCurrentPasswords(struct ndr_pull
*ndr
, int ndr_flags
, struct trustCurrentPasswords
*r
)
3022 uint32_t _ptr_current
;
3023 uint32_t cntr_current_0
;
3024 TALLOC_CTX
*_mem_save_current_0
;
3025 TALLOC_CTX
*_mem_save_current_1
;
3026 if (ndr_flags
& NDR_SCALARS
) {
3027 NDR_CHECK(ndr_pull_align(ndr
, 5));
3028 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3029 NDR_PULL_ALLOC_N(ndr
, r
->current
, r
->count
);
3030 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3031 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
3032 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3033 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_current
));
3035 NDR_PULL_ALLOC(ndr
, r
->current
[cntr_current_0
]);
3036 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->current
[cntr_current_0
], _ptr_current
));
3038 r
->current
[cntr_current_0
] = NULL
;
3041 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
3042 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3044 if (ndr_flags
& NDR_BUFFERS
) {
3045 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3046 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
3047 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3048 if (r
->current
[cntr_current_0
]) {
3049 uint32_t _relative_save_offset
;
3050 _relative_save_offset
= ndr
->offset
;
3051 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->current
[cntr_current_0
]));
3052 _mem_save_current_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3053 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
[cntr_current_0
], 0);
3054 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
3055 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_1
, 0);
3056 ndr
->offset
= _relative_save_offset
;
3059 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
3061 return NDR_ERR_SUCCESS
;
3064 _PUBLIC_
void ndr_print_trustCurrentPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustCurrentPasswords
*r
)
3066 uint32_t cntr_current_0
;
3067 ndr_print_struct(ndr
, name
, "trustCurrentPasswords");
3069 ndr_print_uint32(ndr
, "count", r
->count
);
3070 ndr
->print(ndr
, "%s: ARRAY(%d)", "current", (int)r
->count
);
3072 for (cntr_current_0
=0;cntr_current_0
<r
->count
;cntr_current_0
++) {
3074 if (asprintf(&idx_0
, "[%d]", cntr_current_0
) != -1) {
3075 ndr_print_ptr(ndr
, "current", r
->current
[cntr_current_0
]);
3077 if (r
->current
[cntr_current_0
]) {
3078 ndr_print_AuthenticationInformation(ndr
, "current", r
->current
[cntr_current_0
]);
3088 _PUBLIC_
size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3090 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustCurrentPasswords
, ic
);
3093 _PUBLIC_
enum ndr_err_code
ndr_push_trustDomainPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustDomainPasswords
*r
)
3095 if (ndr_flags
& NDR_SCALARS
) {
3096 NDR_CHECK(ndr_push_align(ndr
, 5));
3097 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->confounder
, 512));
3099 struct ndr_push
*_ndr_outgoing
;
3100 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3101 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing
, NDR_SCALARS
|NDR_BUFFERS
, &r
->outgoing
));
3102 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3105 struct ndr_push
*_ndr_incoming
;
3106 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3107 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming
, NDR_SCALARS
|NDR_BUFFERS
, &r
->incoming
));
3108 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3110 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3111 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3112 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3114 if (ndr_flags
& NDR_BUFFERS
) {
3116 return NDR_ERR_SUCCESS
;
3119 _PUBLIC_
void ndr_print_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustDomainPasswords
*r
)
3121 ndr_print_struct(ndr
, name
, "trustDomainPasswords");
3123 ndr_print_array_uint8(ndr
, "confounder", r
->confounder
, 512);
3124 ndr_print_trustCurrentPasswords(ndr
, "outgoing", &r
->outgoing
);
3125 ndr_print_trustCurrentPasswords(ndr
, "incoming", &r
->incoming
);
3126 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
);
3127 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
);
3131 _PUBLIC_
enum ndr_err_code
ndr_push_DsCompressedChunk(struct ndr_push
*ndr
, int ndr_flags
, const struct DsCompressedChunk
*r
)
3133 if (ndr_flags
& NDR_SCALARS
) {
3134 NDR_CHECK(ndr_push_align(ndr
, 4));
3135 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->marker
));
3136 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->data
));
3137 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
3139 if (ndr_flags
& NDR_BUFFERS
) {
3141 return NDR_ERR_SUCCESS
;
3144 _PUBLIC_
enum ndr_err_code
ndr_pull_DsCompressedChunk(struct ndr_pull
*ndr
, int ndr_flags
, struct DsCompressedChunk
*r
)
3146 if (ndr_flags
& NDR_SCALARS
) {
3147 NDR_CHECK(ndr_pull_align(ndr
, 4));
3148 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->marker
));
3149 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->data
));
3150 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
3152 if (ndr_flags
& NDR_BUFFERS
) {
3154 return NDR_ERR_SUCCESS
;
3157 _PUBLIC_
void ndr_print_DsCompressedChunk(struct ndr_print
*ndr
, const char *name
, const struct DsCompressedChunk
*r
)
3159 ndr_print_struct(ndr
, name
, "DsCompressedChunk");
3161 ndr_print_uint32(ndr
, "marker", r
->marker
);
3162 ndr_print_DATA_BLOB(ndr
, "data", r
->data
);
3166 static enum ndr_err_code
ndr_push_ExtendedErrorAString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorAString
*r
)
3168 if (ndr_flags
& NDR_SCALARS
) {
3169 NDR_CHECK(ndr_push_align(ndr
, 5));
3170 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
3171 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
3172 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3174 if (ndr_flags
& NDR_BUFFERS
) {
3176 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->__size
));
3177 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint8_t), CH_DOS
));
3180 return NDR_ERR_SUCCESS
;
3183 static enum ndr_err_code
ndr_pull_ExtendedErrorAString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorAString
*r
)
3185 uint32_t _ptr_string
;
3186 TALLOC_CTX
*_mem_save_string_0
;
3187 if (ndr_flags
& NDR_SCALARS
) {
3188 NDR_CHECK(ndr_pull_align(ndr
, 5));
3189 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
3190 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
3192 NDR_PULL_ALLOC(ndr
, r
->string
);
3196 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3198 if (ndr_flags
& NDR_BUFFERS
) {
3200 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3201 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
3202 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
3203 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_size(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
3204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
3207 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
3210 return NDR_ERR_SUCCESS
;
3213 _PUBLIC_
void ndr_print_ExtendedErrorAString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorAString
*r
)
3215 ndr_print_struct(ndr
, name
, "ExtendedErrorAString");
3217 ndr_print_uint16(ndr
, "__size", r
->__size
);
3218 ndr_print_ptr(ndr
, "string", r
->string
);
3221 ndr_print_string(ndr
, "string", r
->string
);
3227 static enum ndr_err_code
ndr_push_ExtendedErrorUString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorUString
*r
)
3229 if (ndr_flags
& NDR_SCALARS
) {
3230 NDR_CHECK(ndr_push_align(ndr
, 5));
3231 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
3232 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
3233 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3235 if (ndr_flags
& NDR_BUFFERS
) {
3237 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->__size
));
3238 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint16_t), CH_UTF16
));
3241 return NDR_ERR_SUCCESS
;
3244 static enum ndr_err_code
ndr_pull_ExtendedErrorUString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorUString
*r
)
3246 uint32_t _ptr_string
;
3247 TALLOC_CTX
*_mem_save_string_0
;
3248 if (ndr_flags
& NDR_SCALARS
) {
3249 NDR_CHECK(ndr_pull_align(ndr
, 5));
3250 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
3251 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
3253 NDR_PULL_ALLOC(ndr
, r
->string
);
3257 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3259 if (ndr_flags
& NDR_BUFFERS
) {
3261 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3262 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
3263 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
3264 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_size(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
3265 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
3268 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
3271 return NDR_ERR_SUCCESS
;
3274 _PUBLIC_
void ndr_print_ExtendedErrorUString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorUString
*r
)
3276 ndr_print_struct(ndr
, name
, "ExtendedErrorUString");
3278 ndr_print_uint16(ndr
, "__size", r
->__size
);
3279 ndr_print_ptr(ndr
, "string", r
->string
);
3282 ndr_print_string(ndr
, "string", r
->string
);
3288 static enum ndr_err_code
ndr_push_ExtendedErrorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorBlob
*r
)
3290 if (ndr_flags
& NDR_SCALARS
) {
3291 NDR_CHECK(ndr_push_align(ndr
, 5));
3292 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->length
));
3293 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
3294 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3296 if (ndr_flags
& NDR_BUFFERS
) {
3298 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
3299 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
3302 return NDR_ERR_SUCCESS
;
3305 static enum ndr_err_code
ndr_pull_ExtendedErrorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorBlob
*r
)
3308 TALLOC_CTX
*_mem_save_data_0
;
3309 if (ndr_flags
& NDR_SCALARS
) {
3310 NDR_CHECK(ndr_pull_align(ndr
, 5));
3311 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
3312 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
3314 NDR_PULL_ALLOC(ndr
, r
->data
);
3318 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3320 if (ndr_flags
& NDR_BUFFERS
) {
3322 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3323 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
3324 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
3325 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
3326 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
3327 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
3330 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
3333 return NDR_ERR_SUCCESS
;
3336 _PUBLIC_
void ndr_print_ExtendedErrorBlob(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorBlob
*r
)
3338 ndr_print_struct(ndr
, name
, "ExtendedErrorBlob");
3340 ndr_print_uint16(ndr
, "length", r
->length
);
3341 ndr_print_ptr(ndr
, "data", r
->data
);
3344 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
3350 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent r
)
3352 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
3353 return NDR_ERR_SUCCESS
;
3356 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent
*r
)
3359 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
3361 return NDR_ERR_SUCCESS
;
3364 _PUBLIC_
void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorComputerNamePresent r
)
3366 const char *val
= NULL
;
3369 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3370 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3372 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3375 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNameU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorComputerNameU
*r
)
3377 if (ndr_flags
& NDR_SCALARS
) {
3378 int level
= ndr_push_get_switch_value(ndr
, r
);
3379 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, level
));
3380 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3382 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3383 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3386 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3390 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3393 if (ndr_flags
& NDR_BUFFERS
) {
3394 int level
= ndr_push_get_switch_value(ndr
, r
);
3396 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3397 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3400 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3404 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3407 return NDR_ERR_SUCCESS
;
3410 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorComputerNameU
*r
)
3414 level
= ndr_pull_get_switch_value(ndr
, r
);
3415 if (ndr_flags
& NDR_SCALARS
) {
3416 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
3417 if (_level
!= level
) {
3418 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3420 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3422 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3423 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3426 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3430 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3433 if (ndr_flags
& NDR_BUFFERS
) {
3435 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3436 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3439 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3443 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3446 return NDR_ERR_SUCCESS
;
3449 _PUBLIC_
void ndr_print_ExtendedErrorComputerNameU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorComputerNameU
*r
)
3452 level
= ndr_print_get_switch_value(ndr
, r
);
3453 ndr_print_union(ndr
, name
, level
, "ExtendedErrorComputerNameU");
3455 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3456 ndr_print_ExtendedErrorUString(ndr
, "name", &r
->name
);
3459 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3463 ndr_print_bad_level(ndr
, name
, level
);
3467 static enum ndr_err_code
ndr_push_ExtendedErrorComputerName(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorComputerName
*r
)
3469 if (ndr_flags
& NDR_SCALARS
) {
3470 NDR_CHECK(ndr_push_align(ndr
, 5));
3471 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, r
->present
));
3472 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->n
, r
->present
));
3473 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3474 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3476 if (ndr_flags
& NDR_BUFFERS
) {
3477 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3479 return NDR_ERR_SUCCESS
;
3482 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerName(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorComputerName
*r
)
3484 if (ndr_flags
& NDR_SCALARS
) {
3485 NDR_CHECK(ndr_pull_align(ndr
, 5));
3486 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, &r
->present
));
3487 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->n
, r
->present
));
3488 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3489 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3491 if (ndr_flags
& NDR_BUFFERS
) {
3492 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3494 return NDR_ERR_SUCCESS
;
3497 _PUBLIC_
void ndr_print_ExtendedErrorComputerName(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorComputerName
*r
)
3499 ndr_print_struct(ndr
, name
, "ExtendedErrorComputerName");
3501 ndr_print_ExtendedErrorComputerNamePresent(ndr
, "present", r
->present
);
3502 ndr_print_set_switch_value(ndr
, &r
->n
, r
->present
);
3503 ndr_print_ExtendedErrorComputerNameU(ndr
, "n", &r
->n
);
3507 static enum ndr_err_code
ndr_push_ExtendedErrorParamType(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorParamType r
)
3509 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
3510 return NDR_ERR_SUCCESS
;
3513 static enum ndr_err_code
ndr_pull_ExtendedErrorParamType(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorParamType
*r
)
3516 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
3518 return NDR_ERR_SUCCESS
;
3521 _PUBLIC_
void ndr_print_ExtendedErrorParamType(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorParamType r
)
3523 const char *val
= NULL
;
3526 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3527 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3528 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3529 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3530 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3531 case EXTENDED_ERROR_PARAM_TYPE_NONE
: val
= "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3532 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: val
= "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3534 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3537 static enum ndr_err_code
ndr_push_ExtendedErrorParamU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorParamU
*r
)
3539 if (ndr_flags
& NDR_SCALARS
) {
3540 int level
= ndr_push_get_switch_value(ndr
, r
);
3541 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, level
));
3542 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3544 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3545 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3548 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3549 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3552 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3553 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->uint32
));
3556 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3557 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->uint16
));
3560 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3561 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->uint64
));
3564 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3567 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3568 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3572 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3575 if (ndr_flags
& NDR_BUFFERS
) {
3576 int level
= ndr_push_get_switch_value(ndr
, r
);
3578 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3579 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3582 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3583 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3586 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3589 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3592 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3595 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3598 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3599 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3603 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3606 return NDR_ERR_SUCCESS
;
3609 static enum ndr_err_code
ndr_pull_ExtendedErrorParamU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorParamU
*r
)
3613 level
= ndr_pull_get_switch_value(ndr
, r
);
3614 if (ndr_flags
& NDR_SCALARS
) {
3615 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
3616 if (_level
!= level
) {
3617 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3619 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3621 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3622 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3625 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3626 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3629 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3630 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->uint32
));
3633 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3634 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->uint16
));
3637 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3638 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->uint64
));
3641 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3644 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3645 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3649 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3652 if (ndr_flags
& NDR_BUFFERS
) {
3654 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3655 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3658 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3659 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3662 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3665 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3668 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3671 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3674 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3675 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3679 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3682 return NDR_ERR_SUCCESS
;
3685 _PUBLIC_
void ndr_print_ExtendedErrorParamU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorParamU
*r
)
3688 level
= ndr_print_get_switch_value(ndr
, r
);
3689 ndr_print_union(ndr
, name
, level
, "ExtendedErrorParamU");
3691 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3692 ndr_print_ExtendedErrorAString(ndr
, "a_string", &r
->a_string
);
3695 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3696 ndr_print_ExtendedErrorUString(ndr
, "u_string", &r
->u_string
);
3699 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3700 ndr_print_uint32(ndr
, "uint32", r
->uint32
);
3703 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3704 ndr_print_uint16(ndr
, "uint16", r
->uint16
);
3707 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3708 ndr_print_hyper(ndr
, "uint64", r
->uint64
);
3711 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3714 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3715 ndr_print_ExtendedErrorBlob(ndr
, "blob", &r
->blob
);
3719 ndr_print_bad_level(ndr
, name
, level
);
3723 static enum ndr_err_code
ndr_push_ExtendedErrorParam(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorParam
*r
)
3725 if (ndr_flags
& NDR_SCALARS
) {
3726 NDR_CHECK(ndr_push_align(ndr
, 8));
3727 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, r
->type
));
3728 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->p
, r
->type
));
3729 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3730 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
3732 if (ndr_flags
& NDR_BUFFERS
) {
3733 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3735 return NDR_ERR_SUCCESS
;
3738 static enum ndr_err_code
ndr_pull_ExtendedErrorParam(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorParam
*r
)
3740 if (ndr_flags
& NDR_SCALARS
) {
3741 NDR_CHECK(ndr_pull_align(ndr
, 8));
3742 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr
, NDR_SCALARS
, &r
->type
));
3743 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->p
, r
->type
));
3744 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3745 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3747 if (ndr_flags
& NDR_BUFFERS
) {
3748 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3750 return NDR_ERR_SUCCESS
;
3753 _PUBLIC_
void ndr_print_ExtendedErrorParam(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorParam
*r
)
3755 ndr_print_struct(ndr
, name
, "ExtendedErrorParam");
3757 ndr_print_ExtendedErrorParamType(ndr
, "type", r
->type
);
3758 ndr_print_set_switch_value(ndr
, &r
->p
, r
->type
);
3759 ndr_print_ExtendedErrorParamU(ndr
, "p", &r
->p
);
3763 _PUBLIC_
enum ndr_err_code
ndr_push_ExtendedErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfo
*r
)
3765 uint32_t cntr_params_0
;
3766 if (ndr_flags
& NDR_SCALARS
) {
3767 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_params
));
3768 NDR_CHECK(ndr_push_align(ndr
, 8));
3769 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
3770 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3771 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->pid
));
3772 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
3773 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->generating_component
));
3774 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
3775 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->detection_location
));
3776 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->flags
));
3777 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_params
));
3778 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3779 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3781 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
3783 if (ndr_flags
& NDR_BUFFERS
) {
3785 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3787 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3788 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3789 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3792 return NDR_ERR_SUCCESS
;
3795 _PUBLIC_
enum ndr_err_code
ndr_pull_ExtendedErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfo
*r
)
3798 TALLOC_CTX
*_mem_save_next_0
;
3799 uint32_t cntr_params_0
;
3800 TALLOC_CTX
*_mem_save_params_0
;
3801 if (ndr_flags
& NDR_SCALARS
) {
3802 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->params
));
3803 NDR_CHECK(ndr_pull_align(ndr
, 8));
3804 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
3806 NDR_PULL_ALLOC(ndr
, r
->next
);
3810 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3811 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->pid
));
3812 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
3813 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->generating_component
));
3814 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
3815 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->detection_location
));
3816 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
3817 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_params
));
3818 NDR_PULL_ALLOC_N(ndr
, r
->params
, ndr_get_array_size(ndr
, &r
->params
));
3819 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3820 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3821 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3822 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3824 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3826 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->params
, r
->num_params
));
3828 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3830 if (ndr_flags
& NDR_BUFFERS
) {
3832 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3833 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
3834 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3835 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
3837 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3838 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3839 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3840 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3841 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3843 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3845 return NDR_ERR_SUCCESS
;
3848 _PUBLIC_
void ndr_print_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfo
*r
)
3850 uint32_t cntr_params_0
;
3851 ndr_print_struct(ndr
, name
, "ExtendedErrorInfo");
3853 ndr_print_ptr(ndr
, "next", r
->next
);
3856 ndr_print_ExtendedErrorInfo(ndr
, "next", r
->next
);
3859 ndr_print_ExtendedErrorComputerName(ndr
, "computer_name", &r
->computer_name
);
3860 ndr_print_hyper(ndr
, "pid", r
->pid
);
3861 ndr_print_NTTIME(ndr
, "time", r
->time
);
3862 ndr_print_uint32(ndr
, "generating_component", r
->generating_component
);
3863 ndr_print_WERROR(ndr
, "status", r
->status
);
3864 ndr_print_uint16(ndr
, "detection_location", r
->detection_location
);
3865 ndr_print_uint16(ndr
, "flags", r
->flags
);
3866 ndr_print_uint16(ndr
, "num_params", r
->num_params
);
3867 ndr
->print(ndr
, "%s: ARRAY(%d)", "params", (int)r
->num_params
);
3869 for (cntr_params_0
=0;cntr_params_0
<r
->num_params
;cntr_params_0
++) {
3871 if (asprintf(&idx_0
, "[%d]", cntr_params_0
) != -1) {
3872 ndr_print_ExtendedErrorParam(ndr
, "params", &r
->params
[cntr_params_0
]);
3880 static enum ndr_err_code
ndr_push_ExtendedErrorInfoPtr(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfoPtr
*r
)
3882 if (ndr_flags
& NDR_SCALARS
) {
3883 NDR_CHECK(ndr_push_align(ndr
, 5));
3884 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
3885 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3887 if (ndr_flags
& NDR_BUFFERS
) {
3889 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
3892 return NDR_ERR_SUCCESS
;
3895 static enum ndr_err_code
ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfoPtr
*r
)
3898 TALLOC_CTX
*_mem_save_info_0
;
3899 if (ndr_flags
& NDR_SCALARS
) {
3900 NDR_CHECK(ndr_pull_align(ndr
, 5));
3901 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
3903 NDR_PULL_ALLOC(ndr
, r
->info
);
3907 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3909 if (ndr_flags
& NDR_BUFFERS
) {
3911 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3912 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
3913 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
3914 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
3917 return NDR_ERR_SUCCESS
;
3920 _PUBLIC_
void ndr_print_ExtendedErrorInfoPtr(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfoPtr
*r
)
3922 ndr_print_struct(ndr
, name
, "ExtendedErrorInfoPtr");
3924 ndr_print_ptr(ndr
, "info", r
->info
);
3927 ndr_print_ExtendedErrorInfo(ndr
, "info", r
->info
);
3933 static enum ndr_err_code
ndr_push_decode_replPropertyMetaData(struct ndr_push
*ndr
, int flags
, const struct decode_replPropertyMetaData
*r
)
3935 if (flags
& NDR_IN
) {
3936 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3938 if (flags
& NDR_OUT
) {
3940 return NDR_ERR_SUCCESS
;
3943 static enum ndr_err_code
ndr_pull_decode_replPropertyMetaData(struct ndr_pull
*ndr
, int flags
, struct decode_replPropertyMetaData
*r
)
3945 if (flags
& NDR_IN
) {
3946 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3948 if (flags
& NDR_OUT
) {
3950 return NDR_ERR_SUCCESS
;
3953 _PUBLIC_
void ndr_print_decode_replPropertyMetaData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replPropertyMetaData
*r
)
3955 ndr_print_struct(ndr
, name
, "decode_replPropertyMetaData");
3957 if (flags
& NDR_SET_VALUES
) {
3958 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
3960 if (flags
& NDR_IN
) {
3961 ndr_print_struct(ndr
, "in", "decode_replPropertyMetaData");
3963 ndr_print_replPropertyMetaDataBlob(ndr
, "blob", &r
->in
.blob
);
3966 if (flags
& NDR_OUT
) {
3967 ndr_print_struct(ndr
, "out", "decode_replPropertyMetaData");
3974 static enum ndr_err_code
ndr_push_decode_replUpToDateVector(struct ndr_push
*ndr
, int flags
, const struct decode_replUpToDateVector
*r
)
3976 if (flags
& NDR_IN
) {
3977 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3979 if (flags
& NDR_OUT
) {
3981 return NDR_ERR_SUCCESS
;
3984 static enum ndr_err_code
ndr_pull_decode_replUpToDateVector(struct ndr_pull
*ndr
, int flags
, struct decode_replUpToDateVector
*r
)
3986 if (flags
& NDR_IN
) {
3987 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
3989 if (flags
& NDR_OUT
) {
3991 return NDR_ERR_SUCCESS
;
3994 _PUBLIC_
void ndr_print_decode_replUpToDateVector(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replUpToDateVector
*r
)
3996 ndr_print_struct(ndr
, name
, "decode_replUpToDateVector");
3998 if (flags
& NDR_SET_VALUES
) {
3999 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4001 if (flags
& NDR_IN
) {
4002 ndr_print_struct(ndr
, "in", "decode_replUpToDateVector");
4004 ndr_print_replUpToDateVectorBlob(ndr
, "blob", &r
->in
.blob
);
4007 if (flags
& NDR_OUT
) {
4008 ndr_print_struct(ndr
, "out", "decode_replUpToDateVector");
4015 static enum ndr_err_code
ndr_push_decode_repsFromTo(struct ndr_push
*ndr
, int flags
, const struct decode_repsFromTo
*r
)
4017 if (flags
& NDR_IN
) {
4018 NDR_CHECK(ndr_push_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4020 if (flags
& NDR_OUT
) {
4022 return NDR_ERR_SUCCESS
;
4025 static enum ndr_err_code
ndr_pull_decode_repsFromTo(struct ndr_pull
*ndr
, int flags
, struct decode_repsFromTo
*r
)
4027 if (flags
& NDR_IN
) {
4028 NDR_CHECK(ndr_pull_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4030 if (flags
& NDR_OUT
) {
4032 return NDR_ERR_SUCCESS
;
4035 _PUBLIC_
void ndr_print_decode_repsFromTo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_repsFromTo
*r
)
4037 ndr_print_struct(ndr
, name
, "decode_repsFromTo");
4039 if (flags
& NDR_SET_VALUES
) {
4040 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4042 if (flags
& NDR_IN
) {
4043 ndr_print_struct(ndr
, "in", "decode_repsFromTo");
4045 ndr_print_repsFromToBlob(ndr
, "blob", &r
->in
.blob
);
4048 if (flags
& NDR_OUT
) {
4049 ndr_print_struct(ndr
, "out", "decode_repsFromTo");
4056 static enum ndr_err_code
ndr_push_decode_partialAttributeSet(struct ndr_push
*ndr
, int flags
, const struct decode_partialAttributeSet
*r
)
4058 if (flags
& NDR_IN
) {
4059 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4061 if (flags
& NDR_OUT
) {
4063 return NDR_ERR_SUCCESS
;
4066 static enum ndr_err_code
ndr_pull_decode_partialAttributeSet(struct ndr_pull
*ndr
, int flags
, struct decode_partialAttributeSet
*r
)
4068 if (flags
& NDR_IN
) {
4069 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4071 if (flags
& NDR_OUT
) {
4073 return NDR_ERR_SUCCESS
;
4076 _PUBLIC_
void ndr_print_decode_partialAttributeSet(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_partialAttributeSet
*r
)
4078 ndr_print_struct(ndr
, name
, "decode_partialAttributeSet");
4080 if (flags
& NDR_SET_VALUES
) {
4081 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4083 if (flags
& NDR_IN
) {
4084 ndr_print_struct(ndr
, "in", "decode_partialAttributeSet");
4086 ndr_print_partialAttributeSetBlob(ndr
, "blob", &r
->in
.blob
);
4089 if (flags
& NDR_OUT
) {
4090 ndr_print_struct(ndr
, "out", "decode_partialAttributeSet");
4097 static enum ndr_err_code
ndr_push_decode_prefixMap(struct ndr_push
*ndr
, int flags
, const struct decode_prefixMap
*r
)
4099 if (flags
& NDR_IN
) {
4100 NDR_CHECK(ndr_push_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4102 if (flags
& NDR_OUT
) {
4104 return NDR_ERR_SUCCESS
;
4107 static enum ndr_err_code
ndr_pull_decode_prefixMap(struct ndr_pull
*ndr
, int flags
, struct decode_prefixMap
*r
)
4109 if (flags
& NDR_IN
) {
4110 NDR_CHECK(ndr_pull_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4112 if (flags
& NDR_OUT
) {
4114 return NDR_ERR_SUCCESS
;
4117 _PUBLIC_
void ndr_print_decode_prefixMap(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_prefixMap
*r
)
4119 ndr_print_struct(ndr
, name
, "decode_prefixMap");
4121 if (flags
& NDR_SET_VALUES
) {
4122 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4124 if (flags
& NDR_IN
) {
4125 ndr_print_struct(ndr
, "in", "decode_prefixMap");
4127 ndr_print_prefixMapBlob(ndr
, "blob", &r
->in
.blob
);
4130 if (flags
& NDR_OUT
) {
4131 ndr_print_struct(ndr
, "out", "decode_prefixMap");
4138 static enum ndr_err_code
ndr_push_decode_ldapControlDirSync(struct ndr_push
*ndr
, int flags
, const struct decode_ldapControlDirSync
*r
)
4140 if (flags
& NDR_IN
) {
4141 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
4143 if (flags
& NDR_OUT
) {
4145 return NDR_ERR_SUCCESS
;
4148 static enum ndr_err_code
ndr_pull_decode_ldapControlDirSync(struct ndr_pull
*ndr
, int flags
, struct decode_ldapControlDirSync
*r
)
4150 if (flags
& NDR_IN
) {
4151 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
4153 if (flags
& NDR_OUT
) {
4155 return NDR_ERR_SUCCESS
;
4158 _PUBLIC_
void ndr_print_decode_ldapControlDirSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ldapControlDirSync
*r
)
4160 ndr_print_struct(ndr
, name
, "decode_ldapControlDirSync");
4162 if (flags
& NDR_SET_VALUES
) {
4163 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4165 if (flags
& NDR_IN
) {
4166 ndr_print_struct(ndr
, "in", "decode_ldapControlDirSync");
4168 ndr_print_ldapControlDirSyncCookie(ndr
, "cookie", &r
->in
.cookie
);
4171 if (flags
& NDR_OUT
) {
4172 ndr_print_struct(ndr
, "out", "decode_ldapControlDirSync");
4179 static enum ndr_err_code
ndr_push_decode_supplementalCredentials(struct ndr_push
*ndr
, int flags
, const struct decode_supplementalCredentials
*r
)
4181 if (flags
& NDR_IN
) {
4182 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4184 if (flags
& NDR_OUT
) {
4186 return NDR_ERR_SUCCESS
;
4189 static enum ndr_err_code
ndr_pull_decode_supplementalCredentials(struct ndr_pull
*ndr
, int flags
, struct decode_supplementalCredentials
*r
)
4191 if (flags
& NDR_IN
) {
4192 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4194 if (flags
& NDR_OUT
) {
4196 return NDR_ERR_SUCCESS
;
4199 _PUBLIC_
void ndr_print_decode_supplementalCredentials(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_supplementalCredentials
*r
)
4201 ndr_print_struct(ndr
, name
, "decode_supplementalCredentials");
4203 if (flags
& NDR_SET_VALUES
) {
4204 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4206 if (flags
& NDR_IN
) {
4207 ndr_print_struct(ndr
, "in", "decode_supplementalCredentials");
4209 ndr_print_supplementalCredentialsBlob(ndr
, "blob", &r
->in
.blob
);
4212 if (flags
& NDR_OUT
) {
4213 ndr_print_struct(ndr
, "out", "decode_supplementalCredentials");
4220 static enum ndr_err_code
ndr_push_decode_Packages(struct ndr_push
*ndr
, int flags
, const struct decode_Packages
*r
)
4222 if (flags
& NDR_IN
) {
4223 NDR_CHECK(ndr_push_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4225 if (flags
& NDR_OUT
) {
4227 return NDR_ERR_SUCCESS
;
4230 static enum ndr_err_code
ndr_pull_decode_Packages(struct ndr_pull
*ndr
, int flags
, struct decode_Packages
*r
)
4232 if (flags
& NDR_IN
) {
4233 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4235 if (flags
& NDR_OUT
) {
4237 return NDR_ERR_SUCCESS
;
4240 _PUBLIC_
void ndr_print_decode_Packages(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_Packages
*r
)
4242 ndr_print_struct(ndr
, name
, "decode_Packages");
4244 if (flags
& NDR_SET_VALUES
) {
4245 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4247 if (flags
& NDR_IN
) {
4248 ndr_print_struct(ndr
, "in", "decode_Packages");
4250 ndr_print_package_PackagesBlob(ndr
, "blob", &r
->in
.blob
);
4253 if (flags
& NDR_OUT
) {
4254 ndr_print_struct(ndr
, "out", "decode_Packages");
4261 static enum ndr_err_code
ndr_push_decode_PrimaryKerberos(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryKerberos
*r
)
4263 if (flags
& NDR_IN
) {
4264 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4266 if (flags
& NDR_OUT
) {
4268 return NDR_ERR_SUCCESS
;
4271 static enum ndr_err_code
ndr_pull_decode_PrimaryKerberos(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryKerberos
*r
)
4273 if (flags
& NDR_IN
) {
4274 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4276 if (flags
& NDR_OUT
) {
4278 return NDR_ERR_SUCCESS
;
4281 _PUBLIC_
void ndr_print_decode_PrimaryKerberos(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryKerberos
*r
)
4283 ndr_print_struct(ndr
, name
, "decode_PrimaryKerberos");
4285 if (flags
& NDR_SET_VALUES
) {
4286 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4288 if (flags
& NDR_IN
) {
4289 ndr_print_struct(ndr
, "in", "decode_PrimaryKerberos");
4291 ndr_print_package_PrimaryKerberosBlob(ndr
, "blob", &r
->in
.blob
);
4294 if (flags
& NDR_OUT
) {
4295 ndr_print_struct(ndr
, "out", "decode_PrimaryKerberos");
4302 static enum ndr_err_code
ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
4304 if (flags
& NDR_IN
) {
4305 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4307 if (flags
& NDR_OUT
) {
4309 return NDR_ERR_SUCCESS
;
4312 static enum ndr_err_code
ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryCLEARTEXT
*r
)
4314 if (flags
& NDR_IN
) {
4315 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4317 if (flags
& NDR_OUT
) {
4319 return NDR_ERR_SUCCESS
;
4322 _PUBLIC_
void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
4324 ndr_print_struct(ndr
, name
, "decode_PrimaryCLEARTEXT");
4326 if (flags
& NDR_SET_VALUES
) {
4327 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4329 if (flags
& NDR_IN
) {
4330 ndr_print_struct(ndr
, "in", "decode_PrimaryCLEARTEXT");
4332 ndr_print_package_PrimaryCLEARTEXTBlob(ndr
, "blob", &r
->in
.blob
);
4335 if (flags
& NDR_OUT
) {
4336 ndr_print_struct(ndr
, "out", "decode_PrimaryCLEARTEXT");
4343 static enum ndr_err_code
ndr_push_decode_PrimaryWDigest(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryWDigest
*r
)
4345 if (flags
& NDR_IN
) {
4346 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4348 if (flags
& NDR_OUT
) {
4350 return NDR_ERR_SUCCESS
;
4353 static enum ndr_err_code
ndr_pull_decode_PrimaryWDigest(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryWDigest
*r
)
4355 if (flags
& NDR_IN
) {
4356 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4358 if (flags
& NDR_OUT
) {
4360 return NDR_ERR_SUCCESS
;
4363 _PUBLIC_
void ndr_print_decode_PrimaryWDigest(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryWDigest
*r
)
4365 ndr_print_struct(ndr
, name
, "decode_PrimaryWDigest");
4367 if (flags
& NDR_SET_VALUES
) {
4368 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4370 if (flags
& NDR_IN
) {
4371 ndr_print_struct(ndr
, "in", "decode_PrimaryWDigest");
4373 ndr_print_package_PrimaryWDigestBlob(ndr
, "blob", &r
->in
.blob
);
4376 if (flags
& NDR_OUT
) {
4377 ndr_print_struct(ndr
, "out", "decode_PrimaryWDigest");
4384 static enum ndr_err_code
ndr_push_decode_trustAuthInOut(struct ndr_push
*ndr
, int flags
, const struct decode_trustAuthInOut
*r
)
4386 if (flags
& NDR_IN
) {
4387 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4389 if (flags
& NDR_OUT
) {
4391 return NDR_ERR_SUCCESS
;
4394 static enum ndr_err_code
ndr_pull_decode_trustAuthInOut(struct ndr_pull
*ndr
, int flags
, struct decode_trustAuthInOut
*r
)
4396 if (flags
& NDR_IN
) {
4397 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4399 if (flags
& NDR_OUT
) {
4401 return NDR_ERR_SUCCESS
;
4404 _PUBLIC_
void ndr_print_decode_trustAuthInOut(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustAuthInOut
*r
)
4406 ndr_print_struct(ndr
, name
, "decode_trustAuthInOut");
4408 if (flags
& NDR_SET_VALUES
) {
4409 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4411 if (flags
& NDR_IN
) {
4412 ndr_print_struct(ndr
, "in", "decode_trustAuthInOut");
4414 ndr_print_trustAuthInOutBlob(ndr
, "blob", &r
->in
.blob
);
4417 if (flags
& NDR_OUT
) {
4418 ndr_print_struct(ndr
, "out", "decode_trustAuthInOut");
4425 static enum ndr_err_code
ndr_push_decode_trustDomainPasswords(struct ndr_push
*ndr
, int flags
, const struct decode_trustDomainPasswords
*r
)
4427 if (flags
& NDR_IN
) {
4428 NDR_CHECK(ndr_push_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4430 if (flags
& NDR_OUT
) {
4432 return NDR_ERR_SUCCESS
;
4435 static enum ndr_err_code
ndr_pull_decode_trustDomainPasswords(struct ndr_pull
*ndr
, int flags
, struct decode_trustDomainPasswords
*r
)
4437 if (flags
& NDR_IN
) {
4438 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4440 if (flags
& NDR_OUT
) {
4442 return NDR_ERR_SUCCESS
;
4445 _PUBLIC_
void ndr_print_decode_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustDomainPasswords
*r
)
4447 ndr_print_struct(ndr
, name
, "decode_trustDomainPasswords");
4449 if (flags
& NDR_SET_VALUES
) {
4450 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4452 if (flags
& NDR_IN
) {
4453 ndr_print_struct(ndr
, "in", "decode_trustDomainPasswords");
4455 ndr_print_trustDomainPasswords(ndr
, "blob", &r
->in
.blob
);
4458 if (flags
& NDR_OUT
) {
4459 ndr_print_struct(ndr
, "out", "decode_trustDomainPasswords");
4466 static enum ndr_err_code
ndr_push_decode_ExtendedErrorInfo(struct ndr_push
*ndr
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
4468 if (flags
& NDR_IN
) {
4470 struct ndr_push
*_ndr_ptr
;
4471 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
4472 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
4473 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
4476 if (flags
& NDR_OUT
) {
4478 return NDR_ERR_SUCCESS
;
4481 static enum ndr_err_code
ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull
*ndr
, int flags
, struct decode_ExtendedErrorInfo
*r
)
4483 if (flags
& NDR_IN
) {
4485 struct ndr_pull
*_ndr_ptr
;
4486 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
4487 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
4488 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
4491 if (flags
& NDR_OUT
) {
4493 return NDR_ERR_SUCCESS
;
4496 _PUBLIC_
void ndr_print_decode_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
4498 ndr_print_struct(ndr
, name
, "decode_ExtendedErrorInfo");
4500 if (flags
& NDR_SET_VALUES
) {
4501 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4503 if (flags
& NDR_IN
) {
4504 ndr_print_struct(ndr
, "in", "decode_ExtendedErrorInfo");
4506 ndr_print_ExtendedErrorInfoPtr(ndr
, "ptr", &r
->in
.ptr
);
4509 if (flags
& NDR_OUT
) {
4510 ndr_print_struct(ndr
, "out", "decode_ExtendedErrorInfo");
4517 static const struct ndr_interface_call drsblobs_calls
[] = {
4519 "decode_replPropertyMetaData",
4520 sizeof(struct decode_replPropertyMetaData
),
4521 (ndr_push_flags_fn_t
) ndr_push_decode_replPropertyMetaData
,
4522 (ndr_pull_flags_fn_t
) ndr_pull_decode_replPropertyMetaData
,
4523 (ndr_print_function_t
) ndr_print_decode_replPropertyMetaData
,
4527 "decode_replUpToDateVector",
4528 sizeof(struct decode_replUpToDateVector
),
4529 (ndr_push_flags_fn_t
) ndr_push_decode_replUpToDateVector
,
4530 (ndr_pull_flags_fn_t
) ndr_pull_decode_replUpToDateVector
,
4531 (ndr_print_function_t
) ndr_print_decode_replUpToDateVector
,
4535 "decode_repsFromTo",
4536 sizeof(struct decode_repsFromTo
),
4537 (ndr_push_flags_fn_t
) ndr_push_decode_repsFromTo
,
4538 (ndr_pull_flags_fn_t
) ndr_pull_decode_repsFromTo
,
4539 (ndr_print_function_t
) ndr_print_decode_repsFromTo
,
4543 "decode_partialAttributeSet",
4544 sizeof(struct decode_partialAttributeSet
),
4545 (ndr_push_flags_fn_t
) ndr_push_decode_partialAttributeSet
,
4546 (ndr_pull_flags_fn_t
) ndr_pull_decode_partialAttributeSet
,
4547 (ndr_print_function_t
) ndr_print_decode_partialAttributeSet
,
4552 sizeof(struct decode_prefixMap
),
4553 (ndr_push_flags_fn_t
) ndr_push_decode_prefixMap
,
4554 (ndr_pull_flags_fn_t
) ndr_pull_decode_prefixMap
,
4555 (ndr_print_function_t
) ndr_print_decode_prefixMap
,
4559 "decode_ldapControlDirSync",
4560 sizeof(struct decode_ldapControlDirSync
),
4561 (ndr_push_flags_fn_t
) ndr_push_decode_ldapControlDirSync
,
4562 (ndr_pull_flags_fn_t
) ndr_pull_decode_ldapControlDirSync
,
4563 (ndr_print_function_t
) ndr_print_decode_ldapControlDirSync
,
4567 "decode_supplementalCredentials",
4568 sizeof(struct decode_supplementalCredentials
),
4569 (ndr_push_flags_fn_t
) ndr_push_decode_supplementalCredentials
,
4570 (ndr_pull_flags_fn_t
) ndr_pull_decode_supplementalCredentials
,
4571 (ndr_print_function_t
) ndr_print_decode_supplementalCredentials
,
4576 sizeof(struct decode_Packages
),
4577 (ndr_push_flags_fn_t
) ndr_push_decode_Packages
,
4578 (ndr_pull_flags_fn_t
) ndr_pull_decode_Packages
,
4579 (ndr_print_function_t
) ndr_print_decode_Packages
,
4583 "decode_PrimaryKerberos",
4584 sizeof(struct decode_PrimaryKerberos
),
4585 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryKerberos
,
4586 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryKerberos
,
4587 (ndr_print_function_t
) ndr_print_decode_PrimaryKerberos
,
4591 "decode_PrimaryCLEARTEXT",
4592 sizeof(struct decode_PrimaryCLEARTEXT
),
4593 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryCLEARTEXT
,
4594 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryCLEARTEXT
,
4595 (ndr_print_function_t
) ndr_print_decode_PrimaryCLEARTEXT
,
4599 "decode_PrimaryWDigest",
4600 sizeof(struct decode_PrimaryWDigest
),
4601 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryWDigest
,
4602 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryWDigest
,
4603 (ndr_print_function_t
) ndr_print_decode_PrimaryWDigest
,
4607 "decode_trustAuthInOut",
4608 sizeof(struct decode_trustAuthInOut
),
4609 (ndr_push_flags_fn_t
) ndr_push_decode_trustAuthInOut
,
4610 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustAuthInOut
,
4611 (ndr_print_function_t
) ndr_print_decode_trustAuthInOut
,
4615 "decode_trustDomainPasswords",
4616 sizeof(struct decode_trustDomainPasswords
),
4617 (ndr_push_flags_fn_t
) ndr_push_decode_trustDomainPasswords
,
4618 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustDomainPasswords
,
4619 (ndr_print_function_t
) ndr_print_decode_trustDomainPasswords
,
4623 "decode_ExtendedErrorInfo",
4624 sizeof(struct decode_ExtendedErrorInfo
),
4625 (ndr_push_flags_fn_t
) ndr_push_decode_ExtendedErrorInfo
,
4626 (ndr_pull_flags_fn_t
) ndr_pull_decode_ExtendedErrorInfo
,
4627 (ndr_print_function_t
) ndr_print_decode_ExtendedErrorInfo
,
4630 { NULL
, 0, NULL
, NULL
, NULL
, false }
4633 static const char * const drsblobs_endpoint_strings
[] = {
4634 "ncacn_np:[\\pipe\\drsblobs]",
4637 static const struct ndr_interface_string_array drsblobs_endpoints
= {
4639 .names
= drsblobs_endpoint_strings
4642 static const char * const drsblobs_authservice_strings
[] = {
4646 static const struct ndr_interface_string_array drsblobs_authservices
= {
4648 .names
= drsblobs_authservice_strings
4652 const struct ndr_interface_table ndr_table_drsblobs
= {
4655 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
4656 NDR_DRSBLOBS_VERSION
4658 .helpstring
= NDR_DRSBLOBS_HELPSTRING
,
4660 .calls
= drsblobs_calls
,
4661 .endpoints
= &drsblobs_endpoints
,
4662 .authservices
= &drsblobs_authservices