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 #include "librpc/gen_ndr/ndr_security.h"
11 static enum ndr_err_code
ndr_push_replPropertyMetaData1(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaData1
*r
)
13 if (ndr_flags
& NDR_SCALARS
) {
14 NDR_CHECK(ndr_push_align(ndr
, 8));
15 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
16 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
17 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
18 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
19 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
20 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
21 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
23 if (ndr_flags
& NDR_BUFFERS
) {
25 return NDR_ERR_SUCCESS
;
28 static enum ndr_err_code
ndr_pull_replPropertyMetaData1(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaData1
*r
)
30 if (ndr_flags
& NDR_SCALARS
) {
31 NDR_CHECK(ndr_pull_align(ndr
, 8));
32 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
33 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
34 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
35 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
36 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
37 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
38 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
40 if (ndr_flags
& NDR_BUFFERS
) {
42 return NDR_ERR_SUCCESS
;
45 _PUBLIC_
void ndr_print_replPropertyMetaData1(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaData1
*r
)
47 ndr_print_struct(ndr
, name
, "replPropertyMetaData1");
49 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
50 ndr_print_uint32(ndr
, "version", r
->version
);
51 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
52 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
53 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
54 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
58 static enum ndr_err_code
ndr_push_replPropertyMetaDataCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaDataCtr1
*r
)
60 uint32_t cntr_array_0
;
61 if (ndr_flags
& NDR_SCALARS
) {
62 NDR_CHECK(ndr_push_align(ndr
, 8));
63 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
64 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
65 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
66 NDR_CHECK(ndr_push_replPropertyMetaData1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
68 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
70 if (ndr_flags
& NDR_BUFFERS
) {
72 return NDR_ERR_SUCCESS
;
75 static enum ndr_err_code
ndr_pull_replPropertyMetaDataCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaDataCtr1
*r
)
77 uint32_t cntr_array_0
;
78 TALLOC_CTX
*_mem_save_array_0
;
79 if (ndr_flags
& NDR_SCALARS
) {
80 NDR_CHECK(ndr_pull_align(ndr
, 8));
81 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
82 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
83 NDR_PULL_ALLOC_N(ndr
, r
->array
, r
->count
);
84 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
85 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
86 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
87 NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
89 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
90 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
92 if (ndr_flags
& NDR_BUFFERS
) {
94 return NDR_ERR_SUCCESS
;
97 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr1(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataCtr1
*r
)
99 uint32_t cntr_array_0
;
100 ndr_print_struct(ndr
, name
, "replPropertyMetaDataCtr1");
102 ndr_print_uint32(ndr
, "count", r
->count
);
103 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
104 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
106 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
108 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
109 ndr_print_replPropertyMetaData1(ndr
, "array", &r
->array
[cntr_array_0
]);
117 static enum ndr_err_code
ndr_push_replPropertyMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replPropertyMetaDataCtr
*r
)
119 if (ndr_flags
& NDR_SCALARS
) {
120 int level
= ndr_push_get_switch_value(ndr
, r
);
121 NDR_CHECK(ndr_push_union_align(ndr
, 8));
124 NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
128 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
131 if (ndr_flags
& NDR_BUFFERS
) {
132 int level
= ndr_push_get_switch_value(ndr
, r
);
138 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
141 return NDR_ERR_SUCCESS
;
144 static enum ndr_err_code
ndr_pull_replPropertyMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replPropertyMetaDataCtr
*r
)
147 level
= ndr_pull_get_switch_value(ndr
, r
);
148 if (ndr_flags
& NDR_SCALARS
) {
149 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
152 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
156 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
159 if (ndr_flags
& NDR_BUFFERS
) {
165 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
168 return NDR_ERR_SUCCESS
;
171 _PUBLIC_
void ndr_print_replPropertyMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const union replPropertyMetaDataCtr
*r
)
174 level
= ndr_print_get_switch_value(ndr
, r
);
175 ndr_print_union(ndr
, name
, level
, "replPropertyMetaDataCtr");
178 ndr_print_replPropertyMetaDataCtr1(ndr
, "ctr1", &r
->ctr1
);
182 ndr_print_bad_level(ndr
, name
, level
);
186 _PUBLIC_
enum ndr_err_code
ndr_push_replPropertyMetaDataBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replPropertyMetaDataBlob
*r
)
188 if (ndr_flags
& NDR_SCALARS
) {
189 NDR_CHECK(ndr_push_align(ndr
, 8));
190 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
191 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
192 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
193 NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
194 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
196 if (ndr_flags
& NDR_BUFFERS
) {
198 return NDR_ERR_SUCCESS
;
201 _PUBLIC_
enum ndr_err_code
ndr_pull_replPropertyMetaDataBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replPropertyMetaDataBlob
*r
)
203 if (ndr_flags
& NDR_SCALARS
) {
204 NDR_CHECK(ndr_pull_align(ndr
, 8));
205 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
206 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
207 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
208 NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
209 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
211 if (ndr_flags
& NDR_BUFFERS
) {
213 return NDR_ERR_SUCCESS
;
216 _PUBLIC_
void ndr_print_replPropertyMetaDataBlob(struct ndr_print
*ndr
, const char *name
, const struct replPropertyMetaDataBlob
*r
)
218 ndr_print_struct(ndr
, name
, "replPropertyMetaDataBlob");
220 ndr_print_uint32(ndr
, "version", r
->version
);
221 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
222 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
223 ndr_print_replPropertyMetaDataCtr(ndr
, "ctr", &r
->ctr
);
227 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr1
*r
)
229 uint32_t cntr_cursors_0
;
230 if (ndr_flags
& NDR_SCALARS
) {
231 NDR_CHECK(ndr_push_align(ndr
, 8));
232 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
233 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
234 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
235 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
237 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
239 if (ndr_flags
& NDR_BUFFERS
) {
241 return NDR_ERR_SUCCESS
;
244 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr1
*r
)
246 uint32_t cntr_cursors_0
;
247 TALLOC_CTX
*_mem_save_cursors_0
;
248 if (ndr_flags
& NDR_SCALARS
) {
249 NDR_CHECK(ndr_pull_align(ndr
, 8));
250 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
251 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
252 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, r
->count
);
253 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
254 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
255 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
258 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
259 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
261 if (ndr_flags
& NDR_BUFFERS
) {
263 return NDR_ERR_SUCCESS
;
266 _PUBLIC_
void ndr_print_replUpToDateVectorCtr1(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr1
*r
)
268 uint32_t cntr_cursors_0
;
269 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr1");
271 ndr_print_uint32(ndr
, "count", r
->count
);
272 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
273 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
275 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
277 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
278 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
286 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorCtr2
*r
)
288 uint32_t cntr_cursors_0
;
289 if (ndr_flags
& NDR_SCALARS
) {
290 NDR_CHECK(ndr_push_align(ndr
, 8));
291 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
292 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
293 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
294 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
296 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
298 if (ndr_flags
& NDR_BUFFERS
) {
300 return NDR_ERR_SUCCESS
;
303 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorCtr2
*r
)
305 uint32_t cntr_cursors_0
;
306 TALLOC_CTX
*_mem_save_cursors_0
;
307 if (ndr_flags
& NDR_SCALARS
) {
308 NDR_CHECK(ndr_pull_align(ndr
, 8));
309 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
310 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
311 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, r
->count
);
312 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
313 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
314 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
315 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
317 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
318 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
320 if (ndr_flags
& NDR_BUFFERS
) {
322 return NDR_ERR_SUCCESS
;
325 _PUBLIC_
void ndr_print_replUpToDateVectorCtr2(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorCtr2
*r
)
327 uint32_t cntr_cursors_0
;
328 ndr_print_struct(ndr
, name
, "replUpToDateVectorCtr2");
330 ndr_print_uint32(ndr
, "count", r
->count
);
331 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
332 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
334 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
336 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
337 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
345 static enum ndr_err_code
ndr_push_replUpToDateVectorCtr(struct ndr_push
*ndr
, int ndr_flags
, const union replUpToDateVectorCtr
*r
)
347 if (ndr_flags
& NDR_SCALARS
) {
348 int level
= ndr_push_get_switch_value(ndr
, r
);
349 NDR_CHECK(ndr_push_union_align(ndr
, 8));
352 NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
356 NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
360 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
363 if (ndr_flags
& NDR_BUFFERS
) {
364 int level
= ndr_push_get_switch_value(ndr
, r
);
373 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
376 return NDR_ERR_SUCCESS
;
379 static enum ndr_err_code
ndr_pull_replUpToDateVectorCtr(struct ndr_pull
*ndr
, int ndr_flags
, union replUpToDateVectorCtr
*r
)
382 level
= ndr_pull_get_switch_value(ndr
, r
);
383 if (ndr_flags
& NDR_SCALARS
) {
384 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
387 NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
391 NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
395 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
398 if (ndr_flags
& NDR_BUFFERS
) {
407 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
410 return NDR_ERR_SUCCESS
;
413 _PUBLIC_
void ndr_print_replUpToDateVectorCtr(struct ndr_print
*ndr
, const char *name
, const union replUpToDateVectorCtr
*r
)
416 level
= ndr_print_get_switch_value(ndr
, r
);
417 ndr_print_union(ndr
, name
, level
, "replUpToDateVectorCtr");
420 ndr_print_replUpToDateVectorCtr1(ndr
, "ctr1", &r
->ctr1
);
424 ndr_print_replUpToDateVectorCtr2(ndr
, "ctr2", &r
->ctr2
);
428 ndr_print_bad_level(ndr
, name
, level
);
432 _PUBLIC_
enum ndr_err_code
ndr_push_replUpToDateVectorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct replUpToDateVectorBlob
*r
)
434 if (ndr_flags
& NDR_SCALARS
) {
435 NDR_CHECK(ndr_push_align(ndr
, 8));
436 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
437 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
438 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
439 NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
440 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
442 if (ndr_flags
& NDR_BUFFERS
) {
444 return NDR_ERR_SUCCESS
;
447 _PUBLIC_
enum ndr_err_code
ndr_pull_replUpToDateVectorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct replUpToDateVectorBlob
*r
)
449 if (ndr_flags
& NDR_SCALARS
) {
450 NDR_CHECK(ndr_pull_align(ndr
, 8));
451 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
452 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
453 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
454 NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
455 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
457 if (ndr_flags
& NDR_BUFFERS
) {
459 return NDR_ERR_SUCCESS
;
462 _PUBLIC_
void ndr_print_replUpToDateVectorBlob(struct ndr_print
*ndr
, const char *name
, const struct replUpToDateVectorBlob
*r
)
464 ndr_print_struct(ndr
, name
, "replUpToDateVectorBlob");
466 ndr_print_uint32(ndr
, "version", r
->version
);
467 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
468 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
469 ndr_print_replUpToDateVectorCtr(ndr
, "ctr", &r
->ctr
);
473 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1OtherInfo
*r
)
475 if (ndr_flags
& NDR_SCALARS
) {
476 NDR_CHECK(ndr_push_align(ndr
, 4));
477 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen(r
->dns_name
) + 1));
478 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, strlen(r
->dns_name
) + 1, sizeof(uint8_t), CH_DOS
));
479 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
481 if (ndr_flags
& NDR_BUFFERS
) {
483 return NDR_ERR_SUCCESS
;
486 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1OtherInfo
*r
)
488 if (ndr_flags
& NDR_SCALARS
) {
489 NDR_CHECK(ndr_pull_align(ndr
, 4));
490 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__dns_name_size
));
491 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, r
->__dns_name_size
, sizeof(uint8_t), CH_DOS
));
492 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
494 if (ndr_flags
& NDR_BUFFERS
) {
496 return NDR_ERR_SUCCESS
;
499 _PUBLIC_
void ndr_print_repsFromTo1OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1OtherInfo
*r
)
501 ndr_print_struct(ndr
, name
, "repsFromTo1OtherInfo");
503 ndr_print_uint32(ndr
, "__dns_name_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->dns_name
) + 1:r
->__dns_name_size
);
504 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
508 _PUBLIC_
size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
510 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1OtherInfo
, ic
);
513 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo1(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo1
*r
)
516 uint32_t _flags_save_STRUCT
= ndr
->flags
;
517 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
518 if (ndr_flags
& NDR_SCALARS
) {
519 NDR_CHECK(ndr_push_align(ndr
, 8));
520 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
521 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
522 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
523 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
524 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
525 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
526 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo1OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
527 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
528 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
529 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
530 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
531 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
532 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
533 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
534 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
536 if (ndr_flags
& NDR_BUFFERS
) {
538 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->other_info
));
539 NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
540 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->other_info
));
543 ndr
->flags
= _flags_save_STRUCT
;
545 return NDR_ERR_SUCCESS
;
548 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo1(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo1
*r
)
550 uint32_t _ptr_other_info
;
551 TALLOC_CTX
*_mem_save_other_info_0
;
553 uint32_t _flags_save_STRUCT
= ndr
->flags
;
554 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
555 if (ndr_flags
& NDR_SCALARS
) {
556 NDR_CHECK(ndr_pull_align(ndr
, 8));
557 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
558 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
559 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
560 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
561 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
562 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
563 if (_ptr_other_info
) {
564 NDR_PULL_ALLOC(ndr
, r
->other_info
);
565 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
567 r
->other_info
= NULL
;
569 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
570 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
571 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
572 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
573 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
574 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
575 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
576 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
577 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
579 if (ndr_flags
& NDR_BUFFERS
) {
581 uint32_t _relative_save_offset
;
582 _relative_save_offset
= ndr
->offset
;
583 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
584 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
585 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
586 NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr
, NDR_SCALARS
, r
->other_info
));
587 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
588 if (ndr
->offset
> ndr
->relative_highest_offset
) {
589 ndr
->relative_highest_offset
= ndr
->offset
;
591 ndr
->offset
= _relative_save_offset
;
594 ndr
->flags
= _flags_save_STRUCT
;
596 return NDR_ERR_SUCCESS
;
599 _PUBLIC_
void ndr_print_repsFromTo1(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo1
*r
)
601 ndr_print_struct(ndr
, name
, "repsFromTo1");
603 uint32_t _flags_save_STRUCT
= ndr
->flags
;
604 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
606 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
607 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
608 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
609 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
610 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
611 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
614 ndr_print_repsFromTo1OtherInfo(ndr
, "other_info", r
->other_info
);
617 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
);
618 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
619 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
620 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
621 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
622 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
623 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
624 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
626 ndr
->flags
= _flags_save_STRUCT
;
630 _PUBLIC_
size_t ndr_size_repsFromTo1(const struct repsFromTo1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
632 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
633 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo1
, ic
);
636 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo2OtherInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo2OtherInfo
*r
)
638 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
639 if (ndr_flags
& NDR_SCALARS
) {
640 NDR_CHECK(ndr_push_align(ndr
, 8));
641 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
642 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2OtherInfo(r
, ndr
->iconv_convenience
, ndr
->flags
)));
644 uint32_t _flags_save_string
= ndr
->flags
;
645 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
646 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->dns_name1
));
647 ndr
->flags
= _flags_save_string
;
649 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
651 uint32_t _flags_save_string
= ndr
->flags
;
652 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
653 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->dns_name2
));
654 ndr
->flags
= _flags_save_string
;
656 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown2
));
657 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
659 if (ndr_flags
& NDR_BUFFERS
) {
660 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
662 uint32_t _flags_save_string
= ndr
->flags
;
663 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
665 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->dns_name1
));
666 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->dns_name1
));
667 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->dns_name1
));
669 ndr
->flags
= _flags_save_string
;
672 uint32_t _flags_save_string
= ndr
->flags
;
673 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
675 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->dns_name2
));
676 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->dns_name2
));
677 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->dns_name2
));
679 ndr
->flags
= _flags_save_string
;
682 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
683 return NDR_ERR_SUCCESS
;
686 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo2OtherInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo2OtherInfo
*r
)
688 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
689 uint32_t _ptr_dns_name1
;
690 TALLOC_CTX
*_mem_save_dns_name1_0
;
691 uint32_t _ptr_dns_name2
;
692 TALLOC_CTX
*_mem_save_dns_name2_0
;
693 if (ndr_flags
& NDR_SCALARS
) {
694 NDR_CHECK(ndr_pull_align(ndr
, 8));
695 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
696 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
698 uint32_t _flags_save_string
= ndr
->flags
;
699 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
700 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name1
));
701 if (_ptr_dns_name1
) {
702 NDR_PULL_ALLOC(ndr
, r
->dns_name1
);
703 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->dns_name1
, _ptr_dns_name1
));
707 ndr
->flags
= _flags_save_string
;
709 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
711 uint32_t _flags_save_string
= ndr
->flags
;
712 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
713 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name2
));
714 if (_ptr_dns_name2
) {
715 NDR_PULL_ALLOC(ndr
, r
->dns_name2
);
716 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->dns_name2
, _ptr_dns_name2
));
720 ndr
->flags
= _flags_save_string
;
722 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown2
));
723 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
725 if (ndr_flags
& NDR_BUFFERS
) {
726 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
728 uint32_t _flags_save_string
= ndr
->flags
;
729 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
731 uint32_t _relative_save_offset
;
732 _relative_save_offset
= ndr
->offset
;
733 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->dns_name1
));
734 _mem_save_dns_name1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
735 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name1
, 0);
736 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->dns_name1
));
737 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name1_0
, 0);
738 if (ndr
->offset
> ndr
->relative_highest_offset
) {
739 ndr
->relative_highest_offset
= ndr
->offset
;
741 ndr
->offset
= _relative_save_offset
;
743 ndr
->flags
= _flags_save_string
;
746 uint32_t _flags_save_string
= ndr
->flags
;
747 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NULLTERM
);
749 uint32_t _relative_save_offset
;
750 _relative_save_offset
= ndr
->offset
;
751 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->dns_name2
));
752 _mem_save_dns_name2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
753 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name2
, 0);
754 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->dns_name2
));
755 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name2_0
, 0);
756 if (ndr
->offset
> ndr
->relative_highest_offset
) {
757 ndr
->relative_highest_offset
= ndr
->offset
;
759 ndr
->offset
= _relative_save_offset
;
761 ndr
->flags
= _flags_save_string
;
764 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
765 return NDR_ERR_SUCCESS
;
768 _PUBLIC_
void ndr_print_repsFromTo2OtherInfo(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo2OtherInfo
*r
)
770 ndr_print_struct(ndr
, name
, "repsFromTo2OtherInfo");
772 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2OtherInfo(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
773 ndr_print_ptr(ndr
, "dns_name1", r
->dns_name1
);
776 ndr_print_string(ndr
, "dns_name1", r
->dns_name1
);
779 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
780 ndr_print_ptr(ndr
, "dns_name2", r
->dns_name2
);
783 ndr_print_string(ndr
, "dns_name2", r
->dns_name2
);
786 ndr_print_hyper(ndr
, "unknown2", r
->unknown2
);
790 _PUBLIC_
size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo
*r
, struct smb_iconv_convenience
*ic
, int flags
)
792 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo2OtherInfo
, ic
);
795 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromTo2(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromTo2
*r
)
798 uint32_t _flags_save_STRUCT
= ndr
->flags
;
799 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
800 if (ndr_flags
& NDR_SCALARS
) {
801 NDR_CHECK(ndr_push_align(ndr
, 8));
802 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8));
803 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
804 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_success
));
805 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->last_attempt
));
806 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
807 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->other_info
));
808 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_repsFromTo2OtherInfo(r
->other_info
, ndr
->iconv_convenience
, ndr
->flags
)));
809 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
810 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
811 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
812 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
813 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
814 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
815 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
816 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
817 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
819 if (ndr_flags
& NDR_BUFFERS
) {
821 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->other_info
));
822 NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->other_info
));
823 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->other_info
));
826 ndr
->flags
= _flags_save_STRUCT
;
828 return NDR_ERR_SUCCESS
;
831 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromTo2(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromTo2
*r
)
833 uint32_t _ptr_other_info
;
834 TALLOC_CTX
*_mem_save_other_info_0
;
836 uint32_t _flags_save_STRUCT
= ndr
->flags
;
837 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
838 if (ndr_flags
& NDR_SCALARS
) {
839 NDR_CHECK(ndr_pull_align(ndr
, 8));
840 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blobsize
));
841 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
842 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_success
));
843 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->last_attempt
));
844 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
845 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_other_info
));
846 if (_ptr_other_info
) {
847 NDR_PULL_ALLOC(ndr
, r
->other_info
);
848 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->other_info
, _ptr_other_info
));
850 r
->other_info
= NULL
;
852 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->other_info_length
));
853 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
854 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
855 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
856 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
857 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
858 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
859 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_guid
));
860 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
861 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
863 if (ndr_flags
& NDR_BUFFERS
) {
865 uint32_t _relative_save_offset
;
866 _relative_save_offset
= ndr
->offset
;
867 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->other_info
));
868 _mem_save_other_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
869 NDR_PULL_SET_MEM_CTX(ndr
, r
->other_info
, 0);
870 NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->other_info
));
871 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_other_info_0
, 0);
872 if (ndr
->offset
> ndr
->relative_highest_offset
) {
873 ndr
->relative_highest_offset
= ndr
->offset
;
875 ndr
->offset
= _relative_save_offset
;
878 ndr
->flags
= _flags_save_STRUCT
;
880 return NDR_ERR_SUCCESS
;
883 _PUBLIC_
void ndr_print_repsFromTo2(struct ndr_print
*ndr
, const char *name
, const struct repsFromTo2
*r
)
885 ndr_print_struct(ndr
, name
, "repsFromTo2");
887 uint32_t _flags_save_STRUCT
= ndr
->flags
;
888 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
890 ndr_print_uint32(ndr
, "blobsize", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_repsFromTo2(r
, ndr
->iconv_convenience
, ndr
->flags
) + 8:r
->blobsize
);
891 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
892 ndr_print_NTTIME_1sec(ndr
, "last_success", r
->last_success
);
893 ndr_print_NTTIME_1sec(ndr
, "last_attempt", r
->last_attempt
);
894 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
895 ndr_print_ptr(ndr
, "other_info", r
->other_info
);
898 ndr_print_repsFromTo2OtherInfo(ndr
, "other_info", r
->other_info
);
901 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
);
902 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
903 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
904 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
905 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
906 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
907 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
908 ndr_print_GUID(ndr
, "transport_guid", &r
->transport_guid
);
909 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
911 ndr
->flags
= _flags_save_STRUCT
;
915 _PUBLIC_
size_t ndr_size_repsFromTo2(const struct repsFromTo2
*r
, struct smb_iconv_convenience
*ic
, int flags
)
917 flags
|= LIBNDR_PRINT_ARRAY_HEX
;
918 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_repsFromTo2
, ic
);
921 static enum ndr_err_code
ndr_push_repsFromTo(struct ndr_push
*ndr
, int ndr_flags
, const union repsFromTo
*r
)
923 if (ndr_flags
& NDR_SCALARS
) {
924 int level
= ndr_push_get_switch_value(ndr
, r
);
925 NDR_CHECK(ndr_push_union_align(ndr
, 8));
928 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
932 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
936 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
939 if (ndr_flags
& NDR_BUFFERS
) {
940 int level
= ndr_push_get_switch_value(ndr
, r
);
943 NDR_CHECK(ndr_push_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
947 NDR_CHECK(ndr_push_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
951 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
954 return NDR_ERR_SUCCESS
;
957 static enum ndr_err_code
ndr_pull_repsFromTo(struct ndr_pull
*ndr
, int ndr_flags
, union repsFromTo
*r
)
960 level
= ndr_pull_get_switch_value(ndr
, r
);
961 if (ndr_flags
& NDR_SCALARS
) {
962 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
965 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_SCALARS
, &r
->ctr1
));
969 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_SCALARS
, &r
->ctr2
));
973 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
976 if (ndr_flags
& NDR_BUFFERS
) {
979 NDR_CHECK(ndr_pull_repsFromTo1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
983 NDR_CHECK(ndr_pull_repsFromTo2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
987 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
990 return NDR_ERR_SUCCESS
;
993 _PUBLIC_
void ndr_print_repsFromTo(struct ndr_print
*ndr
, const char *name
, const union repsFromTo
*r
)
996 level
= ndr_print_get_switch_value(ndr
, r
);
997 ndr_print_union(ndr
, name
, level
, "repsFromTo");
1000 ndr_print_repsFromTo1(ndr
, "ctr1", &r
->ctr1
);
1004 ndr_print_repsFromTo2(ndr
, "ctr2", &r
->ctr2
);
1008 ndr_print_bad_level(ndr
, name
, level
);
1012 _PUBLIC_
enum ndr_err_code
ndr_push_repsFromToBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct repsFromToBlob
*r
)
1014 if (ndr_flags
& NDR_SCALARS
) {
1015 NDR_CHECK(ndr_push_align(ndr
, 8));
1016 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
1017 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1018 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1019 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
1020 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1022 if (ndr_flags
& NDR_BUFFERS
) {
1023 NDR_CHECK(ndr_push_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
1025 return NDR_ERR_SUCCESS
;
1028 _PUBLIC_
enum ndr_err_code
ndr_pull_repsFromToBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct repsFromToBlob
*r
)
1030 if (ndr_flags
& NDR_SCALARS
) {
1031 NDR_CHECK(ndr_pull_align(ndr
, 8));
1032 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1033 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1034 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1035 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_SCALARS
, &r
->ctr
));
1036 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1038 if (ndr_flags
& NDR_BUFFERS
) {
1039 NDR_CHECK(ndr_pull_repsFromTo(ndr
, NDR_BUFFERS
, &r
->ctr
));
1041 return NDR_ERR_SUCCESS
;
1044 _PUBLIC_
void ndr_print_repsFromToBlob(struct ndr_print
*ndr
, const char *name
, const struct repsFromToBlob
*r
)
1046 ndr_print_struct(ndr
, name
, "repsFromToBlob");
1048 ndr_print_uint32(ndr
, "version", r
->version
);
1049 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
1050 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1051 ndr_print_repsFromTo(ndr
, "ctr", &r
->ctr
);
1055 static enum ndr_err_code
ndr_push_partialAttributeSetCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetCtr1
*r
)
1057 uint32_t cntr_array_0
;
1058 if (ndr_flags
& NDR_SCALARS
) {
1059 NDR_CHECK(ndr_push_align(ndr
, 4));
1060 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1061 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
1062 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->array
[cntr_array_0
]));
1064 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1066 if (ndr_flags
& NDR_BUFFERS
) {
1068 return NDR_ERR_SUCCESS
;
1071 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetCtr1
*r
)
1073 uint32_t cntr_array_0
;
1074 TALLOC_CTX
*_mem_save_array_0
;
1075 if (ndr_flags
& NDR_SCALARS
) {
1076 NDR_CHECK(ndr_pull_align(ndr
, 4));
1077 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1078 NDR_PULL_ALLOC_N(ndr
, r
->array
, r
->count
);
1079 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1080 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
1081 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
1082 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
1084 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
1085 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1087 if (ndr_flags
& NDR_BUFFERS
) {
1089 return NDR_ERR_SUCCESS
;
1092 _PUBLIC_
void ndr_print_partialAttributeSetCtr1(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetCtr1
*r
)
1094 uint32_t cntr_array_0
;
1095 ndr_print_struct(ndr
, name
, "partialAttributeSetCtr1");
1097 ndr_print_uint32(ndr
, "count", r
->count
);
1098 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
1100 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
1102 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
1103 ndr_print_drsuapi_DsAttributeId(ndr
, "array", r
->array
[cntr_array_0
]);
1111 static enum ndr_err_code
ndr_push_partialAttributeSetCtr(struct ndr_push
*ndr
, int ndr_flags
, const union partialAttributeSetCtr
*r
)
1113 if (ndr_flags
& NDR_SCALARS
) {
1114 int level
= ndr_push_get_switch_value(ndr
, r
);
1115 NDR_CHECK(ndr_push_union_align(ndr
, 4));
1118 NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1122 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1125 if (ndr_flags
& NDR_BUFFERS
) {
1126 int level
= ndr_push_get_switch_value(ndr
, r
);
1132 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1135 return NDR_ERR_SUCCESS
;
1138 static enum ndr_err_code
ndr_pull_partialAttributeSetCtr(struct ndr_pull
*ndr
, int ndr_flags
, union partialAttributeSetCtr
*r
)
1141 level
= ndr_pull_get_switch_value(ndr
, r
);
1142 if (ndr_flags
& NDR_SCALARS
) {
1143 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
1146 NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
1150 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1153 if (ndr_flags
& NDR_BUFFERS
) {
1159 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1162 return NDR_ERR_SUCCESS
;
1165 _PUBLIC_
void ndr_print_partialAttributeSetCtr(struct ndr_print
*ndr
, const char *name
, const union partialAttributeSetCtr
*r
)
1168 level
= ndr_print_get_switch_value(ndr
, r
);
1169 ndr_print_union(ndr
, name
, level
, "partialAttributeSetCtr");
1172 ndr_print_partialAttributeSetCtr1(ndr
, "ctr1", &r
->ctr1
);
1176 ndr_print_bad_level(ndr
, name
, level
);
1180 _PUBLIC_
enum ndr_err_code
ndr_push_partialAttributeSetBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct partialAttributeSetBlob
*r
)
1182 if (ndr_flags
& NDR_SCALARS
) {
1183 NDR_CHECK(ndr_push_align(ndr
, 4));
1184 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
1185 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1186 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1187 NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1188 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1190 if (ndr_flags
& NDR_BUFFERS
) {
1192 return NDR_ERR_SUCCESS
;
1195 _PUBLIC_
enum ndr_err_code
ndr_pull_partialAttributeSetBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct partialAttributeSetBlob
*r
)
1197 if (ndr_flags
& NDR_SCALARS
) {
1198 NDR_CHECK(ndr_pull_align(ndr
, 4));
1199 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1200 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1201 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1202 NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1203 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1205 if (ndr_flags
& NDR_BUFFERS
) {
1207 return NDR_ERR_SUCCESS
;
1210 _PUBLIC_
void ndr_print_partialAttributeSetBlob(struct ndr_print
*ndr
, const char *name
, const struct partialAttributeSetBlob
*r
)
1212 ndr_print_struct(ndr
, name
, "partialAttributeSetBlob");
1214 ndr_print_uint32(ndr
, "version", r
->version
);
1215 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
1216 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1217 ndr_print_partialAttributeSetCtr(ndr
, "ctr", &r
->ctr
);
1221 static enum ndr_err_code
ndr_push_drsuapi_MSPrefixMap_Entry(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_MSPrefixMap_Entry
*r
)
1224 uint32_t _flags_save_STRUCT
= ndr
->flags
;
1225 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
1226 if (ndr_flags
& NDR_SCALARS
) {
1227 NDR_CHECK(ndr_push_align(ndr
, 2));
1228 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->entryID
));
1229 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->length
));
1230 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, r
->length
));
1231 NDR_CHECK(ndr_push_trailer_align(ndr
, 2));
1233 if (ndr_flags
& NDR_BUFFERS
) {
1235 ndr
->flags
= _flags_save_STRUCT
;
1237 return NDR_ERR_SUCCESS
;
1240 static enum ndr_err_code
ndr_pull_drsuapi_MSPrefixMap_Entry(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_MSPrefixMap_Entry
*r
)
1243 uint32_t _flags_save_STRUCT
= ndr
->flags
;
1244 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
1245 if (ndr_flags
& NDR_SCALARS
) {
1246 NDR_CHECK(ndr_pull_align(ndr
, 2));
1247 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->entryID
));
1248 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
1249 NDR_PULL_ALLOC_N(ndr
, r
->binary_oid
, r
->length
);
1250 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, r
->length
));
1251 NDR_CHECK(ndr_pull_trailer_align(ndr
, 2));
1253 if (ndr_flags
& NDR_BUFFERS
) {
1255 ndr
->flags
= _flags_save_STRUCT
;
1257 return NDR_ERR_SUCCESS
;
1260 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_MSPrefixMap_Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_MSPrefixMap_Ctr
*r
)
1262 uint32_t cntr_entries_0
;
1263 if (ndr_flags
& NDR_SCALARS
) {
1264 NDR_CHECK(ndr_push_align(ndr
, 4));
1265 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_entries
));
1266 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_MSPrefixMap_Ctr(r
, ndr
->iconv_convenience
, ndr
->flags
)));
1267 for (cntr_entries_0
= 0; cntr_entries_0
< r
->num_entries
; cntr_entries_0
++) {
1268 NDR_CHECK(ndr_push_drsuapi_MSPrefixMap_Entry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_0
]));
1270 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1272 if (ndr_flags
& NDR_BUFFERS
) {
1274 return NDR_ERR_SUCCESS
;
1277 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_MSPrefixMap_Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_MSPrefixMap_Ctr
*r
)
1279 uint32_t cntr_entries_0
;
1280 TALLOC_CTX
*_mem_save_entries_0
;
1281 if (ndr_flags
& NDR_SCALARS
) {
1282 NDR_CHECK(ndr_pull_align(ndr
, 4));
1283 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_entries
));
1284 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1285 NDR_PULL_ALLOC_N(ndr
, r
->entries
, r
->num_entries
);
1286 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1287 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
1288 for (cntr_entries_0
= 0; cntr_entries_0
< r
->num_entries
; cntr_entries_0
++) {
1289 NDR_CHECK(ndr_pull_drsuapi_MSPrefixMap_Entry(ndr
, NDR_SCALARS
, &r
->entries
[cntr_entries_0
]));
1291 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
1292 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1294 if (ndr_flags
& NDR_BUFFERS
) {
1296 return NDR_ERR_SUCCESS
;
1299 _PUBLIC_
void ndr_print_drsuapi_MSPrefixMap_Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_MSPrefixMap_Ctr
*r
)
1301 uint32_t cntr_entries_0
;
1302 ndr_print_struct(ndr
, name
, "drsuapi_MSPrefixMap_Ctr");
1304 ndr_print_uint32(ndr
, "num_entries", r
->num_entries
);
1305 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_drsuapi_MSPrefixMap_Ctr(r
, ndr
->iconv_convenience
, ndr
->flags
):r
->__ndr_size
);
1306 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->num_entries
);
1308 for (cntr_entries_0
=0;cntr_entries_0
<r
->num_entries
;cntr_entries_0
++) {
1310 if (asprintf(&idx_0
, "[%d]", cntr_entries_0
) != -1) {
1311 ndr_print_drsuapi_MSPrefixMap_Entry(ndr
, "entries", &r
->entries
[cntr_entries_0
]);
1319 _PUBLIC_
size_t ndr_size_drsuapi_MSPrefixMap_Ctr(const struct drsuapi_MSPrefixMap_Ctr
*r
, struct smb_iconv_convenience
*ic
, int flags
)
1321 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_MSPrefixMap_Ctr
, ic
);
1324 static enum ndr_err_code
ndr_push_prefixMapVersion(struct ndr_push
*ndr
, int ndr_flags
, enum prefixMapVersion r
)
1326 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1327 return NDR_ERR_SUCCESS
;
1330 static enum ndr_err_code
ndr_pull_prefixMapVersion(struct ndr_pull
*ndr
, int ndr_flags
, enum prefixMapVersion
*r
)
1333 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1335 return NDR_ERR_SUCCESS
;
1338 _PUBLIC_
void ndr_print_prefixMapVersion(struct ndr_print
*ndr
, const char *name
, enum prefixMapVersion r
)
1340 const char *val
= NULL
;
1343 case PREFIX_MAP_VERSION_DSDB
: val
= "PREFIX_MAP_VERSION_DSDB"; break;
1345 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1348 static enum ndr_err_code
ndr_push_prefixMapCtr(struct ndr_push
*ndr
, int ndr_flags
, const union prefixMapCtr
*r
)
1350 if (ndr_flags
& NDR_SCALARS
) {
1351 int level
= ndr_push_get_switch_value(ndr
, r
);
1352 NDR_CHECK(ndr_push_union_align(ndr
, 5));
1354 case PREFIX_MAP_VERSION_DSDB
: {
1355 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1359 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1362 if (ndr_flags
& NDR_BUFFERS
) {
1363 int level
= ndr_push_get_switch_value(ndr
, r
);
1365 case PREFIX_MAP_VERSION_DSDB
:
1366 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
1370 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1373 return NDR_ERR_SUCCESS
;
1376 static enum ndr_err_code
ndr_pull_prefixMapCtr(struct ndr_pull
*ndr
, int ndr_flags
, union prefixMapCtr
*r
)
1379 level
= ndr_pull_get_switch_value(ndr
, r
);
1380 if (ndr_flags
& NDR_SCALARS
) {
1381 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
1383 case PREFIX_MAP_VERSION_DSDB
: {
1384 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->dsdb
));
1388 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1391 if (ndr_flags
& NDR_BUFFERS
) {
1393 case PREFIX_MAP_VERSION_DSDB
:
1394 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->dsdb
));
1398 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1401 return NDR_ERR_SUCCESS
;
1404 _PUBLIC_
void ndr_print_prefixMapCtr(struct ndr_print
*ndr
, const char *name
, const union prefixMapCtr
*r
)
1407 level
= ndr_print_get_switch_value(ndr
, r
);
1408 ndr_print_union(ndr
, name
, level
, "prefixMapCtr");
1410 case PREFIX_MAP_VERSION_DSDB
:
1411 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "dsdb", &r
->dsdb
);
1415 ndr_print_bad_level(ndr
, name
, level
);
1419 _PUBLIC_
enum ndr_err_code
ndr_push_prefixMapBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct prefixMapBlob
*r
)
1421 if (ndr_flags
& NDR_SCALARS
) {
1422 NDR_CHECK(ndr_push_align(ndr
, 5));
1423 NDR_CHECK(ndr_push_prefixMapVersion(ndr
, NDR_SCALARS
, r
->version
));
1424 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1425 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1426 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1427 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1429 if (ndr_flags
& NDR_BUFFERS
) {
1430 NDR_CHECK(ndr_push_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1432 return NDR_ERR_SUCCESS
;
1435 _PUBLIC_
enum ndr_err_code
ndr_pull_prefixMapBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct prefixMapBlob
*r
)
1437 if (ndr_flags
& NDR_SCALARS
) {
1438 NDR_CHECK(ndr_pull_align(ndr
, 5));
1439 NDR_CHECK(ndr_pull_prefixMapVersion(ndr
, NDR_SCALARS
, &r
->version
));
1440 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
1441 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
1442 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
1443 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1445 if (ndr_flags
& NDR_BUFFERS
) {
1446 NDR_CHECK(ndr_pull_prefixMapCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
1448 return NDR_ERR_SUCCESS
;
1451 _PUBLIC_
void ndr_print_prefixMapBlob(struct ndr_print
*ndr
, const char *name
, const struct prefixMapBlob
*r
)
1453 ndr_print_struct(ndr
, name
, "prefixMapBlob");
1455 ndr_print_prefixMapVersion(ndr
, "version", r
->version
);
1456 ndr_print_uint32(ndr
, "reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved
);
1457 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
1458 ndr_print_prefixMapCtr(ndr
, "ctr", &r
->ctr
);
1462 static enum ndr_err_code
ndr_push_ldapControlDirSyncExtra(struct ndr_push
*ndr
, int ndr_flags
, const union ldapControlDirSyncExtra
*r
)
1464 if (ndr_flags
& NDR_SCALARS
) {
1465 int level
= ndr_push_get_switch_value(ndr
, r
);
1466 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1472 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1477 if (ndr_flags
& NDR_BUFFERS
) {
1478 int level
= ndr_push_get_switch_value(ndr
, r
);
1488 return NDR_ERR_SUCCESS
;
1491 static enum ndr_err_code
ndr_pull_ldapControlDirSyncExtra(struct ndr_pull
*ndr
, int ndr_flags
, union ldapControlDirSyncExtra
*r
)
1494 level
= ndr_pull_get_switch_value(ndr
, r
);
1495 if (ndr_flags
& NDR_SCALARS
) {
1496 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1502 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->uptodateness_vector
));
1507 if (ndr_flags
& NDR_BUFFERS
) {
1517 return NDR_ERR_SUCCESS
;
1520 _PUBLIC_
void ndr_print_ldapControlDirSyncExtra(struct ndr_print
*ndr
, const char *name
, const union ldapControlDirSyncExtra
*r
)
1523 level
= ndr_print_get_switch_value(ndr
, r
);
1524 ndr_print_union(ndr
, name
, level
, "ldapControlDirSyncExtra");
1530 ndr_print_replUpToDateVectorBlob(ndr
, "uptodateness_vector", &r
->uptodateness_vector
);
1536 static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra
*r
, uint32_t level
, struct smb_iconv_convenience
*ic
, int flags
)
1538 return ndr_size_union(r
, flags
, level
, (ndr_push_flags_fn_t
)ndr_push_ldapControlDirSyncExtra
, ic
);
1541 static enum ndr_err_code
ndr_push_ldapControlDirSyncBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncBlob
*r
)
1543 if (ndr_flags
& NDR_SCALARS
) {
1544 NDR_CHECK(ndr_push_align(ndr
, 8));
1545 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 3));
1546 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
1547 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
1548 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
1549 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1550 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1551 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1552 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->extra
, ndr_size_ldapControlDirSyncExtra(&r
->extra
, r
->extra
.uptodateness_vector
.version
, ndr
->iconv_convenience
, 0)));
1553 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1554 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1556 if (ndr_flags
& NDR_BUFFERS
) {
1557 NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1559 return NDR_ERR_SUCCESS
;
1562 static enum ndr_err_code
ndr_pull_ldapControlDirSyncBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncBlob
*r
)
1564 if (ndr_flags
& NDR_SCALARS
) {
1565 NDR_CHECK(ndr_pull_align(ndr
, 8));
1566 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
1567 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
1568 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
1569 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
1570 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->extra_length
));
1571 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1572 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid1
));
1573 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->extra
, r
->extra_length
));
1574 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_SCALARS
, &r
->extra
));
1575 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1577 if (ndr_flags
& NDR_BUFFERS
) {
1578 NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr
, NDR_BUFFERS
, &r
->extra
));
1580 return NDR_ERR_SUCCESS
;
1583 _PUBLIC_
void ndr_print_ldapControlDirSyncBlob(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncBlob
*r
)
1585 ndr_print_struct(ndr
, name
, "ldapControlDirSyncBlob");
1587 ndr_print_uint32(ndr
, "u1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?3:r
->u1
);
1588 ndr_print_NTTIME(ndr
, "time", r
->time
);
1589 ndr_print_uint32(ndr
, "u2", r
->u2
);
1590 ndr_print_uint32(ndr
, "u3", r
->u3
);
1591 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
);
1592 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1593 ndr_print_GUID(ndr
, "guid1", &r
->guid1
);
1594 ndr_print_set_switch_value(ndr
, &r
->extra
, r
->extra_length
);
1595 ndr_print_ldapControlDirSyncExtra(ndr
, "extra", &r
->extra
);
1599 _PUBLIC_
enum ndr_err_code
ndr_push_ldapControlDirSyncCookie(struct ndr_push
*ndr
, int ndr_flags
, const struct ldapControlDirSyncCookie
*r
)
1601 uint32_t _save_relative_base_offset
= ndr_push_get_relative_base_offset(ndr
);
1602 if (ndr_flags
& NDR_SCALARS
) {
1603 NDR_CHECK(ndr_push_align(ndr
, 8));
1604 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1605 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, "MSDS", 4, sizeof(uint8_t), CH_DOS
));
1607 struct ndr_push
*_ndr_blob
;
1608 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1609 NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1610 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1612 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1614 if (ndr_flags
& NDR_BUFFERS
) {
1615 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr
, r
));
1617 ndr_push_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1618 return NDR_ERR_SUCCESS
;
1621 _PUBLIC_
enum ndr_err_code
ndr_pull_ldapControlDirSyncCookie(struct ndr_pull
*ndr
, int ndr_flags
, struct ldapControlDirSyncCookie
*r
)
1623 uint32_t _save_relative_base_offset
= ndr_pull_get_relative_base_offset(ndr
);
1624 if (ndr_flags
& NDR_SCALARS
) {
1625 NDR_CHECK(ndr_pull_align(ndr
, 8));
1626 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr
, r
, ndr
->offset
));
1627 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->msds
, 4, sizeof(uint8_t), CH_DOS
));
1629 struct ndr_pull
*_ndr_blob
;
1630 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_blob
, 0, -1));
1631 NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob
, NDR_SCALARS
|NDR_BUFFERS
, &r
->blob
));
1632 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_blob
, 0, -1));
1634 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1636 if (ndr_flags
& NDR_BUFFERS
) {
1637 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr
, r
));
1639 ndr_pull_restore_relative_base_offset(ndr
, _save_relative_base_offset
);
1640 return NDR_ERR_SUCCESS
;
1643 _PUBLIC_
void ndr_print_ldapControlDirSyncCookie(struct ndr_print
*ndr
, const char *name
, const struct ldapControlDirSyncCookie
*r
)
1645 ndr_print_struct(ndr
, name
, "ldapControlDirSyncCookie");
1647 ndr_print_string(ndr
, "msds", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?"MSDS":r
->msds
);
1648 ndr_print_ldapControlDirSyncBlob(ndr
, "blob", &r
->blob
);
1652 static enum ndr_err_code
ndr_push_supplementalCredentialsPackage(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsPackage
*r
)
1654 if (ndr_flags
& NDR_SCALARS
) {
1655 NDR_CHECK(ndr_push_align(ndr
, 2));
1656 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->name
)));
1657 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen(r
->data
)));
1658 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->reserved
));
1659 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->name
, 2 * strlen_m(r
->name
), sizeof(uint8_t), CH_UTF16
));
1660 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->data
, strlen(r
->data
), sizeof(uint8_t), CH_DOS
));
1661 NDR_CHECK(ndr_push_trailer_align(ndr
, 2));
1663 if (ndr_flags
& NDR_BUFFERS
) {
1665 return NDR_ERR_SUCCESS
;
1668 static enum ndr_err_code
ndr_pull_supplementalCredentialsPackage(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsPackage
*r
)
1670 if (ndr_flags
& NDR_SCALARS
) {
1671 NDR_CHECK(ndr_pull_align(ndr
, 2));
1672 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->name_len
));
1673 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->data_len
));
1674 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved
));
1675 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->name
, r
->name_len
, sizeof(uint8_t), CH_UTF16
));
1676 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->data
, r
->data_len
, sizeof(uint8_t), CH_DOS
));
1677 NDR_CHECK(ndr_pull_trailer_align(ndr
, 2));
1679 if (ndr_flags
& NDR_BUFFERS
) {
1681 return NDR_ERR_SUCCESS
;
1684 _PUBLIC_
void ndr_print_supplementalCredentialsPackage(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsPackage
*r
)
1686 ndr_print_struct(ndr
, name
, "supplementalCredentialsPackage");
1688 ndr_print_uint16(ndr
, "name_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->name
):r
->name_len
);
1689 ndr_print_uint16(ndr
, "data_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->data
):r
->data_len
);
1690 ndr_print_uint16(ndr
, "reserved", r
->reserved
);
1691 ndr_print_string(ndr
, "name", r
->name
);
1692 ndr_print_string(ndr
, "data", r
->data
);
1696 static enum ndr_err_code
ndr_push_supplementalCredentialsSignature(struct ndr_push
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature r
)
1699 uint32_t _flags_save_ENUM
= ndr
->flags
;
1700 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1701 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1702 ndr
->flags
= _flags_save_ENUM
;
1704 return NDR_ERR_SUCCESS
;
1707 static enum ndr_err_code
ndr_pull_supplementalCredentialsSignature(struct ndr_pull
*ndr
, int ndr_flags
, enum supplementalCredentialsSignature
*r
)
1711 uint32_t _flags_save_ENUM
= ndr
->flags
;
1712 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1713 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1715 ndr
->flags
= _flags_save_ENUM
;
1717 return NDR_ERR_SUCCESS
;
1720 _PUBLIC_
void ndr_print_supplementalCredentialsSignature(struct ndr_print
*ndr
, const char *name
, enum supplementalCredentialsSignature r
)
1722 const char *val
= NULL
;
1725 uint32_t _flags_save_ENUM
= ndr
->flags
;
1726 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1728 case SUPPLEMENTAL_CREDENTIALS_SIGNATURE
: val
= "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break;
1730 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1731 ndr
->flags
= _flags_save_ENUM
;
1735 static enum ndr_err_code
ndr_push_supplementalCredentialsSubBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsSubBlob
*r
)
1737 uint32_t cntr_packages_0
;
1738 if (ndr_flags
& NDR_SCALARS
) {
1739 NDR_CHECK(ndr_push_align(ndr
, 3));
1740 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_PREFIX
, 0x30, sizeof(uint16_t), CH_UTF16
));
1741 NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, SUPPLEMENTAL_CREDENTIALS_SIGNATURE
));
1742 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_packages
));
1743 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1744 NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1746 NDR_CHECK(ndr_push_trailer_align(ndr
, 3));
1748 if (ndr_flags
& NDR_BUFFERS
) {
1750 return NDR_ERR_SUCCESS
;
1753 static enum ndr_err_code
ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsSubBlob
*r
)
1755 uint32_t cntr_packages_0
;
1756 TALLOC_CTX
*_mem_save_packages_0
;
1757 if (ndr_flags
& NDR_SCALARS
) {
1758 NDR_CHECK(ndr_pull_align(ndr
, 3));
1759 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->prefix
, 0x30, sizeof(uint16_t), CH_UTF16
));
1760 NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr
, NDR_SCALARS
, &r
->signature
));
1761 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_packages
));
1762 NDR_PULL_ALLOC_N(ndr
, r
->packages
, r
->num_packages
);
1763 _mem_save_packages_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1764 NDR_PULL_SET_MEM_CTX(ndr
, r
->packages
, 0);
1765 for (cntr_packages_0
= 0; cntr_packages_0
< r
->num_packages
; cntr_packages_0
++) {
1766 NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr
, NDR_SCALARS
, &r
->packages
[cntr_packages_0
]));
1768 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_packages_0
, 0);
1769 NDR_CHECK(ndr_pull_trailer_align(ndr
, 3));
1771 if (ndr_flags
& NDR_BUFFERS
) {
1773 return NDR_ERR_SUCCESS
;
1776 _PUBLIC_
void ndr_print_supplementalCredentialsSubBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsSubBlob
*r
)
1778 uint32_t cntr_packages_0
;
1779 ndr_print_struct(ndr
, name
, "supplementalCredentialsSubBlob");
1781 ndr_print_string(ndr
, "prefix", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_PREFIX
:r
->prefix
);
1782 ndr_print_supplementalCredentialsSignature(ndr
, "signature", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE
:r
->signature
);
1783 ndr_print_uint16(ndr
, "num_packages", r
->num_packages
);
1784 ndr
->print(ndr
, "%s: ARRAY(%d)", "packages", (int)r
->num_packages
);
1786 for (cntr_packages_0
=0;cntr_packages_0
<r
->num_packages
;cntr_packages_0
++) {
1788 if (asprintf(&idx_0
, "[%d]", cntr_packages_0
) != -1) {
1789 ndr_print_supplementalCredentialsPackage(ndr
, "packages", &r
->packages
[cntr_packages_0
]);
1797 static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
1799 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_supplementalCredentialsSubBlob
, ic
);
1802 _PUBLIC_
enum ndr_err_code
ndr_push_supplementalCredentialsBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct supplementalCredentialsBlob
*r
)
1804 if (ndr_flags
& NDR_SCALARS
) {
1805 NDR_CHECK(ndr_push_align(ndr
, 4));
1806 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1807 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1808 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1810 struct ndr_push
*_ndr_sub
;
1811 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1812 NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1813 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_sub
, 0, ndr_size_supplementalCredentialsSubBlob(&r
->sub
, ndr
->iconv_convenience
, ndr
->flags
)));
1815 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0));
1816 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1818 if (ndr_flags
& NDR_BUFFERS
) {
1820 return NDR_ERR_SUCCESS
;
1823 _PUBLIC_
enum ndr_err_code
ndr_pull_supplementalCredentialsBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct supplementalCredentialsBlob
*r
)
1825 if (ndr_flags
& NDR_SCALARS
) {
1826 NDR_CHECK(ndr_pull_align(ndr
, 4));
1827 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
1828 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
1829 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
1831 struct ndr_pull
*_ndr_sub
;
1832 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_sub
, 0, r
->__ndr_size
));
1833 NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub
, NDR_SCALARS
, &r
->sub
));
1834 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_sub
, 0, r
->__ndr_size
));
1836 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown3
));
1837 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1839 if (ndr_flags
& NDR_BUFFERS
) {
1841 return NDR_ERR_SUCCESS
;
1844 _PUBLIC_
void ndr_print_supplementalCredentialsBlob(struct ndr_print
*ndr
, const char *name
, const struct supplementalCredentialsBlob
*r
)
1846 ndr_print_struct(ndr
, name
, "supplementalCredentialsBlob");
1848 ndr_print_uint32(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown1
);
1849 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
);
1850 ndr_print_uint32(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown2
);
1851 ndr_print_supplementalCredentialsSubBlob(ndr
, "sub", &r
->sub
);
1852 ndr_print_uint8(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
1856 _PUBLIC_
enum ndr_err_code
ndr_push_package_PackagesBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PackagesBlob
*r
)
1858 if (ndr_flags
& NDR_SCALARS
) {
1859 NDR_CHECK(ndr_push_align(ndr
, 4));
1861 uint32_t _flags_save_string_array
= ndr
->flags
;
1862 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1863 NDR_CHECK(ndr_push_string_array(ndr
, NDR_SCALARS
, r
->names
));
1864 ndr
->flags
= _flags_save_string_array
;
1866 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1868 if (ndr_flags
& NDR_BUFFERS
) {
1870 return NDR_ERR_SUCCESS
;
1873 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PackagesBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PackagesBlob
*r
)
1875 if (ndr_flags
& NDR_SCALARS
) {
1876 NDR_CHECK(ndr_pull_align(ndr
, 4));
1878 uint32_t _flags_save_string_array
= ndr
->flags
;
1879 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1880 NDR_CHECK(ndr_pull_string_array(ndr
, NDR_SCALARS
, &r
->names
));
1881 ndr
->flags
= _flags_save_string_array
;
1883 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1885 if (ndr_flags
& NDR_BUFFERS
) {
1887 return NDR_ERR_SUCCESS
;
1890 _PUBLIC_
void ndr_print_package_PackagesBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PackagesBlob
*r
)
1892 ndr_print_struct(ndr
, name
, "package_PackagesBlob");
1894 ndr_print_string_array(ndr
, "names", r
->names
);
1898 static enum ndr_err_code
ndr_push_package_PrimaryKerberosString(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosString
*r
)
1900 if (ndr_flags
& NDR_SCALARS
) {
1901 NDR_CHECK(ndr_push_align(ndr
, 5));
1902 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1903 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
1905 uint32_t _flags_save_string
= ndr
->flags
;
1906 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1907 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->string
));
1908 ndr
->flags
= _flags_save_string
;
1910 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1912 if (ndr_flags
& NDR_BUFFERS
) {
1914 uint32_t _flags_save_string
= ndr
->flags
;
1915 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1917 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->string
));
1919 struct ndr_push
*_ndr_string
;
1920 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_string
, 0, 2 * strlen_m(r
->string
)));
1921 NDR_CHECK(ndr_push_string(_ndr_string
, NDR_SCALARS
, r
->string
));
1922 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_string
, 0, 2 * strlen_m(r
->string
)));
1924 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->string
));
1926 ndr
->flags
= _flags_save_string
;
1929 return NDR_ERR_SUCCESS
;
1932 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosString(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosString
*r
)
1934 uint32_t _ptr_string
;
1935 TALLOC_CTX
*_mem_save_string_0
;
1936 if (ndr_flags
& NDR_SCALARS
) {
1937 NDR_CHECK(ndr_pull_align(ndr
, 5));
1938 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
1939 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
1941 uint32_t _flags_save_string
= ndr
->flags
;
1942 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1943 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
1945 NDR_PULL_ALLOC(ndr
, r
->string
);
1946 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->string
, _ptr_string
));
1950 ndr
->flags
= _flags_save_string
;
1952 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1954 if (ndr_flags
& NDR_BUFFERS
) {
1956 uint32_t _flags_save_string
= ndr
->flags
;
1957 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_NOTERM
|LIBNDR_FLAG_REMAINING
);
1959 uint32_t _relative_save_offset
;
1960 _relative_save_offset
= ndr
->offset
;
1961 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->string
));
1962 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1963 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
1965 struct ndr_pull
*_ndr_string
;
1966 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_string
, 0, r
->size
));
1967 NDR_CHECK(ndr_pull_string(_ndr_string
, NDR_SCALARS
, &r
->string
));
1968 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_string
, 0, r
->size
));
1970 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
1971 if (ndr
->offset
> ndr
->relative_highest_offset
) {
1972 ndr
->relative_highest_offset
= ndr
->offset
;
1974 ndr
->offset
= _relative_save_offset
;
1976 ndr
->flags
= _flags_save_string
;
1979 return NDR_ERR_SUCCESS
;
1982 _PUBLIC_
void ndr_print_package_PrimaryKerberosString(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosString
*r
)
1984 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosString");
1986 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
1987 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->size
);
1988 ndr_print_ptr(ndr
, "string", r
->string
);
1991 ndr_print_string(ndr
, "string", r
->string
);
1997 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey3
*r
)
1999 if (ndr_flags
& NDR_SCALARS
) {
2000 NDR_CHECK(ndr_push_align(ndr
, 5));
2001 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2002 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2003 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2004 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
2005 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
2007 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2008 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2009 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
2010 ndr
->flags
= _flags_save_DATA_BLOB
;
2012 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2014 if (ndr_flags
& NDR_BUFFERS
) {
2016 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2017 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2019 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->value
));
2021 struct ndr_push
*_ndr_value
;
2022 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2023 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
2024 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2026 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->value
));
2028 ndr
->flags
= _flags_save_DATA_BLOB
;
2031 return NDR_ERR_SUCCESS
;
2034 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey3
*r
)
2036 uint32_t _ptr_value
;
2037 TALLOC_CTX
*_mem_save_value_0
;
2038 if (ndr_flags
& NDR_SCALARS
) {
2039 NDR_CHECK(ndr_pull_align(ndr
, 5));
2040 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
2041 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
2042 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
2043 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
2044 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
2046 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2047 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2048 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
2050 NDR_PULL_ALLOC(ndr
, r
->value
);
2051 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
2055 ndr
->flags
= _flags_save_DATA_BLOB
;
2057 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2059 if (ndr_flags
& NDR_BUFFERS
) {
2061 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2062 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2064 uint32_t _relative_save_offset
;
2065 _relative_save_offset
= ndr
->offset
;
2066 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
2067 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2068 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
2070 struct ndr_pull
*_ndr_value
;
2071 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
2072 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
2073 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
2075 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
2076 if (ndr
->offset
> ndr
->relative_highest_offset
) {
2077 ndr
->relative_highest_offset
= ndr
->offset
;
2079 ndr
->offset
= _relative_save_offset
;
2081 ndr
->flags
= _flags_save_DATA_BLOB
;
2084 return NDR_ERR_SUCCESS
;
2087 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey3
*r
)
2089 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey3");
2091 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
2092 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
2093 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
2094 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
2095 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
2096 ndr_print_ptr(ndr
, "value", r
->value
);
2099 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
2105 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr3
*r
)
2107 uint32_t cntr_keys_0
;
2108 uint32_t cntr_old_keys_0
;
2109 if (ndr_flags
& NDR_SCALARS
) {
2110 NDR_CHECK(ndr_push_align(ndr
, 5));
2111 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
2112 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
2113 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2114 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2115 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2117 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2118 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2120 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2121 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2122 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2123 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2124 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2125 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2127 if (ndr_flags
& NDR_BUFFERS
) {
2128 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2129 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2130 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2132 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2133 NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2136 return NDR_ERR_SUCCESS
;
2139 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr3
*r
)
2141 uint32_t cntr_keys_0
;
2142 TALLOC_CTX
*_mem_save_keys_0
;
2143 uint32_t cntr_old_keys_0
;
2144 TALLOC_CTX
*_mem_save_old_keys_0
;
2145 if (ndr_flags
& NDR_SCALARS
) {
2146 NDR_CHECK(ndr_pull_align(ndr
, 5));
2147 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
2148 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
2149 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2150 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
2151 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2152 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2153 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2154 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2156 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2157 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, r
->num_old_keys
);
2158 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2159 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2160 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2161 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2163 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2164 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding1
));
2165 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding2
));
2166 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding3
));
2167 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding4
));
2168 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->padding5
));
2169 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2171 if (ndr_flags
& NDR_BUFFERS
) {
2172 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2173 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2174 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2175 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2176 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2178 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2179 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2180 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2181 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2182 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2184 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2186 return NDR_ERR_SUCCESS
;
2189 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr3
*r
)
2191 uint32_t cntr_keys_0
;
2192 uint32_t cntr_old_keys_0
;
2193 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr3");
2195 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2196 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2197 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2198 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2200 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2202 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2203 ndr_print_package_PrimaryKerberosKey3(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2208 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2210 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2212 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2213 ndr_print_package_PrimaryKerberosKey3(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2218 ndr_print_uint32(ndr
, "padding1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding1
);
2219 ndr_print_uint32(ndr
, "padding2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding2
);
2220 ndr_print_uint32(ndr
, "padding3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding3
);
2221 ndr_print_uint32(ndr
, "padding4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding4
);
2222 ndr_print_uint32(ndr
, "padding5", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->padding5
);
2226 static enum ndr_err_code
ndr_push_package_PrimaryKerberosKey4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosKey4
*r
)
2228 if (ndr_flags
& NDR_SCALARS
) {
2229 NDR_CHECK(ndr_push_align(ndr
, 5));
2230 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2231 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2232 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2233 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->iteration_count
));
2234 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->keytype
));
2235 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, (r
->value
?r
->value
->length
:0)));
2237 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2238 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2239 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->value
));
2240 ndr
->flags
= _flags_save_DATA_BLOB
;
2242 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2244 if (ndr_flags
& NDR_BUFFERS
) {
2246 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2247 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2249 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->value
));
2251 struct ndr_push
*_ndr_value
;
2252 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2253 NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value
, NDR_SCALARS
, *r
->value
));
2254 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_value
, 0, (r
->value
?r
->value
->length
:0)));
2256 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->value
));
2258 ndr
->flags
= _flags_save_DATA_BLOB
;
2261 return NDR_ERR_SUCCESS
;
2264 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosKey4
*r
)
2266 uint32_t _ptr_value
;
2267 TALLOC_CTX
*_mem_save_value_0
;
2268 if (ndr_flags
& NDR_SCALARS
) {
2269 NDR_CHECK(ndr_pull_align(ndr
, 5));
2270 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved1
));
2271 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->reserved2
));
2272 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved3
));
2273 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->iteration_count
));
2274 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->keytype
));
2275 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->value_len
));
2277 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2278 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2279 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value
));
2281 NDR_PULL_ALLOC(ndr
, r
->value
);
2282 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->value
, _ptr_value
));
2286 ndr
->flags
= _flags_save_DATA_BLOB
;
2288 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2290 if (ndr_flags
& NDR_BUFFERS
) {
2292 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2293 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2295 uint32_t _relative_save_offset
;
2296 _relative_save_offset
= ndr
->offset
;
2297 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->value
));
2298 _mem_save_value_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2299 NDR_PULL_SET_MEM_CTX(ndr
, r
->value
, 0);
2301 struct ndr_pull
*_ndr_value
;
2302 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_value
, 0, r
->value_len
));
2303 NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value
, NDR_SCALARS
, r
->value
));
2304 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_value
, 0, r
->value_len
));
2306 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_0
, 0);
2307 if (ndr
->offset
> ndr
->relative_highest_offset
) {
2308 ndr
->relative_highest_offset
= ndr
->offset
;
2310 ndr
->offset
= _relative_save_offset
;
2312 ndr
->flags
= _flags_save_DATA_BLOB
;
2315 return NDR_ERR_SUCCESS
;
2318 _PUBLIC_
void ndr_print_package_PrimaryKerberosKey4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosKey4
*r
)
2320 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosKey4");
2322 ndr_print_uint16(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
2323 ndr_print_uint16(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
2324 ndr_print_uint32(ndr
, "reserved3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved3
);
2325 ndr_print_uint32(ndr
, "iteration_count", r
->iteration_count
);
2326 ndr_print_uint32(ndr
, "keytype", r
->keytype
);
2327 ndr_print_uint32(ndr
, "value_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?(r
->value
?r
->value
->length
:0):r
->value_len
);
2328 ndr_print_ptr(ndr
, "value", r
->value
);
2331 ndr_print_DATA_BLOB(ndr
, "value", *r
->value
);
2337 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr4(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosCtr4
*r
)
2339 uint32_t cntr_keys_0
;
2340 uint32_t cntr_old_keys_0
;
2341 uint32_t cntr_older_keys_0
;
2342 if (ndr_flags
& NDR_SCALARS
) {
2343 NDR_CHECK(ndr_push_align(ndr
, 5));
2344 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_keys
));
2345 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2346 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_old_keys
));
2347 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_older_keys
));
2348 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2349 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->default_iteration_count
));
2350 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2351 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2353 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2354 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2356 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2357 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
2359 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2361 if (ndr_flags
& NDR_BUFFERS
) {
2362 NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2363 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2364 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2366 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2367 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2369 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2370 NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2373 return NDR_ERR_SUCCESS
;
2376 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosCtr4
*r
)
2378 uint32_t cntr_keys_0
;
2379 TALLOC_CTX
*_mem_save_keys_0
;
2380 uint32_t cntr_service_keys_0
;
2381 TALLOC_CTX
*_mem_save_service_keys_0
;
2382 uint32_t cntr_old_keys_0
;
2383 TALLOC_CTX
*_mem_save_old_keys_0
;
2384 uint32_t cntr_older_keys_0
;
2385 TALLOC_CTX
*_mem_save_older_keys_0
;
2386 if (ndr_flags
& NDR_SCALARS
) {
2387 NDR_CHECK(ndr_pull_align(ndr
, 5));
2388 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_keys
));
2389 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_service_keys
));
2390 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_old_keys
));
2391 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_older_keys
));
2392 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_SCALARS
, &r
->salt
));
2393 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->default_iteration_count
));
2394 NDR_PULL_ALLOC_N(ndr
, r
->keys
, r
->num_keys
);
2395 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2396 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2397 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2398 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->keys
[cntr_keys_0
]));
2400 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2401 NDR_PULL_ALLOC_N(ndr
, r
->service_keys
, r
->num_service_keys
);
2402 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2403 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
2404 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< r
->num_service_keys
; cntr_service_keys_0
++) {
2405 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->service_keys
[cntr_service_keys_0
]));
2407 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
2408 NDR_PULL_ALLOC_N(ndr
, r
->old_keys
, r
->num_old_keys
);
2409 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2410 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2411 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2412 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->old_keys
[cntr_old_keys_0
]));
2414 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2415 NDR_PULL_ALLOC_N(ndr
, r
->older_keys
, r
->num_older_keys
);
2416 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2417 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2418 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2419 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_SCALARS
, &r
->older_keys
[cntr_older_keys_0
]));
2421 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2422 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2424 if (ndr_flags
& NDR_BUFFERS
) {
2425 NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr
, NDR_BUFFERS
, &r
->salt
));
2426 _mem_save_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2427 NDR_PULL_SET_MEM_CTX(ndr
, r
->keys
, 0);
2428 for (cntr_keys_0
= 0; cntr_keys_0
< r
->num_keys
; cntr_keys_0
++) {
2429 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->keys
[cntr_keys_0
]));
2431 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_keys_0
, 0);
2432 _mem_save_service_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2433 NDR_PULL_SET_MEM_CTX(ndr
, r
->service_keys
, 0);
2434 for (cntr_service_keys_0
= 0; cntr_service_keys_0
< r
->num_service_keys
; cntr_service_keys_0
++) {
2435 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->service_keys
[cntr_service_keys_0
]));
2437 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_service_keys_0
, 0);
2438 _mem_save_old_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2439 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_keys
, 0);
2440 for (cntr_old_keys_0
= 0; cntr_old_keys_0
< r
->num_old_keys
; cntr_old_keys_0
++) {
2441 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->old_keys
[cntr_old_keys_0
]));
2443 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_keys_0
, 0);
2444 _mem_save_older_keys_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2445 NDR_PULL_SET_MEM_CTX(ndr
, r
->older_keys
, 0);
2446 for (cntr_older_keys_0
= 0; cntr_older_keys_0
< r
->num_older_keys
; cntr_older_keys_0
++) {
2447 NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr
, NDR_BUFFERS
, &r
->older_keys
[cntr_older_keys_0
]));
2449 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_older_keys_0
, 0);
2451 return NDR_ERR_SUCCESS
;
2454 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosCtr4
*r
)
2456 uint32_t cntr_keys_0
;
2457 uint32_t cntr_service_keys_0
;
2458 uint32_t cntr_old_keys_0
;
2459 uint32_t cntr_older_keys_0
;
2460 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosCtr4");
2462 ndr_print_uint16(ndr
, "num_keys", r
->num_keys
);
2463 ndr_print_uint16(ndr
, "num_service_keys", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->num_service_keys
);
2464 ndr_print_uint16(ndr
, "num_old_keys", r
->num_old_keys
);
2465 ndr_print_uint16(ndr
, "num_older_keys", r
->num_older_keys
);
2466 ndr_print_package_PrimaryKerberosString(ndr
, "salt", &r
->salt
);
2467 ndr_print_uint32(ndr
, "default_iteration_count", r
->default_iteration_count
);
2468 ndr
->print(ndr
, "%s: ARRAY(%d)", "keys", (int)r
->num_keys
);
2470 for (cntr_keys_0
=0;cntr_keys_0
<r
->num_keys
;cntr_keys_0
++) {
2472 if (asprintf(&idx_0
, "[%d]", cntr_keys_0
) != -1) {
2473 ndr_print_package_PrimaryKerberosKey4(ndr
, "keys", &r
->keys
[cntr_keys_0
]);
2478 ndr
->print(ndr
, "%s: ARRAY(%d)", "service_keys", (int)r
->num_service_keys
);
2480 for (cntr_service_keys_0
=0;cntr_service_keys_0
<r
->num_service_keys
;cntr_service_keys_0
++) {
2482 if (asprintf(&idx_0
, "[%d]", cntr_service_keys_0
) != -1) {
2483 ndr_print_package_PrimaryKerberosKey4(ndr
, "service_keys", &r
->service_keys
[cntr_service_keys_0
]);
2488 ndr
->print(ndr
, "%s: ARRAY(%d)", "old_keys", (int)r
->num_old_keys
);
2490 for (cntr_old_keys_0
=0;cntr_old_keys_0
<r
->num_old_keys
;cntr_old_keys_0
++) {
2492 if (asprintf(&idx_0
, "[%d]", cntr_old_keys_0
) != -1) {
2493 ndr_print_package_PrimaryKerberosKey4(ndr
, "old_keys", &r
->old_keys
[cntr_old_keys_0
]);
2498 ndr
->print(ndr
, "%s: ARRAY(%d)", "older_keys", (int)r
->num_older_keys
);
2500 for (cntr_older_keys_0
=0;cntr_older_keys_0
<r
->num_older_keys
;cntr_older_keys_0
++) {
2502 if (asprintf(&idx_0
, "[%d]", cntr_older_keys_0
) != -1) {
2503 ndr_print_package_PrimaryKerberosKey4(ndr
, "older_keys", &r
->older_keys
[cntr_older_keys_0
]);
2511 static enum ndr_err_code
ndr_push_package_PrimaryKerberosCtr(struct ndr_push
*ndr
, int ndr_flags
, const union package_PrimaryKerberosCtr
*r
)
2513 if (ndr_flags
& NDR_SCALARS
) {
2514 int level
= ndr_push_get_switch_value(ndr
, r
);
2515 NDR_CHECK(ndr_push_union_align(ndr
, 5));
2518 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2522 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2526 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2529 if (ndr_flags
& NDR_BUFFERS
) {
2530 int level
= ndr_push_get_switch_value(ndr
, r
);
2533 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2537 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2541 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2544 return NDR_ERR_SUCCESS
;
2547 static enum ndr_err_code
ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull
*ndr
, int ndr_flags
, union package_PrimaryKerberosCtr
*r
)
2550 level
= ndr_pull_get_switch_value(ndr
, r
);
2551 if (ndr_flags
& NDR_SCALARS
) {
2552 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
2555 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
2559 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_SCALARS
, &r
->ctr4
));
2563 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2566 if (ndr_flags
& NDR_BUFFERS
) {
2569 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
2573 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr
, NDR_BUFFERS
, &r
->ctr4
));
2577 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2580 return NDR_ERR_SUCCESS
;
2583 _PUBLIC_
void ndr_print_package_PrimaryKerberosCtr(struct ndr_print
*ndr
, const char *name
, const union package_PrimaryKerberosCtr
*r
)
2586 level
= ndr_print_get_switch_value(ndr
, r
);
2587 ndr_print_union(ndr
, name
, level
, "package_PrimaryKerberosCtr");
2590 ndr_print_package_PrimaryKerberosCtr3(ndr
, "ctr3", &r
->ctr3
);
2594 ndr_print_package_PrimaryKerberosCtr4(ndr
, "ctr4", &r
->ctr4
);
2598 ndr_print_bad_level(ndr
, name
, level
);
2602 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryKerberosBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryKerberosBlob
*r
)
2604 if (ndr_flags
& NDR_SCALARS
) {
2605 NDR_CHECK(ndr_push_align(ndr
, 5));
2606 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->version
));
2607 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0));
2608 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2609 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2610 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2612 if (ndr_flags
& NDR_BUFFERS
) {
2613 NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2615 return NDR_ERR_SUCCESS
;
2618 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryKerberosBlob
*r
)
2620 if (ndr_flags
& NDR_SCALARS
) {
2621 NDR_CHECK(ndr_pull_align(ndr
, 5));
2622 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->version
));
2623 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
2624 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->version
));
2625 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
2626 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2628 if (ndr_flags
& NDR_BUFFERS
) {
2629 NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
2631 return NDR_ERR_SUCCESS
;
2634 _PUBLIC_
void ndr_print_package_PrimaryKerberosBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryKerberosBlob
*r
)
2636 ndr_print_struct(ndr
, name
, "package_PrimaryKerberosBlob");
2638 ndr_print_uint16(ndr
, "version", r
->version
);
2639 ndr_print_uint16(ndr
, "flags", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->flags
);
2640 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->version
);
2641 ndr_print_package_PrimaryKerberosCtr(ndr
, "ctr", &r
->ctr
);
2645 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2647 if (ndr_flags
& NDR_SCALARS
) {
2648 NDR_CHECK(ndr_push_align(ndr
, 4));
2650 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2651 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2652 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->cleartext
));
2653 ndr
->flags
= _flags_save_DATA_BLOB
;
2655 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2657 if (ndr_flags
& NDR_BUFFERS
) {
2659 return NDR_ERR_SUCCESS
;
2662 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryCLEARTEXTBlob
*r
)
2664 if (ndr_flags
& NDR_SCALARS
) {
2665 NDR_CHECK(ndr_pull_align(ndr
, 4));
2667 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2668 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2669 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->cleartext
));
2670 ndr
->flags
= _flags_save_DATA_BLOB
;
2672 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2674 if (ndr_flags
& NDR_BUFFERS
) {
2676 return NDR_ERR_SUCCESS
;
2679 _PUBLIC_
void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryCLEARTEXTBlob
*r
)
2681 ndr_print_struct(ndr
, name
, "package_PrimaryCLEARTEXTBlob");
2683 ndr_print_DATA_BLOB(ndr
, "cleartext", r
->cleartext
);
2687 static enum ndr_err_code
ndr_push_package_PrimaryWDigestHash(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestHash
*r
)
2690 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2691 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2692 if (ndr_flags
& NDR_SCALARS
) {
2693 NDR_CHECK(ndr_push_align(ndr
, 1));
2694 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2695 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
2697 if (ndr_flags
& NDR_BUFFERS
) {
2699 ndr
->flags
= _flags_save_STRUCT
;
2701 return NDR_ERR_SUCCESS
;
2704 static enum ndr_err_code
ndr_pull_package_PrimaryWDigestHash(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestHash
*r
)
2707 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2708 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2709 if (ndr_flags
& NDR_SCALARS
) {
2710 NDR_CHECK(ndr_pull_align(ndr
, 1));
2711 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->hash
, 16));
2712 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
2714 if (ndr_flags
& NDR_BUFFERS
) {
2716 ndr
->flags
= _flags_save_STRUCT
;
2718 return NDR_ERR_SUCCESS
;
2721 _PUBLIC_
void ndr_print_package_PrimaryWDigestHash(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestHash
*r
)
2723 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestHash");
2725 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2726 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2728 ndr_print_array_uint8(ndr
, "hash", r
->hash
, 16);
2730 ndr
->flags
= _flags_save_STRUCT
;
2734 _PUBLIC_
enum ndr_err_code
ndr_push_package_PrimaryWDigestBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct package_PrimaryWDigestBlob
*r
)
2736 uint32_t cntr_hashes_0
;
2737 if (ndr_flags
& NDR_SCALARS
) {
2738 NDR_CHECK(ndr_push_align(ndr
, 4));
2739 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 0x31));
2740 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, 0x01));
2741 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->num_hashes
));
2742 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2743 NDR_CHECK(ndr_push_udlong(ndr
, NDR_SCALARS
, 0));
2744 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2745 NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2747 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2749 if (ndr_flags
& NDR_BUFFERS
) {
2751 return NDR_ERR_SUCCESS
;
2754 _PUBLIC_
enum ndr_err_code
ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct package_PrimaryWDigestBlob
*r
)
2756 uint32_t cntr_hashes_0
;
2757 TALLOC_CTX
*_mem_save_hashes_0
;
2758 if (ndr_flags
& NDR_SCALARS
) {
2759 NDR_CHECK(ndr_pull_align(ndr
, 4));
2760 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown1
));
2761 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->unknown2
));
2762 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->num_hashes
));
2763 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown3
));
2764 NDR_CHECK(ndr_pull_udlong(ndr
, NDR_SCALARS
, &r
->uuknown4
));
2765 NDR_PULL_ALLOC_N(ndr
, r
->hashes
, r
->num_hashes
);
2766 _mem_save_hashes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2767 NDR_PULL_SET_MEM_CTX(ndr
, r
->hashes
, 0);
2768 for (cntr_hashes_0
= 0; cntr_hashes_0
< r
->num_hashes
; cntr_hashes_0
++) {
2769 NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr
, NDR_SCALARS
, &r
->hashes
[cntr_hashes_0
]));
2771 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_hashes_0
, 0);
2772 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2774 if (ndr_flags
& NDR_BUFFERS
) {
2776 return NDR_ERR_SUCCESS
;
2779 _PUBLIC_
void ndr_print_package_PrimaryWDigestBlob(struct ndr_print
*ndr
, const char *name
, const struct package_PrimaryWDigestBlob
*r
)
2781 uint32_t cntr_hashes_0
;
2782 ndr_print_struct(ndr
, name
, "package_PrimaryWDigestBlob");
2784 ndr_print_uint16(ndr
, "unknown1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x31:r
->unknown1
);
2785 ndr_print_uint8(ndr
, "unknown2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0x01:r
->unknown2
);
2786 ndr_print_uint8(ndr
, "num_hashes", r
->num_hashes
);
2787 ndr_print_uint32(ndr
, "unknown3", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->unknown3
);
2788 ndr_print_udlong(ndr
, "uuknown4", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->uuknown4
);
2789 ndr
->print(ndr
, "%s: ARRAY(%d)", "hashes", (int)r
->num_hashes
);
2791 for (cntr_hashes_0
=0;cntr_hashes_0
<r
->num_hashes
;cntr_hashes_0
++) {
2793 if (asprintf(&idx_0
, "[%d]", cntr_hashes_0
) != -1) {
2794 ndr_print_package_PrimaryWDigestHash(ndr
, "hashes", &r
->hashes
[cntr_hashes_0
]);
2802 static enum ndr_err_code
ndr_push_AuthInfoNone(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNone
*r
)
2804 if (ndr_flags
& NDR_SCALARS
) {
2805 NDR_CHECK(ndr_push_align(ndr
, 4));
2806 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2807 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2809 if (ndr_flags
& NDR_BUFFERS
) {
2811 return NDR_ERR_SUCCESS
;
2814 static enum ndr_err_code
ndr_pull_AuthInfoNone(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNone
*r
)
2816 if (ndr_flags
& NDR_SCALARS
) {
2817 NDR_CHECK(ndr_pull_align(ndr
, 4));
2818 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2819 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2821 if (ndr_flags
& NDR_BUFFERS
) {
2823 return NDR_ERR_SUCCESS
;
2826 _PUBLIC_
void ndr_print_AuthInfoNone(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNone
*r
)
2828 ndr_print_struct(ndr
, name
, "AuthInfoNone");
2830 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->size
);
2834 static enum ndr_err_code
ndr_push_AuthInfoNT4Owf(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoNT4Owf
*r
)
2836 if (ndr_flags
& NDR_SCALARS
) {
2837 NDR_CHECK(ndr_push_align(ndr
, 4));
2838 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 16));
2839 NDR_CHECK(ndr_push_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2840 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2842 if (ndr_flags
& NDR_BUFFERS
) {
2844 return NDR_ERR_SUCCESS
;
2847 static enum ndr_err_code
ndr_pull_AuthInfoNT4Owf(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoNT4Owf
*r
)
2849 if (ndr_flags
& NDR_SCALARS
) {
2850 NDR_CHECK(ndr_pull_align(ndr
, 4));
2851 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2852 NDR_CHECK(ndr_pull_samr_Password(ndr
, NDR_SCALARS
, &r
->password
));
2853 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2855 if (ndr_flags
& NDR_BUFFERS
) {
2857 return NDR_ERR_SUCCESS
;
2860 _PUBLIC_
void ndr_print_AuthInfoNT4Owf(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoNT4Owf
*r
)
2862 ndr_print_struct(ndr
, name
, "AuthInfoNT4Owf");
2864 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?16:r
->size
);
2865 ndr_print_samr_Password(ndr
, "password", &r
->password
);
2869 static enum ndr_err_code
ndr_push_AuthInfoClear(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoClear
*r
)
2871 if (ndr_flags
& NDR_SCALARS
) {
2872 NDR_CHECK(ndr_push_align(ndr
, 4));
2873 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2874 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2875 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2877 if (ndr_flags
& NDR_BUFFERS
) {
2879 return NDR_ERR_SUCCESS
;
2882 static enum ndr_err_code
ndr_pull_AuthInfoClear(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoClear
*r
)
2884 if (ndr_flags
& NDR_SCALARS
) {
2885 NDR_CHECK(ndr_pull_align(ndr
, 4));
2886 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2887 NDR_PULL_ALLOC_N(ndr
, r
->password
, r
->size
);
2888 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->password
, r
->size
));
2889 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2891 if (ndr_flags
& NDR_BUFFERS
) {
2893 return NDR_ERR_SUCCESS
;
2896 _PUBLIC_
void ndr_print_AuthInfoClear(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoClear
*r
)
2898 ndr_print_struct(ndr
, name
, "AuthInfoClear");
2900 ndr_print_uint32(ndr
, "size", r
->size
);
2901 ndr_print_array_uint8(ndr
, "password", r
->password
, r
->size
);
2905 static enum ndr_err_code
ndr_push_AuthInfoVersion(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthInfoVersion
*r
)
2907 if (ndr_flags
& NDR_SCALARS
) {
2908 NDR_CHECK(ndr_push_align(ndr
, 4));
2909 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 4));
2910 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2911 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2913 if (ndr_flags
& NDR_BUFFERS
) {
2915 return NDR_ERR_SUCCESS
;
2918 static enum ndr_err_code
ndr_pull_AuthInfoVersion(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthInfoVersion
*r
)
2920 if (ndr_flags
& NDR_SCALARS
) {
2921 NDR_CHECK(ndr_pull_align(ndr
, 4));
2922 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2923 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2924 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2926 if (ndr_flags
& NDR_BUFFERS
) {
2928 return NDR_ERR_SUCCESS
;
2931 _PUBLIC_
void ndr_print_AuthInfoVersion(struct ndr_print
*ndr
, const char *name
, const struct AuthInfoVersion
*r
)
2933 ndr_print_struct(ndr
, name
, "AuthInfoVersion");
2935 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?4:r
->size
);
2936 ndr_print_uint32(ndr
, "version", r
->version
);
2940 static enum ndr_err_code
ndr_push_AuthInfo(struct ndr_push
*ndr
, int ndr_flags
, const union AuthInfo
*r
)
2942 if (ndr_flags
& NDR_SCALARS
) {
2943 int level
= ndr_push_get_switch_value(ndr
, r
);
2944 NDR_CHECK(ndr_push_union_align(ndr
, 4));
2946 case TRUST_AUTH_TYPE_NONE
: {
2947 NDR_CHECK(ndr_push_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2950 case TRUST_AUTH_TYPE_NT4OWF
: {
2951 NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
2954 case TRUST_AUTH_TYPE_CLEAR
: {
2955 NDR_CHECK(ndr_push_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
2958 case TRUST_AUTH_TYPE_VERSION
: {
2959 NDR_CHECK(ndr_push_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
2963 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2966 if (ndr_flags
& NDR_BUFFERS
) {
2967 int level
= ndr_push_get_switch_value(ndr
, r
);
2969 case TRUST_AUTH_TYPE_NONE
:
2972 case TRUST_AUTH_TYPE_NT4OWF
:
2975 case TRUST_AUTH_TYPE_CLEAR
:
2978 case TRUST_AUTH_TYPE_VERSION
:
2982 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
2985 return NDR_ERR_SUCCESS
;
2988 static enum ndr_err_code
ndr_pull_AuthInfo(struct ndr_pull
*ndr
, int ndr_flags
, union AuthInfo
*r
)
2991 level
= ndr_pull_get_switch_value(ndr
, r
);
2992 if (ndr_flags
& NDR_SCALARS
) {
2993 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
2995 case TRUST_AUTH_TYPE_NONE
: {
2996 NDR_CHECK(ndr_pull_AuthInfoNone(ndr
, NDR_SCALARS
, &r
->none
));
2999 case TRUST_AUTH_TYPE_NT4OWF
: {
3000 NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr
, NDR_SCALARS
, &r
->nt4owf
));
3003 case TRUST_AUTH_TYPE_CLEAR
: {
3004 NDR_CHECK(ndr_pull_AuthInfoClear(ndr
, NDR_SCALARS
, &r
->clear
));
3007 case TRUST_AUTH_TYPE_VERSION
: {
3008 NDR_CHECK(ndr_pull_AuthInfoVersion(ndr
, NDR_SCALARS
, &r
->version
));
3012 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3015 if (ndr_flags
& NDR_BUFFERS
) {
3017 case TRUST_AUTH_TYPE_NONE
:
3020 case TRUST_AUTH_TYPE_NT4OWF
:
3023 case TRUST_AUTH_TYPE_CLEAR
:
3026 case TRUST_AUTH_TYPE_VERSION
:
3030 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3033 return NDR_ERR_SUCCESS
;
3036 _PUBLIC_
void ndr_print_AuthInfo(struct ndr_print
*ndr
, const char *name
, const union AuthInfo
*r
)
3039 level
= ndr_print_get_switch_value(ndr
, r
);
3040 ndr_print_union(ndr
, name
, level
, "AuthInfo");
3042 case TRUST_AUTH_TYPE_NONE
:
3043 ndr_print_AuthInfoNone(ndr
, "none", &r
->none
);
3046 case TRUST_AUTH_TYPE_NT4OWF
:
3047 ndr_print_AuthInfoNT4Owf(ndr
, "nt4owf", &r
->nt4owf
);
3050 case TRUST_AUTH_TYPE_CLEAR
:
3051 ndr_print_AuthInfoClear(ndr
, "clear", &r
->clear
);
3054 case TRUST_AUTH_TYPE_VERSION
:
3055 ndr_print_AuthInfoVersion(ndr
, "version", &r
->version
);
3059 ndr_print_bad_level(ndr
, name
, level
);
3063 _PUBLIC_
enum ndr_err_code
ndr_push_AuthenticationInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct AuthenticationInformation
*r
)
3065 if (ndr_flags
& NDR_SCALARS
) {
3066 NDR_CHECK(ndr_push_align(ndr
, 4));
3067 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->LastUpdateTime
));
3068 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr
, NDR_SCALARS
, r
->AuthType
));
3069 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
3070 NDR_CHECK(ndr_push_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
3072 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
3073 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
3074 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->_pad
));
3075 ndr
->flags
= _flags_save_DATA_BLOB
;
3077 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
3079 if (ndr_flags
& NDR_BUFFERS
) {
3081 return NDR_ERR_SUCCESS
;
3084 _PUBLIC_
enum ndr_err_code
ndr_pull_AuthenticationInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct AuthenticationInformation
*r
)
3086 if (ndr_flags
& NDR_SCALARS
) {
3087 NDR_CHECK(ndr_pull_align(ndr
, 4));
3088 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->LastUpdateTime
));
3089 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr
, NDR_SCALARS
, &r
->AuthType
));
3090 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
));
3091 NDR_CHECK(ndr_pull_AuthInfo(ndr
, NDR_SCALARS
, &r
->AuthInfo
));
3093 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
3094 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN4
);
3095 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->_pad
));
3096 ndr
->flags
= _flags_save_DATA_BLOB
;
3098 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
3100 if (ndr_flags
& NDR_BUFFERS
) {
3102 return NDR_ERR_SUCCESS
;
3105 _PUBLIC_
void ndr_print_AuthenticationInformation(struct ndr_print
*ndr
, const char *name
, const struct AuthenticationInformation
*r
)
3107 ndr_print_struct(ndr
, name
, "AuthenticationInformation");
3109 ndr_print_NTTIME(ndr
, "LastUpdateTime", r
->LastUpdateTime
);
3110 ndr_print_lsa_TrustAuthType(ndr
, "AuthType", r
->AuthType
);
3111 ndr_print_set_switch_value(ndr
, &r
->AuthInfo
, r
->AuthType
);
3112 ndr_print_AuthInfo(ndr
, "AuthInfo", &r
->AuthInfo
);
3113 ndr_print_DATA_BLOB(ndr
, "_pad", r
->_pad
);
3117 _PUBLIC_
size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3119 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustAuthInOutBlob
, ic
);
3122 _PUBLIC_
enum ndr_err_code
ndr_push_trustCurrentPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustCurrentPasswords
*r
)
3124 uint32_t cntr_current_0
;
3125 if (ndr_flags
& NDR_SCALARS
) {
3126 NDR_CHECK(ndr_push_align(ndr
, 5));
3127 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3128 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3129 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->current
[cntr_current_0
]));
3131 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3133 if (ndr_flags
& NDR_BUFFERS
) {
3134 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3135 if (r
->current
[cntr_current_0
]) {
3136 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->current
[cntr_current_0
]));
3137 NDR_CHECK(ndr_push_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
3138 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->current
[cntr_current_0
]));
3142 return NDR_ERR_SUCCESS
;
3145 _PUBLIC_
enum ndr_err_code
ndr_pull_trustCurrentPasswords(struct ndr_pull
*ndr
, int ndr_flags
, struct trustCurrentPasswords
*r
)
3147 uint32_t _ptr_current
;
3148 uint32_t cntr_current_0
;
3149 TALLOC_CTX
*_mem_save_current_0
;
3150 TALLOC_CTX
*_mem_save_current_1
;
3151 if (ndr_flags
& NDR_SCALARS
) {
3152 NDR_CHECK(ndr_pull_align(ndr
, 5));
3153 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3154 NDR_PULL_ALLOC_N(ndr
, r
->current
, r
->count
);
3155 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3156 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
3157 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3158 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_current
));
3160 NDR_PULL_ALLOC(ndr
, r
->current
[cntr_current_0
]);
3161 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->current
[cntr_current_0
], _ptr_current
));
3163 r
->current
[cntr_current_0
] = NULL
;
3166 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
3167 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3169 if (ndr_flags
& NDR_BUFFERS
) {
3170 _mem_save_current_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3171 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
, 0);
3172 for (cntr_current_0
= 0; cntr_current_0
< r
->count
; cntr_current_0
++) {
3173 if (r
->current
[cntr_current_0
]) {
3174 uint32_t _relative_save_offset
;
3175 _relative_save_offset
= ndr
->offset
;
3176 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->current
[cntr_current_0
]));
3177 _mem_save_current_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3178 NDR_PULL_SET_MEM_CTX(ndr
, r
->current
[cntr_current_0
], 0);
3179 NDR_CHECK(ndr_pull_AuthenticationInformation(ndr
, NDR_SCALARS
, r
->current
[cntr_current_0
]));
3180 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_1
, 0);
3181 if (ndr
->offset
> ndr
->relative_highest_offset
) {
3182 ndr
->relative_highest_offset
= ndr
->offset
;
3184 ndr
->offset
= _relative_save_offset
;
3187 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_current_0
, 0);
3189 return NDR_ERR_SUCCESS
;
3192 _PUBLIC_
void ndr_print_trustCurrentPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustCurrentPasswords
*r
)
3194 uint32_t cntr_current_0
;
3195 ndr_print_struct(ndr
, name
, "trustCurrentPasswords");
3197 ndr_print_uint32(ndr
, "count", r
->count
);
3198 ndr
->print(ndr
, "%s: ARRAY(%d)", "current", (int)r
->count
);
3200 for (cntr_current_0
=0;cntr_current_0
<r
->count
;cntr_current_0
++) {
3202 if (asprintf(&idx_0
, "[%d]", cntr_current_0
) != -1) {
3203 ndr_print_ptr(ndr
, "current", r
->current
[cntr_current_0
]);
3205 if (r
->current
[cntr_current_0
]) {
3206 ndr_print_AuthenticationInformation(ndr
, "current", r
->current
[cntr_current_0
]);
3216 _PUBLIC_
size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3218 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_trustCurrentPasswords
, ic
);
3221 _PUBLIC_
enum ndr_err_code
ndr_push_trustDomainPasswords(struct ndr_push
*ndr
, int ndr_flags
, const struct trustDomainPasswords
*r
)
3223 if (ndr_flags
& NDR_SCALARS
) {
3224 NDR_CHECK(ndr_push_align(ndr
, 5));
3225 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->confounder
, 512));
3227 struct ndr_push
*_ndr_outgoing
;
3228 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3229 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing
, NDR_SCALARS
|NDR_BUFFERS
, &r
->outgoing
));
3230 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_outgoing
, 0, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3233 struct ndr_push
*_ndr_incoming
;
3234 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3235 NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming
, NDR_SCALARS
|NDR_BUFFERS
, &r
->incoming
));
3236 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_incoming
, 0, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3238 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->outgoing
, ndr
->iconv_convenience
, ndr
->flags
)));
3239 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_trustCurrentPasswords(&r
->incoming
, ndr
->iconv_convenience
, ndr
->flags
)));
3240 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3242 if (ndr_flags
& NDR_BUFFERS
) {
3244 return NDR_ERR_SUCCESS
;
3247 _PUBLIC_
void ndr_print_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, const struct trustDomainPasswords
*r
)
3249 ndr_print_struct(ndr
, name
, "trustDomainPasswords");
3251 ndr_print_array_uint8(ndr
, "confounder", r
->confounder
, 512);
3252 ndr_print_trustCurrentPasswords(ndr
, "outgoing", &r
->outgoing
);
3253 ndr_print_trustCurrentPasswords(ndr
, "incoming", &r
->incoming
);
3254 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
);
3255 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
);
3259 _PUBLIC_
enum ndr_err_code
ndr_push_DsCompressedChunk(struct ndr_push
*ndr
, int ndr_flags
, const struct DsCompressedChunk
*r
)
3261 if (ndr_flags
& NDR_SCALARS
) {
3262 NDR_CHECK(ndr_push_align(ndr
, 4));
3263 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->marker
));
3264 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->data
));
3265 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
3267 if (ndr_flags
& NDR_BUFFERS
) {
3269 return NDR_ERR_SUCCESS
;
3272 _PUBLIC_
enum ndr_err_code
ndr_pull_DsCompressedChunk(struct ndr_pull
*ndr
, int ndr_flags
, struct DsCompressedChunk
*r
)
3274 if (ndr_flags
& NDR_SCALARS
) {
3275 NDR_CHECK(ndr_pull_align(ndr
, 4));
3276 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->marker
));
3277 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->data
));
3278 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
3280 if (ndr_flags
& NDR_BUFFERS
) {
3282 return NDR_ERR_SUCCESS
;
3285 _PUBLIC_
void ndr_print_DsCompressedChunk(struct ndr_print
*ndr
, const char *name
, const struct DsCompressedChunk
*r
)
3287 ndr_print_struct(ndr
, name
, "DsCompressedChunk");
3289 ndr_print_uint32(ndr
, "marker", r
->marker
);
3290 ndr_print_DATA_BLOB(ndr
, "data", r
->data
);
3294 static enum ndr_err_code
ndr_push_ExtendedErrorAString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorAString
*r
)
3296 if (ndr_flags
& NDR_SCALARS
) {
3297 NDR_CHECK(ndr_push_align(ndr
, 5));
3298 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
3299 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
3300 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3302 if (ndr_flags
& NDR_BUFFERS
) {
3304 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->__size
));
3305 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint8_t), CH_DOS
));
3308 return NDR_ERR_SUCCESS
;
3311 static enum ndr_err_code
ndr_pull_ExtendedErrorAString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorAString
*r
)
3313 uint32_t _ptr_string
;
3314 TALLOC_CTX
*_mem_save_string_0
;
3315 if (ndr_flags
& NDR_SCALARS
) {
3316 NDR_CHECK(ndr_pull_align(ndr
, 5));
3317 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
3318 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
3320 NDR_PULL_ALLOC(ndr
, r
->string
);
3324 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3326 if (ndr_flags
& NDR_BUFFERS
) {
3328 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3329 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
3330 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
3331 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_size(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
3332 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
3335 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
3338 return NDR_ERR_SUCCESS
;
3341 _PUBLIC_
void ndr_print_ExtendedErrorAString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorAString
*r
)
3343 ndr_print_struct(ndr
, name
, "ExtendedErrorAString");
3345 ndr_print_uint16(ndr
, "__size", r
->__size
);
3346 ndr_print_ptr(ndr
, "string", r
->string
);
3349 ndr_print_string(ndr
, "string", r
->string
);
3355 static enum ndr_err_code
ndr_push_ExtendedErrorUString(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorUString
*r
)
3357 if (ndr_flags
& NDR_SCALARS
) {
3358 NDR_CHECK(ndr_push_align(ndr
, 5));
3359 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->__size
));
3360 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
3361 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3363 if (ndr_flags
& NDR_BUFFERS
) {
3365 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->__size
));
3366 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, r
->__size
, sizeof(uint16_t), CH_UTF16
));
3369 return NDR_ERR_SUCCESS
;
3372 static enum ndr_err_code
ndr_pull_ExtendedErrorUString(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorUString
*r
)
3374 uint32_t _ptr_string
;
3375 TALLOC_CTX
*_mem_save_string_0
;
3376 if (ndr_flags
& NDR_SCALARS
) {
3377 NDR_CHECK(ndr_pull_align(ndr
, 5));
3378 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->__size
));
3379 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
3381 NDR_PULL_ALLOC(ndr
, r
->string
);
3385 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3387 if (ndr_flags
& NDR_BUFFERS
) {
3389 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3390 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
3391 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
3392 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_size(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
3393 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
3396 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->__size
));
3399 return NDR_ERR_SUCCESS
;
3402 _PUBLIC_
void ndr_print_ExtendedErrorUString(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorUString
*r
)
3404 ndr_print_struct(ndr
, name
, "ExtendedErrorUString");
3406 ndr_print_uint16(ndr
, "__size", r
->__size
);
3407 ndr_print_ptr(ndr
, "string", r
->string
);
3410 ndr_print_string(ndr
, "string", r
->string
);
3416 static enum ndr_err_code
ndr_push_ExtendedErrorBlob(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorBlob
*r
)
3418 if (ndr_flags
& NDR_SCALARS
) {
3419 NDR_CHECK(ndr_push_align(ndr
, 5));
3420 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->length
));
3421 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
3422 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3424 if (ndr_flags
& NDR_BUFFERS
) {
3426 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
3427 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
3430 return NDR_ERR_SUCCESS
;
3433 static enum ndr_err_code
ndr_pull_ExtendedErrorBlob(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorBlob
*r
)
3436 TALLOC_CTX
*_mem_save_data_0
;
3437 if (ndr_flags
& NDR_SCALARS
) {
3438 NDR_CHECK(ndr_pull_align(ndr
, 5));
3439 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
3440 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
3442 NDR_PULL_ALLOC(ndr
, r
->data
);
3446 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3448 if (ndr_flags
& NDR_BUFFERS
) {
3450 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3451 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
3452 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
3453 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
3454 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
3455 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
3458 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
3461 return NDR_ERR_SUCCESS
;
3464 _PUBLIC_
void ndr_print_ExtendedErrorBlob(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorBlob
*r
)
3466 ndr_print_struct(ndr
, name
, "ExtendedErrorBlob");
3468 ndr_print_uint16(ndr
, "length", r
->length
);
3469 ndr_print_ptr(ndr
, "data", r
->data
);
3472 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
3478 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent r
)
3480 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
3481 return NDR_ERR_SUCCESS
;
3484 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorComputerNamePresent
*r
)
3487 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
3489 return NDR_ERR_SUCCESS
;
3492 _PUBLIC_
void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorComputerNamePresent r
)
3494 const char *val
= NULL
;
3497 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break;
3498 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: val
= "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break;
3500 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3503 static enum ndr_err_code
ndr_push_ExtendedErrorComputerNameU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorComputerNameU
*r
)
3505 if (ndr_flags
& NDR_SCALARS
) {
3506 int level
= ndr_push_get_switch_value(ndr
, r
);
3507 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, level
));
3508 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3510 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3511 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3514 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3518 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3521 if (ndr_flags
& NDR_BUFFERS
) {
3522 int level
= ndr_push_get_switch_value(ndr
, r
);
3524 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3525 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3528 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3532 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3535 return NDR_ERR_SUCCESS
;
3538 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorComputerNameU
*r
)
3542 level
= ndr_pull_get_switch_value(ndr
, r
);
3543 if (ndr_flags
& NDR_SCALARS
) {
3544 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
3545 if (_level
!= level
) {
3546 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3548 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3550 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
: {
3551 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->name
));
3554 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
: {
3558 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3561 if (ndr_flags
& NDR_BUFFERS
) {
3563 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3564 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->name
));
3567 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3571 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3574 return NDR_ERR_SUCCESS
;
3577 _PUBLIC_
void ndr_print_ExtendedErrorComputerNameU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorComputerNameU
*r
)
3580 level
= ndr_print_get_switch_value(ndr
, r
);
3581 ndr_print_union(ndr
, name
, level
, "ExtendedErrorComputerNameU");
3583 case EXTENDED_ERROR_COMPUTER_NAME_PRESENT
:
3584 ndr_print_ExtendedErrorUString(ndr
, "name", &r
->name
);
3587 case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT
:
3591 ndr_print_bad_level(ndr
, name
, level
);
3595 static enum ndr_err_code
ndr_push_ExtendedErrorComputerName(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorComputerName
*r
)
3597 if (ndr_flags
& NDR_SCALARS
) {
3598 NDR_CHECK(ndr_push_align(ndr
, 5));
3599 NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, r
->present
));
3600 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->n
, r
->present
));
3601 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3602 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3604 if (ndr_flags
& NDR_BUFFERS
) {
3605 NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3607 return NDR_ERR_SUCCESS
;
3610 static enum ndr_err_code
ndr_pull_ExtendedErrorComputerName(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorComputerName
*r
)
3612 if (ndr_flags
& NDR_SCALARS
) {
3613 NDR_CHECK(ndr_pull_align(ndr
, 5));
3614 NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr
, NDR_SCALARS
, &r
->present
));
3615 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->n
, r
->present
));
3616 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_SCALARS
, &r
->n
));
3617 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3619 if (ndr_flags
& NDR_BUFFERS
) {
3620 NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr
, NDR_BUFFERS
, &r
->n
));
3622 return NDR_ERR_SUCCESS
;
3625 _PUBLIC_
void ndr_print_ExtendedErrorComputerName(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorComputerName
*r
)
3627 ndr_print_struct(ndr
, name
, "ExtendedErrorComputerName");
3629 ndr_print_ExtendedErrorComputerNamePresent(ndr
, "present", r
->present
);
3630 ndr_print_set_switch_value(ndr
, &r
->n
, r
->present
);
3631 ndr_print_ExtendedErrorComputerNameU(ndr
, "n", &r
->n
);
3635 static enum ndr_err_code
ndr_push_ExtendedErrorParamType(struct ndr_push
*ndr
, int ndr_flags
, enum ExtendedErrorParamType r
)
3637 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
3638 return NDR_ERR_SUCCESS
;
3641 static enum ndr_err_code
ndr_pull_ExtendedErrorParamType(struct ndr_pull
*ndr
, int ndr_flags
, enum ExtendedErrorParamType
*r
)
3644 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
3646 return NDR_ERR_SUCCESS
;
3649 _PUBLIC_
void ndr_print_ExtendedErrorParamType(struct ndr_print
*ndr
, const char *name
, enum ExtendedErrorParamType r
)
3651 const char *val
= NULL
;
3654 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break;
3655 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: val
= "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break;
3656 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break;
3657 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break;
3658 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: val
= "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break;
3659 case EXTENDED_ERROR_PARAM_TYPE_NONE
: val
= "EXTENDED_ERROR_PARAM_TYPE_NONE"; break;
3660 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: val
= "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break;
3662 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3665 static enum ndr_err_code
ndr_push_ExtendedErrorParamU(struct ndr_push
*ndr
, int ndr_flags
, const union ExtendedErrorParamU
*r
)
3667 if (ndr_flags
& NDR_SCALARS
) {
3668 int level
= ndr_push_get_switch_value(ndr
, r
);
3669 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, level
));
3670 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3672 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3673 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3676 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3677 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3680 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3681 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->uint32
));
3684 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3685 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->uint16
));
3688 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3689 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->uint64
));
3692 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3695 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3696 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3700 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3703 if (ndr_flags
& NDR_BUFFERS
) {
3704 int level
= ndr_push_get_switch_value(ndr
, r
);
3706 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3707 NDR_CHECK(ndr_push_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3710 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3711 NDR_CHECK(ndr_push_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3714 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3717 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3720 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3723 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3726 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3727 NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3731 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3734 return NDR_ERR_SUCCESS
;
3737 static enum ndr_err_code
ndr_pull_ExtendedErrorParamU(struct ndr_pull
*ndr
, int ndr_flags
, union ExtendedErrorParamU
*r
)
3741 level
= ndr_pull_get_switch_value(ndr
, r
);
3742 if (ndr_flags
& NDR_SCALARS
) {
3743 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
3744 if (_level
!= level
) {
3745 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3747 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3749 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
: {
3750 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_SCALARS
, &r
->a_string
));
3753 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
: {
3754 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_SCALARS
, &r
->u_string
));
3757 case EXTENDED_ERROR_PARAM_TYPE_UINT32
: {
3758 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->uint32
));
3761 case EXTENDED_ERROR_PARAM_TYPE_UINT16
: {
3762 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->uint16
));
3765 case EXTENDED_ERROR_PARAM_TYPE_UINT64
: {
3766 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->uint64
));
3769 case EXTENDED_ERROR_PARAM_TYPE_NONE
: {
3772 case EXTENDED_ERROR_PARAM_TYPE_BLOB
: {
3773 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_SCALARS
, &r
->blob
));
3777 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3780 if (ndr_flags
& NDR_BUFFERS
) {
3782 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3783 NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr
, NDR_BUFFERS
, &r
->a_string
));
3786 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3787 NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr
, NDR_BUFFERS
, &r
->u_string
));
3790 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3793 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3796 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3799 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3802 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3803 NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr
, NDR_BUFFERS
, &r
->blob
));
3807 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3810 return NDR_ERR_SUCCESS
;
3813 _PUBLIC_
void ndr_print_ExtendedErrorParamU(struct ndr_print
*ndr
, const char *name
, const union ExtendedErrorParamU
*r
)
3816 level
= ndr_print_get_switch_value(ndr
, r
);
3817 ndr_print_union(ndr
, name
, level
, "ExtendedErrorParamU");
3819 case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING
:
3820 ndr_print_ExtendedErrorAString(ndr
, "a_string", &r
->a_string
);
3823 case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING
:
3824 ndr_print_ExtendedErrorUString(ndr
, "u_string", &r
->u_string
);
3827 case EXTENDED_ERROR_PARAM_TYPE_UINT32
:
3828 ndr_print_uint32(ndr
, "uint32", r
->uint32
);
3831 case EXTENDED_ERROR_PARAM_TYPE_UINT16
:
3832 ndr_print_uint16(ndr
, "uint16", r
->uint16
);
3835 case EXTENDED_ERROR_PARAM_TYPE_UINT64
:
3836 ndr_print_hyper(ndr
, "uint64", r
->uint64
);
3839 case EXTENDED_ERROR_PARAM_TYPE_NONE
:
3842 case EXTENDED_ERROR_PARAM_TYPE_BLOB
:
3843 ndr_print_ExtendedErrorBlob(ndr
, "blob", &r
->blob
);
3847 ndr_print_bad_level(ndr
, name
, level
);
3851 static enum ndr_err_code
ndr_push_ExtendedErrorParam(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorParam
*r
)
3853 if (ndr_flags
& NDR_SCALARS
) {
3854 NDR_CHECK(ndr_push_align(ndr
, 8));
3855 NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr
, NDR_SCALARS
, r
->type
));
3856 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->p
, r
->type
));
3857 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3858 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
3860 if (ndr_flags
& NDR_BUFFERS
) {
3861 NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3863 return NDR_ERR_SUCCESS
;
3866 static enum ndr_err_code
ndr_pull_ExtendedErrorParam(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorParam
*r
)
3868 if (ndr_flags
& NDR_SCALARS
) {
3869 NDR_CHECK(ndr_pull_align(ndr
, 8));
3870 NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr
, NDR_SCALARS
, &r
->type
));
3871 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->p
, r
->type
));
3872 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_SCALARS
, &r
->p
));
3873 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3875 if (ndr_flags
& NDR_BUFFERS
) {
3876 NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr
, NDR_BUFFERS
, &r
->p
));
3878 return NDR_ERR_SUCCESS
;
3881 _PUBLIC_
void ndr_print_ExtendedErrorParam(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorParam
*r
)
3883 ndr_print_struct(ndr
, name
, "ExtendedErrorParam");
3885 ndr_print_ExtendedErrorParamType(ndr
, "type", r
->type
);
3886 ndr_print_set_switch_value(ndr
, &r
->p
, r
->type
);
3887 ndr_print_ExtendedErrorParamU(ndr
, "p", &r
->p
);
3891 _PUBLIC_
enum ndr_err_code
ndr_push_ExtendedErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfo
*r
)
3893 uint32_t cntr_params_0
;
3894 if (ndr_flags
& NDR_SCALARS
) {
3895 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_params
));
3896 NDR_CHECK(ndr_push_align(ndr
, 8));
3897 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
3898 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3899 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->pid
));
3900 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
3901 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->generating_component
));
3902 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
3903 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->detection_location
));
3904 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->flags
));
3905 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->num_params
));
3906 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3907 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3909 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
3911 if (ndr_flags
& NDR_BUFFERS
) {
3913 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3915 NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3916 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3917 NDR_CHECK(ndr_push_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3920 return NDR_ERR_SUCCESS
;
3923 _PUBLIC_
enum ndr_err_code
ndr_pull_ExtendedErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfo
*r
)
3926 TALLOC_CTX
*_mem_save_next_0
;
3927 uint32_t cntr_params_0
;
3928 TALLOC_CTX
*_mem_save_params_0
;
3929 if (ndr_flags
& NDR_SCALARS
) {
3930 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->params
));
3931 NDR_CHECK(ndr_pull_align(ndr
, 8));
3932 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
3934 NDR_PULL_ALLOC(ndr
, r
->next
);
3938 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_SCALARS
, &r
->computer_name
));
3939 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->pid
));
3940 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
3941 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->generating_component
));
3942 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
3943 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->detection_location
));
3944 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->flags
));
3945 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->num_params
));
3946 NDR_PULL_ALLOC_N(ndr
, r
->params
, ndr_get_array_size(ndr
, &r
->params
));
3947 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3948 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3949 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3950 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_SCALARS
, &r
->params
[cntr_params_0
]));
3952 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3954 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->params
, r
->num_params
));
3956 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3958 if (ndr_flags
& NDR_BUFFERS
) {
3960 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3961 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
3962 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
3963 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
3965 NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr
, NDR_BUFFERS
, &r
->computer_name
));
3966 _mem_save_params_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3967 NDR_PULL_SET_MEM_CTX(ndr
, r
->params
, 0);
3968 for (cntr_params_0
= 0; cntr_params_0
< r
->num_params
; cntr_params_0
++) {
3969 NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr
, NDR_BUFFERS
, &r
->params
[cntr_params_0
]));
3971 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_params_0
, 0);
3973 return NDR_ERR_SUCCESS
;
3976 _PUBLIC_
void ndr_print_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfo
*r
)
3978 uint32_t cntr_params_0
;
3979 ndr_print_struct(ndr
, name
, "ExtendedErrorInfo");
3981 ndr_print_ptr(ndr
, "next", r
->next
);
3984 ndr_print_ExtendedErrorInfo(ndr
, "next", r
->next
);
3987 ndr_print_ExtendedErrorComputerName(ndr
, "computer_name", &r
->computer_name
);
3988 ndr_print_hyper(ndr
, "pid", r
->pid
);
3989 ndr_print_NTTIME(ndr
, "time", r
->time
);
3990 ndr_print_uint32(ndr
, "generating_component", r
->generating_component
);
3991 ndr_print_WERROR(ndr
, "status", r
->status
);
3992 ndr_print_uint16(ndr
, "detection_location", r
->detection_location
);
3993 ndr_print_uint16(ndr
, "flags", r
->flags
);
3994 ndr_print_uint16(ndr
, "num_params", r
->num_params
);
3995 ndr
->print(ndr
, "%s: ARRAY(%d)", "params", (int)r
->num_params
);
3997 for (cntr_params_0
=0;cntr_params_0
<r
->num_params
;cntr_params_0
++) {
3999 if (asprintf(&idx_0
, "[%d]", cntr_params_0
) != -1) {
4000 ndr_print_ExtendedErrorParam(ndr
, "params", &r
->params
[cntr_params_0
]);
4008 static enum ndr_err_code
ndr_push_ExtendedErrorInfoPtr(struct ndr_push
*ndr
, int ndr_flags
, const struct ExtendedErrorInfoPtr
*r
)
4010 if (ndr_flags
& NDR_SCALARS
) {
4011 NDR_CHECK(ndr_push_align(ndr
, 5));
4012 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
4013 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4015 if (ndr_flags
& NDR_BUFFERS
) {
4017 NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
4020 return NDR_ERR_SUCCESS
;
4023 static enum ndr_err_code
ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull
*ndr
, int ndr_flags
, struct ExtendedErrorInfoPtr
*r
)
4026 TALLOC_CTX
*_mem_save_info_0
;
4027 if (ndr_flags
& NDR_SCALARS
) {
4028 NDR_CHECK(ndr_pull_align(ndr
, 5));
4029 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
4031 NDR_PULL_ALLOC(ndr
, r
->info
);
4035 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4037 if (ndr_flags
& NDR_BUFFERS
) {
4039 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4040 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
4041 NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
4042 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
4045 return NDR_ERR_SUCCESS
;
4048 _PUBLIC_
void ndr_print_ExtendedErrorInfoPtr(struct ndr_print
*ndr
, const char *name
, const struct ExtendedErrorInfoPtr
*r
)
4050 ndr_print_struct(ndr
, name
, "ExtendedErrorInfoPtr");
4052 ndr_print_ptr(ndr
, "info", r
->info
);
4055 ndr_print_ExtendedErrorInfo(ndr
, "info", r
->info
);
4061 static enum ndr_err_code
ndr_push_ForestTrustString(struct ndr_push
*ndr
, int ndr_flags
, const struct ForestTrustString
*r
)
4063 if (ndr_flags
& NDR_SCALARS
) {
4064 NDR_CHECK(ndr_push_align(ndr
, 4));
4065 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
4066 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, strlen_m(r
->string
), sizeof(uint8_t), CH_UTF8
));
4067 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4069 if (ndr_flags
& NDR_BUFFERS
) {
4071 return NDR_ERR_SUCCESS
;
4074 static enum ndr_err_code
ndr_pull_ForestTrustString(struct ndr_pull
*ndr
, int ndr_flags
, struct ForestTrustString
*r
)
4076 if (ndr_flags
& NDR_SCALARS
) {
4077 NDR_CHECK(ndr_pull_align(ndr
, 4));
4078 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
4079 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, r
->size
, sizeof(uint8_t), CH_UTF8
));
4080 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4082 if (ndr_flags
& NDR_BUFFERS
) {
4084 return NDR_ERR_SUCCESS
;
4087 _PUBLIC_
void ndr_print_ForestTrustString(struct ndr_print
*ndr
, const char *name
, const struct ForestTrustString
*r
)
4089 ndr_print_struct(ndr
, name
, "ForestTrustString");
4091 ndr_print_uint32(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->size
);
4092 ndr_print_string(ndr
, "string", r
->string
);
4096 static enum ndr_err_code
ndr_push_ForestTrustDataDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct ForestTrustDataDomainInfo
*r
)
4099 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4100 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4101 if (ndr_flags
& NDR_SCALARS
) {
4102 NDR_CHECK(ndr_push_align(ndr
, 4));
4103 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid0(&r
->sid
, ndr
->flags
)));
4105 struct ndr_push
*_ndr_sid
;
4106 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_sid
, 0, ndr_size_dom_sid0(&r
->sid
, ndr
->flags
)));
4107 NDR_CHECK(ndr_push_dom_sid(_ndr_sid
, NDR_SCALARS
, &r
->sid
));
4108 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_sid
, 0, ndr_size_dom_sid0(&r
->sid
, ndr
->flags
)));
4110 NDR_CHECK(ndr_push_ForestTrustString(ndr
, NDR_SCALARS
, &r
->dns_name
));
4111 NDR_CHECK(ndr_push_ForestTrustString(ndr
, NDR_SCALARS
, &r
->netbios_name
));
4112 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4114 if (ndr_flags
& NDR_BUFFERS
) {
4116 ndr
->flags
= _flags_save_STRUCT
;
4118 return NDR_ERR_SUCCESS
;
4121 static enum ndr_err_code
ndr_pull_ForestTrustDataDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct ForestTrustDataDomainInfo
*r
)
4124 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4125 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4126 if (ndr_flags
& NDR_SCALARS
) {
4127 NDR_CHECK(ndr_pull_align(ndr
, 4));
4128 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_size
));
4130 struct ndr_pull
*_ndr_sid
;
4131 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_sid
, 0, r
->sid_size
));
4132 NDR_CHECK(ndr_pull_dom_sid(_ndr_sid
, NDR_SCALARS
, &r
->sid
));
4133 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_sid
, 0, r
->sid_size
));
4135 NDR_CHECK(ndr_pull_ForestTrustString(ndr
, NDR_SCALARS
, &r
->dns_name
));
4136 NDR_CHECK(ndr_pull_ForestTrustString(ndr
, NDR_SCALARS
, &r
->netbios_name
));
4137 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4139 if (ndr_flags
& NDR_BUFFERS
) {
4141 ndr
->flags
= _flags_save_STRUCT
;
4143 return NDR_ERR_SUCCESS
;
4146 _PUBLIC_
void ndr_print_ForestTrustDataDomainInfo(struct ndr_print
*ndr
, const char *name
, const struct ForestTrustDataDomainInfo
*r
)
4148 ndr_print_struct(ndr
, name
, "ForestTrustDataDomainInfo");
4150 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4151 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4153 ndr_print_uint32(ndr
, "sid_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_dom_sid0(&r
->sid
, ndr
->flags
):r
->sid_size
);
4154 ndr_print_dom_sid(ndr
, "sid", &r
->sid
);
4155 ndr_print_ForestTrustString(ndr
, "dns_name", &r
->dns_name
);
4156 ndr_print_ForestTrustString(ndr
, "netbios_name", &r
->netbios_name
);
4158 ndr
->flags
= _flags_save_STRUCT
;
4162 static enum ndr_err_code
ndr_push_ForestTrustDataBinaryData(struct ndr_push
*ndr
, int ndr_flags
, const struct ForestTrustDataBinaryData
*r
)
4165 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4166 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4167 if (ndr_flags
& NDR_SCALARS
) {
4168 NDR_CHECK(ndr_push_align(ndr
, 4));
4169 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
4170 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
4171 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4173 if (ndr_flags
& NDR_BUFFERS
) {
4175 ndr
->flags
= _flags_save_STRUCT
;
4177 return NDR_ERR_SUCCESS
;
4180 static enum ndr_err_code
ndr_pull_ForestTrustDataBinaryData(struct ndr_pull
*ndr
, int ndr_flags
, struct ForestTrustDataBinaryData
*r
)
4183 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4184 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4185 if (ndr_flags
& NDR_SCALARS
) {
4186 NDR_CHECK(ndr_pull_align(ndr
, 4));
4187 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
4188 NDR_PULL_ALLOC_N(ndr
, r
->data
, r
->size
);
4189 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
4190 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4192 if (ndr_flags
& NDR_BUFFERS
) {
4194 ndr
->flags
= _flags_save_STRUCT
;
4196 return NDR_ERR_SUCCESS
;
4199 _PUBLIC_
void ndr_print_ForestTrustDataBinaryData(struct ndr_print
*ndr
, const char *name
, const struct ForestTrustDataBinaryData
*r
)
4201 ndr_print_struct(ndr
, name
, "ForestTrustDataBinaryData");
4203 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4204 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4206 ndr_print_uint32(ndr
, "size", r
->size
);
4207 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
4209 ndr
->flags
= _flags_save_STRUCT
;
4213 static enum ndr_err_code
ndr_push_ForestTrustData(struct ndr_push
*ndr
, int ndr_flags
, const union ForestTrustData
*r
)
4215 if (ndr_flags
& NDR_SCALARS
) {
4216 int level
= ndr_push_get_switch_value(ndr
, r
);
4217 NDR_CHECK(ndr_push_union_align(ndr
, 4));
4219 case FOREST_TRUST_TOP_LEVEL_NAME
: {
4220 NDR_CHECK(ndr_push_ForestTrustString(ndr
, NDR_SCALARS
, &r
->name
));
4223 case FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
4224 NDR_CHECK(ndr_push_ForestTrustString(ndr
, NDR_SCALARS
, &r
->name
));
4227 case FOREST_TRUST_DOMAIN_INFO
: {
4228 NDR_CHECK(ndr_push_ForestTrustDataDomainInfo(ndr
, NDR_SCALARS
, &r
->info
));
4232 NDR_CHECK(ndr_push_ForestTrustDataBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
4237 if (ndr_flags
& NDR_BUFFERS
) {
4238 int level
= ndr_push_get_switch_value(ndr
, r
);
4240 case FOREST_TRUST_TOP_LEVEL_NAME
:
4243 case FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4246 case FOREST_TRUST_DOMAIN_INFO
:
4254 return NDR_ERR_SUCCESS
;
4257 static enum ndr_err_code
ndr_pull_ForestTrustData(struct ndr_pull
*ndr
, int ndr_flags
, union ForestTrustData
*r
)
4260 level
= ndr_pull_get_switch_value(ndr
, r
);
4261 if (ndr_flags
& NDR_SCALARS
) {
4262 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
4264 case FOREST_TRUST_TOP_LEVEL_NAME
: {
4265 NDR_CHECK(ndr_pull_ForestTrustString(ndr
, NDR_SCALARS
, &r
->name
));
4268 case FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
4269 NDR_CHECK(ndr_pull_ForestTrustString(ndr
, NDR_SCALARS
, &r
->name
));
4272 case FOREST_TRUST_DOMAIN_INFO
: {
4273 NDR_CHECK(ndr_pull_ForestTrustDataDomainInfo(ndr
, NDR_SCALARS
, &r
->info
));
4277 NDR_CHECK(ndr_pull_ForestTrustDataBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
4282 if (ndr_flags
& NDR_BUFFERS
) {
4284 case FOREST_TRUST_TOP_LEVEL_NAME
:
4287 case FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4290 case FOREST_TRUST_DOMAIN_INFO
:
4298 return NDR_ERR_SUCCESS
;
4301 _PUBLIC_
void ndr_print_ForestTrustData(struct ndr_print
*ndr
, const char *name
, const union ForestTrustData
*r
)
4304 level
= ndr_print_get_switch_value(ndr
, r
);
4305 ndr_print_union(ndr
, name
, level
, "ForestTrustData");
4307 case FOREST_TRUST_TOP_LEVEL_NAME
:
4308 ndr_print_ForestTrustString(ndr
, "name", &r
->name
);
4311 case FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4312 ndr_print_ForestTrustString(ndr
, "name", &r
->name
);
4315 case FOREST_TRUST_DOMAIN_INFO
:
4316 ndr_print_ForestTrustDataDomainInfo(ndr
, "info", &r
->info
);
4320 ndr_print_ForestTrustDataBinaryData(ndr
, "data", &r
->data
);
4326 static enum ndr_err_code
ndr_push_ForestTrustInfoRecordType(struct ndr_push
*ndr
, int ndr_flags
, enum ForestTrustInfoRecordType r
)
4328 NDR_CHECK(ndr_push_enum_uint8(ndr
, NDR_SCALARS
, r
));
4329 return NDR_ERR_SUCCESS
;
4332 static enum ndr_err_code
ndr_pull_ForestTrustInfoRecordType(struct ndr_pull
*ndr
, int ndr_flags
, enum ForestTrustInfoRecordType
*r
)
4335 NDR_CHECK(ndr_pull_enum_uint8(ndr
, NDR_SCALARS
, &v
));
4337 return NDR_ERR_SUCCESS
;
4340 _PUBLIC_
void ndr_print_ForestTrustInfoRecordType(struct ndr_print
*ndr
, const char *name
, enum ForestTrustInfoRecordType r
)
4342 const char *val
= NULL
;
4345 case FOREST_TRUST_TOP_LEVEL_NAME
: val
= "FOREST_TRUST_TOP_LEVEL_NAME"; break;
4346 case FOREST_TRUST_TOP_LEVEL_NAME_EX
: val
= "FOREST_TRUST_TOP_LEVEL_NAME_EX"; break;
4347 case FOREST_TRUST_DOMAIN_INFO
: val
= "FOREST_TRUST_DOMAIN_INFO"; break;
4349 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4352 _PUBLIC_
enum ndr_err_code
ndr_push_ForestTrustInfoRecord(struct ndr_push
*ndr
, int ndr_flags
, const struct ForestTrustInfoRecord
*r
)
4355 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4356 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4357 if (ndr_flags
& NDR_SCALARS
) {
4358 NDR_CHECK(ndr_push_align(ndr
, 4));
4359 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4360 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->timestamp
));
4361 NDR_CHECK(ndr_push_ForestTrustInfoRecordType(ndr
, NDR_SCALARS
, r
->type
));
4362 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->data
, r
->type
));
4363 NDR_CHECK(ndr_push_ForestTrustData(ndr
, NDR_SCALARS
, &r
->data
));
4364 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4366 if (ndr_flags
& NDR_BUFFERS
) {
4368 ndr
->flags
= _flags_save_STRUCT
;
4370 return NDR_ERR_SUCCESS
;
4373 _PUBLIC_
enum ndr_err_code
ndr_pull_ForestTrustInfoRecord(struct ndr_pull
*ndr
, int ndr_flags
, struct ForestTrustInfoRecord
*r
)
4376 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4377 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4378 if (ndr_flags
& NDR_SCALARS
) {
4379 NDR_CHECK(ndr_pull_align(ndr
, 4));
4380 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
4381 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->timestamp
));
4382 NDR_CHECK(ndr_pull_ForestTrustInfoRecordType(ndr
, NDR_SCALARS
, &r
->type
));
4383 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->data
, r
->type
));
4384 NDR_CHECK(ndr_pull_ForestTrustData(ndr
, NDR_SCALARS
, &r
->data
));
4385 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4387 if (ndr_flags
& NDR_BUFFERS
) {
4389 ndr
->flags
= _flags_save_STRUCT
;
4391 return NDR_ERR_SUCCESS
;
4394 _PUBLIC_
void ndr_print_ForestTrustInfoRecord(struct ndr_print
*ndr
, const char *name
, const struct ForestTrustInfoRecord
*r
)
4396 ndr_print_struct(ndr
, name
, "ForestTrustInfoRecord");
4398 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4399 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4401 ndr_print_uint32(ndr
, "flags", r
->flags
);
4402 ndr_print_NTTIME(ndr
, "timestamp", r
->timestamp
);
4403 ndr_print_ForestTrustInfoRecordType(ndr
, "type", r
->type
);
4404 ndr_print_set_switch_value(ndr
, &r
->data
, r
->type
);
4405 ndr_print_ForestTrustData(ndr
, "data", &r
->data
);
4407 ndr
->flags
= _flags_save_STRUCT
;
4411 _PUBLIC_
size_t ndr_size_ForestTrustInfoRecord(const struct ForestTrustInfoRecord
*r
, struct smb_iconv_convenience
*ic
, int flags
)
4413 flags
|= LIBNDR_FLAG_NOALIGN
;
4414 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_ForestTrustInfoRecord
, ic
);
4417 static enum ndr_err_code
ndr_push_ForestTrustInfoRecordArmor(struct ndr_push
*ndr
, int ndr_flags
, const struct ForestTrustInfoRecordArmor
*r
)
4420 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4421 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4422 if (ndr_flags
& NDR_SCALARS
) {
4423 NDR_CHECK(ndr_push_align(ndr
, 4));
4424 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_ForestTrustInfoRecord(&r
->record
, ndr
->iconv_convenience
, ndr
->flags
)));
4425 NDR_CHECK(ndr_push_ForestTrustInfoRecord(ndr
, NDR_SCALARS
, &r
->record
));
4426 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4428 if (ndr_flags
& NDR_BUFFERS
) {
4430 ndr
->flags
= _flags_save_STRUCT
;
4432 return NDR_ERR_SUCCESS
;
4435 static enum ndr_err_code
ndr_pull_ForestTrustInfoRecordArmor(struct ndr_pull
*ndr
, int ndr_flags
, struct ForestTrustInfoRecordArmor
*r
)
4438 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4439 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4440 if (ndr_flags
& NDR_SCALARS
) {
4441 NDR_CHECK(ndr_pull_align(ndr
, 4));
4442 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->record_size
));
4443 NDR_CHECK(ndr_pull_ForestTrustInfoRecord(ndr
, NDR_SCALARS
, &r
->record
));
4444 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4446 if (ndr_flags
& NDR_BUFFERS
) {
4448 ndr
->flags
= _flags_save_STRUCT
;
4450 return NDR_ERR_SUCCESS
;
4453 _PUBLIC_
void ndr_print_ForestTrustInfoRecordArmor(struct ndr_print
*ndr
, const char *name
, const struct ForestTrustInfoRecordArmor
*r
)
4455 ndr_print_struct(ndr
, name
, "ForestTrustInfoRecordArmor");
4457 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4458 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4460 ndr_print_uint32(ndr
, "record_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_ForestTrustInfoRecord(&r
->record
, ndr
->iconv_convenience
, ndr
->flags
):r
->record_size
);
4461 ndr_print_ForestTrustInfoRecord(ndr
, "record", &r
->record
);
4463 ndr
->flags
= _flags_save_STRUCT
;
4467 _PUBLIC_
enum ndr_err_code
ndr_push_ForestTrustInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct ForestTrustInfo
*r
)
4469 uint32_t cntr_records_0
;
4471 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4472 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4473 if (ndr_flags
& NDR_SCALARS
) {
4474 NDR_CHECK(ndr_push_align(ndr
, 4));
4475 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
4476 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4477 for (cntr_records_0
= 0; cntr_records_0
< r
->count
; cntr_records_0
++) {
4478 NDR_CHECK(ndr_push_ForestTrustInfoRecordArmor(ndr
, NDR_SCALARS
, &r
->records
[cntr_records_0
]));
4480 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4482 if (ndr_flags
& NDR_BUFFERS
) {
4484 ndr
->flags
= _flags_save_STRUCT
;
4486 return NDR_ERR_SUCCESS
;
4489 _PUBLIC_
enum ndr_err_code
ndr_pull_ForestTrustInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct ForestTrustInfo
*r
)
4491 uint32_t cntr_records_0
;
4492 TALLOC_CTX
*_mem_save_records_0
;
4494 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4495 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4496 if (ndr_flags
& NDR_SCALARS
) {
4497 NDR_CHECK(ndr_pull_align(ndr
, 4));
4498 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
4499 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4500 NDR_PULL_ALLOC_N(ndr
, r
->records
, r
->count
);
4501 _mem_save_records_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4502 NDR_PULL_SET_MEM_CTX(ndr
, r
->records
, 0);
4503 for (cntr_records_0
= 0; cntr_records_0
< r
->count
; cntr_records_0
++) {
4504 NDR_CHECK(ndr_pull_ForestTrustInfoRecordArmor(ndr
, NDR_SCALARS
, &r
->records
[cntr_records_0
]));
4506 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_records_0
, 0);
4507 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4509 if (ndr_flags
& NDR_BUFFERS
) {
4511 ndr
->flags
= _flags_save_STRUCT
;
4513 return NDR_ERR_SUCCESS
;
4516 _PUBLIC_
void ndr_print_ForestTrustInfo(struct ndr_print
*ndr
, const char *name
, const struct ForestTrustInfo
*r
)
4518 uint32_t cntr_records_0
;
4519 ndr_print_struct(ndr
, name
, "ForestTrustInfo");
4521 uint32_t _flags_save_STRUCT
= ndr
->flags
;
4522 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
4524 ndr_print_uint32(ndr
, "version", r
->version
);
4525 ndr_print_uint32(ndr
, "count", r
->count
);
4526 ndr
->print(ndr
, "%s: ARRAY(%d)", "records", (int)r
->count
);
4528 for (cntr_records_0
=0;cntr_records_0
<r
->count
;cntr_records_0
++) {
4530 if (asprintf(&idx_0
, "[%d]", cntr_records_0
) != -1) {
4531 ndr_print_ForestTrustInfoRecordArmor(ndr
, "records", &r
->records
[cntr_records_0
]);
4537 ndr
->flags
= _flags_save_STRUCT
;
4541 static enum ndr_err_code
ndr_push_decode_replPropertyMetaData(struct ndr_push
*ndr
, int flags
, const struct decode_replPropertyMetaData
*r
)
4543 if (flags
& NDR_IN
) {
4544 NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4546 if (flags
& NDR_OUT
) {
4548 return NDR_ERR_SUCCESS
;
4551 static enum ndr_err_code
ndr_pull_decode_replPropertyMetaData(struct ndr_pull
*ndr
, int flags
, struct decode_replPropertyMetaData
*r
)
4553 if (flags
& NDR_IN
) {
4554 NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4556 if (flags
& NDR_OUT
) {
4558 return NDR_ERR_SUCCESS
;
4561 _PUBLIC_
void ndr_print_decode_replPropertyMetaData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replPropertyMetaData
*r
)
4563 ndr_print_struct(ndr
, name
, "decode_replPropertyMetaData");
4565 if (flags
& NDR_SET_VALUES
) {
4566 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4568 if (flags
& NDR_IN
) {
4569 ndr_print_struct(ndr
, "in", "decode_replPropertyMetaData");
4571 ndr_print_replPropertyMetaDataBlob(ndr
, "blob", &r
->in
.blob
);
4574 if (flags
& NDR_OUT
) {
4575 ndr_print_struct(ndr
, "out", "decode_replPropertyMetaData");
4582 static enum ndr_err_code
ndr_push_decode_replUpToDateVector(struct ndr_push
*ndr
, int flags
, const struct decode_replUpToDateVector
*r
)
4584 if (flags
& NDR_IN
) {
4585 NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4587 if (flags
& NDR_OUT
) {
4589 return NDR_ERR_SUCCESS
;
4592 static enum ndr_err_code
ndr_pull_decode_replUpToDateVector(struct ndr_pull
*ndr
, int flags
, struct decode_replUpToDateVector
*r
)
4594 if (flags
& NDR_IN
) {
4595 NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4597 if (flags
& NDR_OUT
) {
4599 return NDR_ERR_SUCCESS
;
4602 _PUBLIC_
void ndr_print_decode_replUpToDateVector(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_replUpToDateVector
*r
)
4604 ndr_print_struct(ndr
, name
, "decode_replUpToDateVector");
4606 if (flags
& NDR_SET_VALUES
) {
4607 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4609 if (flags
& NDR_IN
) {
4610 ndr_print_struct(ndr
, "in", "decode_replUpToDateVector");
4612 ndr_print_replUpToDateVectorBlob(ndr
, "blob", &r
->in
.blob
);
4615 if (flags
& NDR_OUT
) {
4616 ndr_print_struct(ndr
, "out", "decode_replUpToDateVector");
4623 static enum ndr_err_code
ndr_push_decode_repsFromTo(struct ndr_push
*ndr
, int flags
, const struct decode_repsFromTo
*r
)
4625 if (flags
& NDR_IN
) {
4626 NDR_CHECK(ndr_push_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4628 if (flags
& NDR_OUT
) {
4630 return NDR_ERR_SUCCESS
;
4633 static enum ndr_err_code
ndr_pull_decode_repsFromTo(struct ndr_pull
*ndr
, int flags
, struct decode_repsFromTo
*r
)
4635 if (flags
& NDR_IN
) {
4636 NDR_CHECK(ndr_pull_repsFromToBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4638 if (flags
& NDR_OUT
) {
4640 return NDR_ERR_SUCCESS
;
4643 _PUBLIC_
void ndr_print_decode_repsFromTo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_repsFromTo
*r
)
4645 ndr_print_struct(ndr
, name
, "decode_repsFromTo");
4647 if (flags
& NDR_SET_VALUES
) {
4648 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4650 if (flags
& NDR_IN
) {
4651 ndr_print_struct(ndr
, "in", "decode_repsFromTo");
4653 ndr_print_repsFromToBlob(ndr
, "blob", &r
->in
.blob
);
4656 if (flags
& NDR_OUT
) {
4657 ndr_print_struct(ndr
, "out", "decode_repsFromTo");
4664 static enum ndr_err_code
ndr_push_decode_partialAttributeSet(struct ndr_push
*ndr
, int flags
, const struct decode_partialAttributeSet
*r
)
4666 if (flags
& NDR_IN
) {
4667 NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4669 if (flags
& NDR_OUT
) {
4671 return NDR_ERR_SUCCESS
;
4674 static enum ndr_err_code
ndr_pull_decode_partialAttributeSet(struct ndr_pull
*ndr
, int flags
, struct decode_partialAttributeSet
*r
)
4676 if (flags
& NDR_IN
) {
4677 NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4679 if (flags
& NDR_OUT
) {
4681 return NDR_ERR_SUCCESS
;
4684 _PUBLIC_
void ndr_print_decode_partialAttributeSet(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_partialAttributeSet
*r
)
4686 ndr_print_struct(ndr
, name
, "decode_partialAttributeSet");
4688 if (flags
& NDR_SET_VALUES
) {
4689 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4691 if (flags
& NDR_IN
) {
4692 ndr_print_struct(ndr
, "in", "decode_partialAttributeSet");
4694 ndr_print_partialAttributeSetBlob(ndr
, "blob", &r
->in
.blob
);
4697 if (flags
& NDR_OUT
) {
4698 ndr_print_struct(ndr
, "out", "decode_partialAttributeSet");
4705 static enum ndr_err_code
ndr_push_decode_prefixMap(struct ndr_push
*ndr
, int flags
, const struct decode_prefixMap
*r
)
4707 if (flags
& NDR_IN
) {
4708 NDR_CHECK(ndr_push_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4710 if (flags
& NDR_OUT
) {
4712 return NDR_ERR_SUCCESS
;
4715 static enum ndr_err_code
ndr_pull_decode_prefixMap(struct ndr_pull
*ndr
, int flags
, struct decode_prefixMap
*r
)
4717 if (flags
& NDR_IN
) {
4718 NDR_CHECK(ndr_pull_prefixMapBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4720 if (flags
& NDR_OUT
) {
4722 return NDR_ERR_SUCCESS
;
4725 _PUBLIC_
void ndr_print_decode_prefixMap(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_prefixMap
*r
)
4727 ndr_print_struct(ndr
, name
, "decode_prefixMap");
4729 if (flags
& NDR_SET_VALUES
) {
4730 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4732 if (flags
& NDR_IN
) {
4733 ndr_print_struct(ndr
, "in", "decode_prefixMap");
4735 ndr_print_prefixMapBlob(ndr
, "blob", &r
->in
.blob
);
4738 if (flags
& NDR_OUT
) {
4739 ndr_print_struct(ndr
, "out", "decode_prefixMap");
4746 static enum ndr_err_code
ndr_push_decode_ldapControlDirSync(struct ndr_push
*ndr
, int flags
, const struct decode_ldapControlDirSync
*r
)
4748 if (flags
& NDR_IN
) {
4749 NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
4751 if (flags
& NDR_OUT
) {
4753 return NDR_ERR_SUCCESS
;
4756 static enum ndr_err_code
ndr_pull_decode_ldapControlDirSync(struct ndr_pull
*ndr
, int flags
, struct decode_ldapControlDirSync
*r
)
4758 if (flags
& NDR_IN
) {
4759 NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.cookie
));
4761 if (flags
& NDR_OUT
) {
4763 return NDR_ERR_SUCCESS
;
4766 _PUBLIC_
void ndr_print_decode_ldapControlDirSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ldapControlDirSync
*r
)
4768 ndr_print_struct(ndr
, name
, "decode_ldapControlDirSync");
4770 if (flags
& NDR_SET_VALUES
) {
4771 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4773 if (flags
& NDR_IN
) {
4774 ndr_print_struct(ndr
, "in", "decode_ldapControlDirSync");
4776 ndr_print_ldapControlDirSyncCookie(ndr
, "cookie", &r
->in
.cookie
);
4779 if (flags
& NDR_OUT
) {
4780 ndr_print_struct(ndr
, "out", "decode_ldapControlDirSync");
4787 static enum ndr_err_code
ndr_push_decode_supplementalCredentials(struct ndr_push
*ndr
, int flags
, const struct decode_supplementalCredentials
*r
)
4789 if (flags
& NDR_IN
) {
4790 NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4792 if (flags
& NDR_OUT
) {
4794 return NDR_ERR_SUCCESS
;
4797 static enum ndr_err_code
ndr_pull_decode_supplementalCredentials(struct ndr_pull
*ndr
, int flags
, struct decode_supplementalCredentials
*r
)
4799 if (flags
& NDR_IN
) {
4800 NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4802 if (flags
& NDR_OUT
) {
4804 return NDR_ERR_SUCCESS
;
4807 _PUBLIC_
void ndr_print_decode_supplementalCredentials(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_supplementalCredentials
*r
)
4809 ndr_print_struct(ndr
, name
, "decode_supplementalCredentials");
4811 if (flags
& NDR_SET_VALUES
) {
4812 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4814 if (flags
& NDR_IN
) {
4815 ndr_print_struct(ndr
, "in", "decode_supplementalCredentials");
4817 ndr_print_supplementalCredentialsBlob(ndr
, "blob", &r
->in
.blob
);
4820 if (flags
& NDR_OUT
) {
4821 ndr_print_struct(ndr
, "out", "decode_supplementalCredentials");
4828 static enum ndr_err_code
ndr_push_decode_Packages(struct ndr_push
*ndr
, int flags
, const struct decode_Packages
*r
)
4830 if (flags
& NDR_IN
) {
4831 NDR_CHECK(ndr_push_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4833 if (flags
& NDR_OUT
) {
4835 return NDR_ERR_SUCCESS
;
4838 static enum ndr_err_code
ndr_pull_decode_Packages(struct ndr_pull
*ndr
, int flags
, struct decode_Packages
*r
)
4840 if (flags
& NDR_IN
) {
4841 NDR_CHECK(ndr_pull_package_PackagesBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4843 if (flags
& NDR_OUT
) {
4845 return NDR_ERR_SUCCESS
;
4848 _PUBLIC_
void ndr_print_decode_Packages(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_Packages
*r
)
4850 ndr_print_struct(ndr
, name
, "decode_Packages");
4852 if (flags
& NDR_SET_VALUES
) {
4853 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4855 if (flags
& NDR_IN
) {
4856 ndr_print_struct(ndr
, "in", "decode_Packages");
4858 ndr_print_package_PackagesBlob(ndr
, "blob", &r
->in
.blob
);
4861 if (flags
& NDR_OUT
) {
4862 ndr_print_struct(ndr
, "out", "decode_Packages");
4869 static enum ndr_err_code
ndr_push_decode_PrimaryKerberos(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryKerberos
*r
)
4871 if (flags
& NDR_IN
) {
4872 NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4874 if (flags
& NDR_OUT
) {
4876 return NDR_ERR_SUCCESS
;
4879 static enum ndr_err_code
ndr_pull_decode_PrimaryKerberos(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryKerberos
*r
)
4881 if (flags
& NDR_IN
) {
4882 NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4884 if (flags
& NDR_OUT
) {
4886 return NDR_ERR_SUCCESS
;
4889 _PUBLIC_
void ndr_print_decode_PrimaryKerberos(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryKerberos
*r
)
4891 ndr_print_struct(ndr
, name
, "decode_PrimaryKerberos");
4893 if (flags
& NDR_SET_VALUES
) {
4894 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4896 if (flags
& NDR_IN
) {
4897 ndr_print_struct(ndr
, "in", "decode_PrimaryKerberos");
4899 ndr_print_package_PrimaryKerberosBlob(ndr
, "blob", &r
->in
.blob
);
4902 if (flags
& NDR_OUT
) {
4903 ndr_print_struct(ndr
, "out", "decode_PrimaryKerberos");
4910 static enum ndr_err_code
ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
4912 if (flags
& NDR_IN
) {
4913 NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4915 if (flags
& NDR_OUT
) {
4917 return NDR_ERR_SUCCESS
;
4920 static enum ndr_err_code
ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryCLEARTEXT
*r
)
4922 if (flags
& NDR_IN
) {
4923 NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4925 if (flags
& NDR_OUT
) {
4927 return NDR_ERR_SUCCESS
;
4930 _PUBLIC_
void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryCLEARTEXT
*r
)
4932 ndr_print_struct(ndr
, name
, "decode_PrimaryCLEARTEXT");
4934 if (flags
& NDR_SET_VALUES
) {
4935 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4937 if (flags
& NDR_IN
) {
4938 ndr_print_struct(ndr
, "in", "decode_PrimaryCLEARTEXT");
4940 ndr_print_package_PrimaryCLEARTEXTBlob(ndr
, "blob", &r
->in
.blob
);
4943 if (flags
& NDR_OUT
) {
4944 ndr_print_struct(ndr
, "out", "decode_PrimaryCLEARTEXT");
4951 static enum ndr_err_code
ndr_push_decode_PrimaryWDigest(struct ndr_push
*ndr
, int flags
, const struct decode_PrimaryWDigest
*r
)
4953 if (flags
& NDR_IN
) {
4954 NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4956 if (flags
& NDR_OUT
) {
4958 return NDR_ERR_SUCCESS
;
4961 static enum ndr_err_code
ndr_pull_decode_PrimaryWDigest(struct ndr_pull
*ndr
, int flags
, struct decode_PrimaryWDigest
*r
)
4963 if (flags
& NDR_IN
) {
4964 NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr
, NDR_SCALARS
, &r
->in
.blob
));
4966 if (flags
& NDR_OUT
) {
4968 return NDR_ERR_SUCCESS
;
4971 _PUBLIC_
void ndr_print_decode_PrimaryWDigest(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_PrimaryWDigest
*r
)
4973 ndr_print_struct(ndr
, name
, "decode_PrimaryWDigest");
4975 if (flags
& NDR_SET_VALUES
) {
4976 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4978 if (flags
& NDR_IN
) {
4979 ndr_print_struct(ndr
, "in", "decode_PrimaryWDigest");
4981 ndr_print_package_PrimaryWDigestBlob(ndr
, "blob", &r
->in
.blob
);
4984 if (flags
& NDR_OUT
) {
4985 ndr_print_struct(ndr
, "out", "decode_PrimaryWDigest");
4992 static enum ndr_err_code
ndr_push_decode_trustAuthInOut(struct ndr_push
*ndr
, int flags
, const struct decode_trustAuthInOut
*r
)
4994 if (flags
& NDR_IN
) {
4995 NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
4997 if (flags
& NDR_OUT
) {
4999 return NDR_ERR_SUCCESS
;
5002 static enum ndr_err_code
ndr_pull_decode_trustAuthInOut(struct ndr_pull
*ndr
, int flags
, struct decode_trustAuthInOut
*r
)
5004 if (flags
& NDR_IN
) {
5005 NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
5007 if (flags
& NDR_OUT
) {
5009 return NDR_ERR_SUCCESS
;
5012 _PUBLIC_
void ndr_print_decode_trustAuthInOut(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustAuthInOut
*r
)
5014 ndr_print_struct(ndr
, name
, "decode_trustAuthInOut");
5016 if (flags
& NDR_SET_VALUES
) {
5017 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5019 if (flags
& NDR_IN
) {
5020 ndr_print_struct(ndr
, "in", "decode_trustAuthInOut");
5022 ndr_print_trustAuthInOutBlob(ndr
, "blob", &r
->in
.blob
);
5025 if (flags
& NDR_OUT
) {
5026 ndr_print_struct(ndr
, "out", "decode_trustAuthInOut");
5033 static enum ndr_err_code
ndr_push_decode_trustDomainPasswords(struct ndr_push
*ndr
, int flags
, const struct decode_trustDomainPasswords
*r
)
5035 if (flags
& NDR_IN
) {
5036 NDR_CHECK(ndr_push_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
5038 if (flags
& NDR_OUT
) {
5040 return NDR_ERR_SUCCESS
;
5043 static enum ndr_err_code
ndr_pull_decode_trustDomainPasswords(struct ndr_pull
*ndr
, int flags
, struct decode_trustDomainPasswords
*r
)
5045 if (flags
& NDR_IN
) {
5046 NDR_CHECK(ndr_pull_trustDomainPasswords(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.blob
));
5048 if (flags
& NDR_OUT
) {
5050 return NDR_ERR_SUCCESS
;
5053 _PUBLIC_
void ndr_print_decode_trustDomainPasswords(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_trustDomainPasswords
*r
)
5055 ndr_print_struct(ndr
, name
, "decode_trustDomainPasswords");
5057 if (flags
& NDR_SET_VALUES
) {
5058 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5060 if (flags
& NDR_IN
) {
5061 ndr_print_struct(ndr
, "in", "decode_trustDomainPasswords");
5063 ndr_print_trustDomainPasswords(ndr
, "blob", &r
->in
.blob
);
5066 if (flags
& NDR_OUT
) {
5067 ndr_print_struct(ndr
, "out", "decode_trustDomainPasswords");
5074 static enum ndr_err_code
ndr_push_decode_ExtendedErrorInfo(struct ndr_push
*ndr
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
5076 if (flags
& NDR_IN
) {
5078 struct ndr_push
*_ndr_ptr
;
5079 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
5080 NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
5081 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
5084 if (flags
& NDR_OUT
) {
5086 return NDR_ERR_SUCCESS
;
5089 static enum ndr_err_code
ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull
*ndr
, int flags
, struct decode_ExtendedErrorInfo
*r
)
5091 if (flags
& NDR_IN
) {
5093 struct ndr_pull
*_ndr_ptr
;
5094 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ptr
, 0xFFFFFC01, -1));
5095 NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.ptr
));
5096 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ptr
, 0xFFFFFC01, -1));
5099 if (flags
& NDR_OUT
) {
5101 return NDR_ERR_SUCCESS
;
5104 _PUBLIC_
void ndr_print_decode_ExtendedErrorInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ExtendedErrorInfo
*r
)
5106 ndr_print_struct(ndr
, name
, "decode_ExtendedErrorInfo");
5108 if (flags
& NDR_SET_VALUES
) {
5109 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5111 if (flags
& NDR_IN
) {
5112 ndr_print_struct(ndr
, "in", "decode_ExtendedErrorInfo");
5114 ndr_print_ExtendedErrorInfoPtr(ndr
, "ptr", &r
->in
.ptr
);
5117 if (flags
& NDR_OUT
) {
5118 ndr_print_struct(ndr
, "out", "decode_ExtendedErrorInfo");
5125 static enum ndr_err_code
ndr_push_decode_ForestTrustInfo(struct ndr_push
*ndr
, int flags
, const struct decode_ForestTrustInfo
*r
)
5127 if (flags
& NDR_IN
) {
5128 NDR_CHECK(ndr_push_ForestTrustInfo(ndr
, NDR_SCALARS
, &r
->in
.blob
));
5130 if (flags
& NDR_OUT
) {
5132 return NDR_ERR_SUCCESS
;
5135 static enum ndr_err_code
ndr_pull_decode_ForestTrustInfo(struct ndr_pull
*ndr
, int flags
, struct decode_ForestTrustInfo
*r
)
5137 if (flags
& NDR_IN
) {
5138 NDR_CHECK(ndr_pull_ForestTrustInfo(ndr
, NDR_SCALARS
, &r
->in
.blob
));
5140 if (flags
& NDR_OUT
) {
5142 return NDR_ERR_SUCCESS
;
5145 _PUBLIC_
void ndr_print_decode_ForestTrustInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_ForestTrustInfo
*r
)
5147 ndr_print_struct(ndr
, name
, "decode_ForestTrustInfo");
5149 if (flags
& NDR_SET_VALUES
) {
5150 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5152 if (flags
& NDR_IN
) {
5153 ndr_print_struct(ndr
, "in", "decode_ForestTrustInfo");
5155 ndr_print_ForestTrustInfo(ndr
, "blob", &r
->in
.blob
);
5158 if (flags
& NDR_OUT
) {
5159 ndr_print_struct(ndr
, "out", "decode_ForestTrustInfo");
5166 static const struct ndr_interface_call drsblobs_calls
[] = {
5168 "decode_replPropertyMetaData",
5169 sizeof(struct decode_replPropertyMetaData
),
5170 (ndr_push_flags_fn_t
) ndr_push_decode_replPropertyMetaData
,
5171 (ndr_pull_flags_fn_t
) ndr_pull_decode_replPropertyMetaData
,
5172 (ndr_print_function_t
) ndr_print_decode_replPropertyMetaData
,
5176 "decode_replUpToDateVector",
5177 sizeof(struct decode_replUpToDateVector
),
5178 (ndr_push_flags_fn_t
) ndr_push_decode_replUpToDateVector
,
5179 (ndr_pull_flags_fn_t
) ndr_pull_decode_replUpToDateVector
,
5180 (ndr_print_function_t
) ndr_print_decode_replUpToDateVector
,
5184 "decode_repsFromTo",
5185 sizeof(struct decode_repsFromTo
),
5186 (ndr_push_flags_fn_t
) ndr_push_decode_repsFromTo
,
5187 (ndr_pull_flags_fn_t
) ndr_pull_decode_repsFromTo
,
5188 (ndr_print_function_t
) ndr_print_decode_repsFromTo
,
5192 "decode_partialAttributeSet",
5193 sizeof(struct decode_partialAttributeSet
),
5194 (ndr_push_flags_fn_t
) ndr_push_decode_partialAttributeSet
,
5195 (ndr_pull_flags_fn_t
) ndr_pull_decode_partialAttributeSet
,
5196 (ndr_print_function_t
) ndr_print_decode_partialAttributeSet
,
5201 sizeof(struct decode_prefixMap
),
5202 (ndr_push_flags_fn_t
) ndr_push_decode_prefixMap
,
5203 (ndr_pull_flags_fn_t
) ndr_pull_decode_prefixMap
,
5204 (ndr_print_function_t
) ndr_print_decode_prefixMap
,
5208 "decode_ldapControlDirSync",
5209 sizeof(struct decode_ldapControlDirSync
),
5210 (ndr_push_flags_fn_t
) ndr_push_decode_ldapControlDirSync
,
5211 (ndr_pull_flags_fn_t
) ndr_pull_decode_ldapControlDirSync
,
5212 (ndr_print_function_t
) ndr_print_decode_ldapControlDirSync
,
5216 "decode_supplementalCredentials",
5217 sizeof(struct decode_supplementalCredentials
),
5218 (ndr_push_flags_fn_t
) ndr_push_decode_supplementalCredentials
,
5219 (ndr_pull_flags_fn_t
) ndr_pull_decode_supplementalCredentials
,
5220 (ndr_print_function_t
) ndr_print_decode_supplementalCredentials
,
5225 sizeof(struct decode_Packages
),
5226 (ndr_push_flags_fn_t
) ndr_push_decode_Packages
,
5227 (ndr_pull_flags_fn_t
) ndr_pull_decode_Packages
,
5228 (ndr_print_function_t
) ndr_print_decode_Packages
,
5232 "decode_PrimaryKerberos",
5233 sizeof(struct decode_PrimaryKerberos
),
5234 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryKerberos
,
5235 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryKerberos
,
5236 (ndr_print_function_t
) ndr_print_decode_PrimaryKerberos
,
5240 "decode_PrimaryCLEARTEXT",
5241 sizeof(struct decode_PrimaryCLEARTEXT
),
5242 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryCLEARTEXT
,
5243 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryCLEARTEXT
,
5244 (ndr_print_function_t
) ndr_print_decode_PrimaryCLEARTEXT
,
5248 "decode_PrimaryWDigest",
5249 sizeof(struct decode_PrimaryWDigest
),
5250 (ndr_push_flags_fn_t
) ndr_push_decode_PrimaryWDigest
,
5251 (ndr_pull_flags_fn_t
) ndr_pull_decode_PrimaryWDigest
,
5252 (ndr_print_function_t
) ndr_print_decode_PrimaryWDigest
,
5256 "decode_trustAuthInOut",
5257 sizeof(struct decode_trustAuthInOut
),
5258 (ndr_push_flags_fn_t
) ndr_push_decode_trustAuthInOut
,
5259 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustAuthInOut
,
5260 (ndr_print_function_t
) ndr_print_decode_trustAuthInOut
,
5264 "decode_trustDomainPasswords",
5265 sizeof(struct decode_trustDomainPasswords
),
5266 (ndr_push_flags_fn_t
) ndr_push_decode_trustDomainPasswords
,
5267 (ndr_pull_flags_fn_t
) ndr_pull_decode_trustDomainPasswords
,
5268 (ndr_print_function_t
) ndr_print_decode_trustDomainPasswords
,
5272 "decode_ExtendedErrorInfo",
5273 sizeof(struct decode_ExtendedErrorInfo
),
5274 (ndr_push_flags_fn_t
) ndr_push_decode_ExtendedErrorInfo
,
5275 (ndr_pull_flags_fn_t
) ndr_pull_decode_ExtendedErrorInfo
,
5276 (ndr_print_function_t
) ndr_print_decode_ExtendedErrorInfo
,
5280 "decode_ForestTrustInfo",
5281 sizeof(struct decode_ForestTrustInfo
),
5282 (ndr_push_flags_fn_t
) ndr_push_decode_ForestTrustInfo
,
5283 (ndr_pull_flags_fn_t
) ndr_pull_decode_ForestTrustInfo
,
5284 (ndr_print_function_t
) ndr_print_decode_ForestTrustInfo
,
5287 { NULL
, 0, NULL
, NULL
, NULL
, false }
5290 static const char * const drsblobs_endpoint_strings
[] = {
5291 "ncacn_np:[\\pipe\\drsblobs]",
5294 static const struct ndr_interface_string_array drsblobs_endpoints
= {
5296 .names
= drsblobs_endpoint_strings
5299 static const char * const drsblobs_authservice_strings
[] = {
5303 static const struct ndr_interface_string_array drsblobs_authservices
= {
5305 .names
= drsblobs_authservice_strings
5309 const struct ndr_interface_table ndr_table_drsblobs
= {
5312 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}},
5313 NDR_DRSBLOBS_VERSION
5315 .helpstring
= NDR_DRSBLOBS_HELPSTRING
,
5317 .calls
= drsblobs_calls
,
5318 .endpoints
= &drsblobs_endpoints
,
5319 .authservices
= &drsblobs_authservices