1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_drsuapi.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/ndr/ndr_compression.h"
10 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
12 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
13 return NDR_ERR_SUCCESS;
16 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
19 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
21 return NDR_ERR_SUCCESS;
24 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r)
26 ndr_print_uint32(ndr, name, r);
28 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00000080", DRSUAPI_SUPPORTED_EXTENSION_00000080, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD", DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r);
46 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r);
47 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r);
48 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_00100000", DRSUAPI_SUPPORTED_EXTENSION_00100000, r);
49 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r);
50 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r);
51 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r);
52 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r);
53 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r);
54 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r);
55 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r);
56 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r);
57 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r);
58 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r);
59 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_20000000", DRSUAPI_SUPPORTED_EXTENSION_20000000, r);
60 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_40000000", DRSUAPI_SUPPORTED_EXTENSION_40000000, r);
61 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_80000000", DRSUAPI_SUPPORTED_EXTENSION_80000000, r);
65 static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r)
67 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
68 return NDR_ERR_SUCCESS;
71 static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
74 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
76 return NDR_ERR_SUCCESS;
79 _PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r)
81 ndr_print_uint32(ndr, name, r);
83 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r);
84 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r);
88 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r)
90 if (ndr_flags & NDR_SCALARS) {
91 NDR_CHECK(ndr_push_align(ndr, 4));
92 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
93 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
94 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
95 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
97 if (ndr_flags & NDR_BUFFERS) {
99 return NDR_ERR_SUCCESS;
102 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
104 if (ndr_flags & NDR_SCALARS) {
105 NDR_CHECK(ndr_pull_align(ndr, 4));
106 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
107 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
109 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
111 if (ndr_flags & NDR_BUFFERS) {
113 return NDR_ERR_SUCCESS;
116 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
118 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
120 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
121 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
122 ndr_print_uint32(ndr, "pid", r->pid);
126 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
128 if (ndr_flags & NDR_SCALARS) {
129 NDR_CHECK(ndr_push_align(ndr, 4));
130 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
131 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
134 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
136 if (ndr_flags & NDR_BUFFERS) {
138 return NDR_ERR_SUCCESS;
141 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
143 if (ndr_flags & NDR_SCALARS) {
144 NDR_CHECK(ndr_pull_align(ndr, 4));
145 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
146 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
147 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
148 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
149 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
151 if (ndr_flags & NDR_BUFFERS) {
153 return NDR_ERR_SUCCESS;
156 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
158 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
160 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
161 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
162 ndr_print_uint32(ndr, "pid", r->pid);
163 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
167 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
169 if (ndr_flags & NDR_SCALARS) {
170 NDR_CHECK(ndr_push_align(ndr, 4));
171 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
172 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
175 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
176 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
177 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
179 if (ndr_flags & NDR_BUFFERS) {
181 return NDR_ERR_SUCCESS;
184 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
186 if (ndr_flags & NDR_SCALARS) {
187 NDR_CHECK(ndr_pull_align(ndr, 4));
188 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
189 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
190 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
192 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
193 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
194 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
196 if (ndr_flags & NDR_BUFFERS) {
198 return NDR_ERR_SUCCESS;
201 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
203 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
205 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
206 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
207 ndr_print_uint32(ndr, "pid", r->pid);
208 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
209 ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
210 ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
214 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
216 if (ndr_flags & NDR_SCALARS) {
217 NDR_CHECK(ndr_push_align(ndr, 4));
219 uint32_t _flags_save_DATA_BLOB = ndr->flags;
220 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
221 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
222 ndr->flags = _flags_save_DATA_BLOB;
224 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
226 if (ndr_flags & NDR_BUFFERS) {
228 return NDR_ERR_SUCCESS;
231 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
233 if (ndr_flags & NDR_SCALARS) {
234 NDR_CHECK(ndr_pull_align(ndr, 4));
236 uint32_t _flags_save_DATA_BLOB = ndr->flags;
237 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
238 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
239 ndr->flags = _flags_save_DATA_BLOB;
241 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
243 if (ndr_flags & NDR_BUFFERS) {
245 return NDR_ERR_SUCCESS;
248 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
250 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
252 ndr_print_DATA_BLOB(ndr, "info", r->info);
256 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r)
258 if (ndr_flags & NDR_SCALARS) {
259 int level = ndr_push_get_switch_value(ndr, r);
260 NDR_CHECK(ndr_push_union_align(ndr, 1));
264 struct ndr_push *_ndr_info24;
265 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1));
266 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
267 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1));
273 struct ndr_push *_ndr_info28;
274 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1));
275 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
276 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1));
282 struct ndr_push *_ndr_info48;
283 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
284 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
285 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
291 struct ndr_push *_ndr_FallBack;
292 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
293 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
294 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1));
300 if (ndr_flags & NDR_BUFFERS) {
301 int level = ndr_push_get_switch_value(ndr, r);
317 return NDR_ERR_SUCCESS;
320 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r)
323 level = ndr_pull_get_switch_value(ndr, r);
324 if (ndr_flags & NDR_SCALARS) {
325 NDR_CHECK(ndr_pull_union_align(ndr, 1));
329 struct ndr_pull *_ndr_info24;
330 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1));
331 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
332 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1));
338 struct ndr_pull *_ndr_info28;
339 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1));
340 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
341 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1));
347 struct ndr_pull *_ndr_info48;
348 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
349 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
350 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
356 struct ndr_pull *_ndr_FallBack;
357 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
358 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
359 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1));
365 if (ndr_flags & NDR_BUFFERS) {
381 return NDR_ERR_SUCCESS;
384 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
387 level = ndr_print_get_switch_value(ndr, r);
388 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
391 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
395 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
399 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
403 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
409 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
411 if (ndr_flags & NDR_SCALARS) {
412 NDR_CHECK(ndr_push_align(ndr, 4));
413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
414 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
415 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
416 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
418 if (ndr_flags & NDR_BUFFERS) {
420 return NDR_ERR_SUCCESS;
423 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
425 if (ndr_flags & NDR_SCALARS) {
426 NDR_CHECK(ndr_pull_align(ndr, 4));
427 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
428 if (r->length < 1 || r->length > 10000) {
429 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
431 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
432 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
433 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
435 if (ndr_flags & NDR_BUFFERS) {
437 return NDR_ERR_SUCCESS;
440 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
442 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
444 ndr_print_uint32(ndr, "length", r->length);
445 ndr_print_set_switch_value(ndr, &r->info, r->length);
446 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
450 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
452 if (ndr_flags & NDR_SCALARS) {
453 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
454 NDR_CHECK(ndr_push_align(ndr, 4));
455 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4));
456 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
457 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
458 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
460 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
461 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
463 if (ndr_flags & NDR_BUFFERS) {
464 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
466 return NDR_ERR_SUCCESS;
469 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
471 if (ndr_flags & NDR_SCALARS) {
472 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
473 NDR_CHECK(ndr_pull_align(ndr, 4));
474 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
475 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
476 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
477 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
479 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, ndr_get_array_size(ndr, &r->dn), sizeof(uint16_t), CH_UTF16));
481 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
483 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
485 if (ndr_flags & NDR_BUFFERS) {
486 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
488 return NDR_ERR_SUCCESS;
491 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
493 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
495 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4:r->__ndr_size);
496 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
497 ndr_print_GUID(ndr, "guid", &r->guid);
498 ndr_print_dom_sid28(ndr, "sid", &r->sid);
499 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
500 ndr_print_string(ndr, "dn", r->dn);
504 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags)
506 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic);
509 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
512 return NDR_ERR_SUCCESS;
515 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
518 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
520 return NDR_ERR_SUCCESS;
523 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print *ndr, const char *name, uint32_t r)
525 ndr_print_uint32(ndr, name, r);
527 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION, r);
528 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE, r);
529 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC, r);
530 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING, r);
531 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES, r);
532 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL, r);
533 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT, r);
534 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD, r);
535 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE, r);
536 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE, r);
537 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED, r);
538 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY, r);
539 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY, r);
540 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL, r);
541 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION, r);
542 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED, r);
543 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS, r);
544 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET, r);
545 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE, r);
546 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION, r);
547 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA, r);
548 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL, r);
549 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS, r);
550 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED, r);
554 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
556 if (ndr_flags & NDR_SCALARS) {
557 NDR_CHECK(ndr_push_align(ndr, 5));
558 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
559 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
561 uint32_t _flags_save_string = ndr->flags;
562 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_info));
564 ndr->flags = _flags_save_string;
566 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->options));
567 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
569 if (ndr_flags & NDR_BUFFERS) {
570 if (r->naming_context) {
571 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
574 uint32_t _flags_save_string = ndr->flags;
575 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
577 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->other_info));
579 ndr->flags = _flags_save_string;
582 return NDR_ERR_SUCCESS;
585 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
587 uint32_t _ptr_naming_context;
588 TALLOC_CTX *_mem_save_naming_context_0;
589 uint32_t _ptr_other_info;
590 TALLOC_CTX *_mem_save_other_info_0;
591 if (ndr_flags & NDR_SCALARS) {
592 NDR_CHECK(ndr_pull_align(ndr, 5));
593 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
594 if (_ptr_naming_context) {
595 NDR_PULL_ALLOC(ndr, r->naming_context);
597 r->naming_context = NULL;
599 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
601 uint32_t _flags_save_string = ndr->flags;
602 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
603 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
604 if (_ptr_other_info) {
605 NDR_PULL_ALLOC(ndr, r->other_info);
607 r->other_info = NULL;
609 ndr->flags = _flags_save_string;
611 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->options));
612 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
614 if (ndr_flags & NDR_BUFFERS) {
615 if (r->naming_context) {
616 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
617 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
618 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
622 uint32_t _flags_save_string = ndr->flags;
623 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
625 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
626 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
627 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->other_info));
628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
630 ndr->flags = _flags_save_string;
633 return NDR_ERR_SUCCESS;
636 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
638 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
640 ndr_print_ptr(ndr, "naming_context", r->naming_context);
642 if (r->naming_context) {
643 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
646 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
647 ndr_print_ptr(ndr, "other_info", r->other_info);
650 ndr_print_string(ndr, "other_info", r->other_info);
653 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "options", r->options);
657 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
659 if (ndr_flags & NDR_SCALARS) {
660 int level = ndr_push_get_switch_value(ndr, r);
661 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
662 NDR_CHECK(ndr_push_union_align(ndr, 5));
665 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
669 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
672 if (ndr_flags & NDR_BUFFERS) {
673 int level = ndr_push_get_switch_value(ndr, r);
676 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
680 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
683 return NDR_ERR_SUCCESS;
686 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
690 level = ndr_pull_get_switch_value(ndr, r);
691 if (ndr_flags & NDR_SCALARS) {
692 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
693 if (_level != level) {
694 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
696 NDR_CHECK(ndr_pull_union_align(ndr, 5));
699 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
703 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
706 if (ndr_flags & NDR_BUFFERS) {
709 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
713 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
716 return NDR_ERR_SUCCESS;
719 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
722 level = ndr_print_get_switch_value(ndr, r);
723 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
726 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
730 ndr_print_bad_level(ndr, name, level);
734 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
736 if (ndr_flags & NDR_SCALARS) {
737 NDR_CHECK(ndr_push_align(ndr, 8));
738 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
739 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
740 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
741 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
743 if (ndr_flags & NDR_BUFFERS) {
745 return NDR_ERR_SUCCESS;
748 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
750 if (ndr_flags & NDR_SCALARS) {
751 NDR_CHECK(ndr_pull_align(ndr, 8));
752 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
753 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
754 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
755 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
757 if (ndr_flags & NDR_BUFFERS) {
759 return NDR_ERR_SUCCESS;
762 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
764 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
766 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
767 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
768 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
772 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
774 if (ndr_flags & NDR_SCALARS) {
775 NDR_CHECK(ndr_push_align(ndr, 8));
776 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
777 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
778 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
780 if (ndr_flags & NDR_BUFFERS) {
782 return NDR_ERR_SUCCESS;
785 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
787 if (ndr_flags & NDR_SCALARS) {
788 NDR_CHECK(ndr_pull_align(ndr, 8));
789 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
790 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
791 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
793 if (ndr_flags & NDR_BUFFERS) {
795 return NDR_ERR_SUCCESS;
798 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
800 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
802 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
803 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
807 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
809 uint32_t cntr_cursors_0;
810 if (ndr_flags & NDR_SCALARS) {
811 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
812 NDR_CHECK(ndr_push_align(ndr, 8));
813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
817 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
818 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
820 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
822 if (ndr_flags & NDR_BUFFERS) {
824 return NDR_ERR_SUCCESS;
827 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
829 uint32_t cntr_cursors_0;
830 TALLOC_CTX *_mem_save_cursors_0;
831 if (ndr_flags & NDR_SCALARS) {
832 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
833 NDR_CHECK(ndr_pull_align(ndr, 8));
834 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
836 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
837 if (r->count > 0x100000) {
838 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
841 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
842 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
843 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
844 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
845 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
849 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
851 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
853 if (ndr_flags & NDR_BUFFERS) {
855 return NDR_ERR_SUCCESS;
858 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
860 uint32_t cntr_cursors_0;
861 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
863 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
864 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
865 ndr_print_uint32(ndr, "count", r->count);
866 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
867 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
869 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
871 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
872 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
880 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
883 return NDR_ERR_SUCCESS;
886 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
891 return NDR_ERR_SUCCESS;
894 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourFlags(struct ndr_print *ndr, const char *name, uint32_t r)
896 ndr_print_uint32(ndr, name, r);
898 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE", DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE, r);
899 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP", DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP, r);
900 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS", DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS, r);
901 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT", DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT, r);
902 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP", DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP, r);
903 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR, r);
904 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC, r);
905 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY", DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY, r);
906 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS", DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS, r);
907 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS, r);
908 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET, r);
909 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED", DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED, r);
910 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING", DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING, r);
911 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED", DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED, r);
912 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS, r);
913 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC, r);
914 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES", DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES, r);
915 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS, r);
916 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET, r);
920 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
923 uint32_t _flags_save_ENUM = ndr->flags;
924 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
925 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
926 ndr->flags = _flags_save_ENUM;
928 return NDR_ERR_SUCCESS;
931 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
935 uint32_t _flags_save_ENUM = ndr->flags;
936 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
937 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
939 ndr->flags = _flags_save_ENUM;
941 return NDR_ERR_SUCCESS;
944 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
946 const char *val = NULL;
949 uint32_t _flags_save_ENUM = ndr->flags;
950 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
952 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
953 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
954 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
955 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
956 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
957 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
958 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
959 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
961 ndr_print_enum(ndr, name, "ENUM", val, r);
962 ndr->flags = _flags_save_ENUM;
966 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
969 uint32_t _flags_save_ENUM = ndr->flags;
970 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
971 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
972 ndr->flags = _flags_save_ENUM;
974 return NDR_ERR_SUCCESS;
977 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
981 uint32_t _flags_save_ENUM = ndr->flags;
982 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
983 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
985 ndr->flags = _flags_save_ENUM;
987 return NDR_ERR_SUCCESS;
990 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
992 const char *val = NULL;
995 uint32_t _flags_save_ENUM = ndr->flags;
996 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
998 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
999 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1000 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1001 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1002 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1003 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1004 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1005 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1006 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1007 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1008 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1009 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1010 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1011 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1012 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1013 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1014 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1016 ndr_print_enum(ndr, name, "ENUM", val, r);
1017 ndr->flags = _flags_save_ENUM;
1021 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
1023 if (ndr_flags & NDR_SCALARS) {
1024 NDR_CHECK(ndr_push_align(ndr, 8));
1025 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1026 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1027 if (r->naming_context == NULL) {
1028 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1030 NDR_CHECK(ndr_push_ref_ptr(ndr));
1031 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1032 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1033 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1036 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1037 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1038 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1040 if (ndr_flags & NDR_BUFFERS) {
1041 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1042 if (r->uptodateness_vector) {
1043 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1046 return NDR_ERR_SUCCESS;
1049 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1051 uint32_t _ptr_naming_context;
1052 TALLOC_CTX *_mem_save_naming_context_0;
1053 uint32_t _ptr_uptodateness_vector;
1054 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1055 if (ndr_flags & NDR_SCALARS) {
1056 NDR_CHECK(ndr_pull_align(ndr, 8));
1057 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1058 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1059 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1060 if (_ptr_naming_context) {
1061 NDR_PULL_ALLOC(ndr, r->naming_context);
1063 r->naming_context = NULL;
1065 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1066 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1067 if (_ptr_uptodateness_vector) {
1068 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1070 r->uptodateness_vector = NULL;
1072 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1075 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1076 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1077 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1079 if (ndr_flags & NDR_BUFFERS) {
1080 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1081 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1082 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1083 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1084 if (r->uptodateness_vector) {
1085 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1086 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1087 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1091 return NDR_ERR_SUCCESS;
1094 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1096 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1098 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1099 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1100 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1102 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1104 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1105 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1107 if (r->uptodateness_vector) {
1108 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1111 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1112 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1113 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1114 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1115 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1119 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOID(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOID *r)
1121 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOID");
1123 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaOID_oid(r->oid, 0):r->__ndr_size);
1124 ndr_print_ptr(ndr, "oid", r->oid);
1127 ndr_print_string(ndr, "oid", r->oid);
1133 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1135 if (ndr_flags & NDR_SCALARS) {
1136 NDR_CHECK(ndr_push_align(ndr, 5));
1137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1138 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1139 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1141 if (ndr_flags & NDR_BUFFERS) {
1142 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1144 return NDR_ERR_SUCCESS;
1147 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1149 if (ndr_flags & NDR_SCALARS) {
1150 NDR_CHECK(ndr_pull_align(ndr, 5));
1151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1152 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1153 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1155 if (ndr_flags & NDR_BUFFERS) {
1156 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1158 return NDR_ERR_SUCCESS;
1161 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1163 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1165 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1166 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1170 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1172 uint32_t cntr_mappings_1;
1173 if (ndr_flags & NDR_SCALARS) {
1174 NDR_CHECK(ndr_push_align(ndr, 5));
1175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1176 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1177 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1179 if (ndr_flags & NDR_BUFFERS) {
1181 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings));
1182 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1183 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1185 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1186 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1190 return NDR_ERR_SUCCESS;
1193 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1195 uint32_t _ptr_mappings;
1196 uint32_t cntr_mappings_1;
1197 TALLOC_CTX *_mem_save_mappings_0;
1198 TALLOC_CTX *_mem_save_mappings_1;
1199 if (ndr_flags & NDR_SCALARS) {
1200 NDR_CHECK(ndr_pull_align(ndr, 5));
1201 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1202 if (r->num_mappings > 0x100000) {
1203 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1206 if (_ptr_mappings) {
1207 NDR_PULL_ALLOC(ndr, r->mappings);
1211 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1213 if (ndr_flags & NDR_BUFFERS) {
1215 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1216 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1217 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1218 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1219 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1220 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1221 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1222 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1224 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1225 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1227 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1231 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1234 return NDR_ERR_SUCCESS;
1237 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1239 uint32_t cntr_mappings_1;
1240 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1242 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1243 ndr_print_ptr(ndr, "mappings", r->mappings);
1246 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1248 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1250 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1251 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1261 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1264 uint32_t _flags_save_ENUM = ndr->flags;
1265 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1266 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1267 ndr->flags = _flags_save_ENUM;
1269 return NDR_ERR_SUCCESS;
1272 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1276 uint32_t _flags_save_ENUM = ndr->flags;
1277 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1278 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1280 ndr->flags = _flags_save_ENUM;
1282 return NDR_ERR_SUCCESS;
1285 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1287 const char *val = NULL;
1290 uint32_t _flags_save_ENUM = ndr->flags;
1291 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1293 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1294 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1295 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1296 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1297 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1298 case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1299 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1300 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1301 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1302 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1303 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1304 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1305 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1306 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1307 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1308 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1309 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1310 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1311 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1312 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1313 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1314 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1315 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1316 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1317 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1318 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1319 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1320 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1321 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1322 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1323 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1324 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1325 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1326 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1327 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1328 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1329 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1330 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1331 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1332 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1333 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1334 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1335 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1336 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1337 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1338 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1339 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1340 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1341 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1342 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1343 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1344 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1345 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1346 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1347 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1348 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1349 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1350 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1351 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1352 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1353 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1354 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1355 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1356 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1357 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1358 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1359 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1360 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1361 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1363 ndr_print_enum(ndr, name, "ENUM", val, r);
1364 ndr->flags = _flags_save_ENUM;
1368 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1370 uint32_t cntr_attids_0;
1371 if (ndr_flags & NDR_SCALARS) {
1372 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids));
1373 NDR_CHECK(ndr_push_align(ndr, 4));
1374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1377 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1378 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1380 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1382 if (ndr_flags & NDR_BUFFERS) {
1384 return NDR_ERR_SUCCESS;
1387 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1389 uint32_t cntr_attids_0;
1390 TALLOC_CTX *_mem_save_attids_0;
1391 if (ndr_flags & NDR_SCALARS) {
1392 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1393 NDR_CHECK(ndr_pull_align(ndr, 4));
1394 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1395 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1397 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1398 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1400 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1401 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1402 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1403 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1404 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1408 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1410 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1412 if (ndr_flags & NDR_BUFFERS) {
1414 return NDR_ERR_SUCCESS;
1417 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1419 uint32_t cntr_attids_0;
1420 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1422 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1423 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1424 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1425 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1427 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1429 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1430 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1438 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1440 if (ndr_flags & NDR_SCALARS) {
1441 NDR_CHECK(ndr_push_align(ndr, 8));
1442 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1443 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1444 if (r->naming_context == NULL) {
1445 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1447 NDR_CHECK(ndr_push_ref_ptr(ndr));
1448 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1449 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1450 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1451 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1452 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1453 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1454 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1455 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1456 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1457 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1458 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1460 if (ndr_flags & NDR_BUFFERS) {
1461 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1462 if (r->uptodateness_vector) {
1463 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1465 if (r->partial_attribute_set) {
1466 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1468 if (r->partial_attribute_set_ex) {
1469 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1471 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1473 return NDR_ERR_SUCCESS;
1476 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1478 uint32_t _ptr_naming_context;
1479 TALLOC_CTX *_mem_save_naming_context_0;
1480 uint32_t _ptr_uptodateness_vector;
1481 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1482 uint32_t _ptr_partial_attribute_set;
1483 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1484 uint32_t _ptr_partial_attribute_set_ex;
1485 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1486 if (ndr_flags & NDR_SCALARS) {
1487 NDR_CHECK(ndr_pull_align(ndr, 8));
1488 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1489 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1490 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1491 if (_ptr_naming_context) {
1492 NDR_PULL_ALLOC(ndr, r->naming_context);
1494 r->naming_context = NULL;
1496 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1497 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1498 if (_ptr_uptodateness_vector) {
1499 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1501 r->uptodateness_vector = NULL;
1503 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1505 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1506 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1507 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1508 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1509 if (_ptr_partial_attribute_set) {
1510 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1512 r->partial_attribute_set = NULL;
1514 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1515 if (_ptr_partial_attribute_set_ex) {
1516 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1518 r->partial_attribute_set_ex = NULL;
1520 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1521 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1523 if (ndr_flags & NDR_BUFFERS) {
1524 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1525 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1526 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1528 if (r->uptodateness_vector) {
1529 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1530 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1531 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1534 if (r->partial_attribute_set) {
1535 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1536 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1537 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1538 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1540 if (r->partial_attribute_set_ex) {
1541 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1542 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1543 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1546 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1548 return NDR_ERR_SUCCESS;
1551 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1553 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1555 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1556 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1557 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1559 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1561 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1562 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1564 if (r->uptodateness_vector) {
1565 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1568 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1569 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1570 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1571 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1572 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1573 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1575 if (r->partial_attribute_set) {
1576 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1579 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1581 if (r->partial_attribute_set_ex) {
1582 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1585 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1589 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r)
1591 if (ndr_flags & NDR_SCALARS) {
1592 NDR_CHECK(ndr_push_align(ndr, 8));
1593 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1594 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1595 if (r->naming_context == NULL) {
1596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1598 NDR_CHECK(ndr_push_ref_ptr(ndr));
1599 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1600 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1601 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1603 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1604 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1605 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1606 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1607 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1608 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags));
1610 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1612 if (ndr_flags & NDR_BUFFERS) {
1613 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1614 if (r->uptodateness_vector) {
1615 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1617 if (r->partial_attribute_set) {
1618 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1620 if (r->partial_attribute_set_ex) {
1621 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1623 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1625 return NDR_ERR_SUCCESS;
1628 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r)
1630 uint32_t _ptr_naming_context;
1631 TALLOC_CTX *_mem_save_naming_context_0;
1632 uint32_t _ptr_uptodateness_vector;
1633 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1634 uint32_t _ptr_partial_attribute_set;
1635 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1636 uint32_t _ptr_partial_attribute_set_ex;
1637 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1638 if (ndr_flags & NDR_SCALARS) {
1639 NDR_CHECK(ndr_pull_align(ndr, 8));
1640 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1641 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1642 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1643 if (_ptr_naming_context) {
1644 NDR_PULL_ALLOC(ndr, r->naming_context);
1646 r->naming_context = NULL;
1648 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1649 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1650 if (_ptr_uptodateness_vector) {
1651 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1653 r->uptodateness_vector = NULL;
1655 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1656 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1657 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1658 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1659 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1660 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1661 if (_ptr_partial_attribute_set) {
1662 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1664 r->partial_attribute_set = NULL;
1666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1667 if (_ptr_partial_attribute_set_ex) {
1668 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1670 r->partial_attribute_set_ex = NULL;
1672 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1673 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags));
1674 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1676 if (ndr_flags & NDR_BUFFERS) {
1677 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1678 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1679 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1681 if (r->uptodateness_vector) {
1682 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1683 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1687 if (r->partial_attribute_set) {
1688 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1689 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1690 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1693 if (r->partial_attribute_set_ex) {
1694 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1695 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1696 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1699 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1701 return NDR_ERR_SUCCESS;
1704 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r)
1706 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10");
1708 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1709 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1710 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1712 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1714 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1715 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1717 if (r->uptodateness_vector) {
1718 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1721 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1722 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1723 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1724 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1725 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1726 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1728 if (r->partial_attribute_set) {
1729 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1732 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1734 if (r->partial_attribute_set_ex) {
1735 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1738 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1739 ndr_print_uint32(ndr, "more_flags", r->more_flags);
1743 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1745 if (ndr_flags & NDR_SCALARS) {
1746 int level = ndr_push_get_switch_value(ndr, r);
1747 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1748 NDR_CHECK(ndr_push_union_align(ndr, 8));
1751 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1755 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1759 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1763 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1766 if (ndr_flags & NDR_BUFFERS) {
1767 int level = ndr_push_get_switch_value(ndr, r);
1770 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1774 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1778 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1782 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1785 return NDR_ERR_SUCCESS;
1788 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1792 level = ndr_pull_get_switch_value(ndr, r);
1793 if (ndr_flags & NDR_SCALARS) {
1794 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1795 if (_level != level) {
1796 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1798 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1801 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1805 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1809 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10));
1813 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1816 if (ndr_flags & NDR_BUFFERS) {
1819 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1823 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1827 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10));
1831 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1834 return NDR_ERR_SUCCESS;
1837 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1840 level = ndr_print_get_switch_value(ndr, r);
1841 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1844 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1848 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1852 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10);
1856 ndr_print_bad_level(ndr, name, level);
1860 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1862 if (ndr_flags & NDR_SCALARS) {
1863 NDR_CHECK(ndr_push_align(ndr, 8));
1864 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1865 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1866 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1867 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1869 if (ndr_flags & NDR_BUFFERS) {
1871 return NDR_ERR_SUCCESS;
1874 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1876 if (ndr_flags & NDR_SCALARS) {
1877 NDR_CHECK(ndr_pull_align(ndr, 8));
1878 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1879 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1880 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1881 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1883 if (ndr_flags & NDR_BUFFERS) {
1885 return NDR_ERR_SUCCESS;
1888 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1890 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1892 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1893 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1894 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1898 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1900 uint32_t cntr_cursors_0;
1901 if (ndr_flags & NDR_SCALARS) {
1902 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1903 NDR_CHECK(ndr_push_align(ndr, 8));
1904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1905 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1906 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1908 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1909 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1911 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1913 if (ndr_flags & NDR_BUFFERS) {
1915 return NDR_ERR_SUCCESS;
1918 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1920 uint32_t cntr_cursors_0;
1921 TALLOC_CTX *_mem_save_cursors_0;
1922 if (ndr_flags & NDR_SCALARS) {
1923 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1924 NDR_CHECK(ndr_pull_align(ndr, 8));
1925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1926 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1927 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1928 if (r->count > 0x100000) {
1929 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1931 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1932 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1933 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1934 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1935 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1936 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
1940 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
1942 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1944 if (ndr_flags & NDR_BUFFERS) {
1946 return NDR_ERR_SUCCESS;
1949 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1951 uint32_t cntr_cursors_0;
1952 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
1954 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
1955 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1956 ndr_print_uint32(ndr, "count", r->count);
1957 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1958 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
1960 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
1962 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
1963 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
1971 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
1973 if (ndr_flags & NDR_SCALARS) {
1974 NDR_CHECK(ndr_push_align(ndr, 5));
1975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
1976 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
1977 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1979 if (ndr_flags & NDR_BUFFERS) {
1981 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
1984 return NDR_ERR_SUCCESS;
1987 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
1990 TALLOC_CTX *_mem_save_blob_0;
1991 if (ndr_flags & NDR_SCALARS) {
1992 NDR_CHECK(ndr_pull_align(ndr, 5));
1993 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1994 if (r->__ndr_size > 10485760) {
1995 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1997 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
1999 NDR_PULL_ALLOC(ndr, r->blob);
2003 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2005 if (ndr_flags & NDR_BUFFERS) {
2007 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
2008 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
2009 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
2010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
2013 return NDR_ERR_SUCCESS;
2016 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
2018 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
2020 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
2021 ndr_print_ptr(ndr, "blob", r->blob);
2024 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
2030 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
2032 uint32_t cntr_values_1;
2033 if (ndr_flags & NDR_SCALARS) {
2034 NDR_CHECK(ndr_push_align(ndr, 5));
2035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
2036 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
2037 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2039 if (ndr_flags & NDR_BUFFERS) {
2041 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values));
2042 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2043 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2045 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2046 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2050 return NDR_ERR_SUCCESS;
2053 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
2055 uint32_t _ptr_values;
2056 uint32_t cntr_values_1;
2057 TALLOC_CTX *_mem_save_values_0;
2058 TALLOC_CTX *_mem_save_values_1;
2059 if (ndr_flags & NDR_SCALARS) {
2060 NDR_CHECK(ndr_pull_align(ndr, 5));
2061 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
2062 if (r->num_values > 10485760) {
2063 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2065 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
2067 NDR_PULL_ALLOC(ndr, r->values);
2071 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2073 if (ndr_flags & NDR_BUFFERS) {
2075 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2076 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2077 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
2078 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
2079 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
2080 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
2081 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2082 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
2084 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
2085 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
2087 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
2088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
2091 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
2094 return NDR_ERR_SUCCESS;
2097 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
2099 uint32_t cntr_values_1;
2100 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
2102 ndr_print_uint32(ndr, "num_values", r->num_values);
2103 ndr_print_ptr(ndr, "values", r->values);
2106 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
2108 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
2110 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
2111 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
2121 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2123 if (ndr_flags & NDR_SCALARS) {
2124 NDR_CHECK(ndr_push_align(ndr, 4));
2125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2127 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2128 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2130 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2131 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2133 if (ndr_flags & NDR_BUFFERS) {
2134 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2136 return NDR_ERR_SUCCESS;
2139 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
2141 if (ndr_flags & NDR_SCALARS) {
2142 NDR_CHECK(ndr_pull_align(ndr, 4));
2143 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2144 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2145 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2146 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2147 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2148 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2149 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2151 if (ndr_flags & NDR_BUFFERS) {
2152 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2154 return NDR_ERR_SUCCESS;
2157 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
2159 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
2161 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2162 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
2163 ndr_print_GUID(ndr, "guid", &r->guid);
2164 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2165 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2166 ndr_print_string(ndr, "dn", r->dn);
2170 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
2172 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
2175 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2177 if (ndr_flags & NDR_SCALARS) {
2178 NDR_CHECK(ndr_push_align(ndr, 4));
2179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
2180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
2181 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
2182 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
2184 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
2185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
2187 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2188 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2189 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
2190 ndr->flags = _flags_save_DATA_BLOB;
2192 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2194 if (ndr_flags & NDR_BUFFERS) {
2195 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2197 return NDR_ERR_SUCCESS;
2200 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2202 if (ndr_flags & NDR_SCALARS) {
2203 NDR_CHECK(ndr_pull_align(ndr, 4));
2204 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2205 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
2206 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
2207 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
2208 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
2209 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
2210 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
2212 uint32_t _flags_save_DATA_BLOB = ndr->flags;
2213 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2214 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
2215 ndr->flags = _flags_save_DATA_BLOB;
2217 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2219 if (ndr_flags & NDR_BUFFERS) {
2220 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2222 return NDR_ERR_SUCCESS;
2225 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2227 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2229 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2230 ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid);
2231 ndr_print_GUID(ndr, "guid", &r->guid);
2232 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2233 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2234 ndr_print_string(ndr, "dn", r->dn);
2235 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2236 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2240 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, struct smb_iconv_convenience *ic, int flags)
2242 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary, ic);
2245 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2247 if (ndr_flags & NDR_SCALARS) {
2248 NDR_CHECK(ndr_push_align(ndr, 5));
2249 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2250 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2251 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2253 if (ndr_flags & NDR_BUFFERS) {
2254 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2256 return NDR_ERR_SUCCESS;
2259 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2261 if (ndr_flags & NDR_SCALARS) {
2262 NDR_CHECK(ndr_pull_align(ndr, 5));
2263 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2264 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2265 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2267 if (ndr_flags & NDR_BUFFERS) {
2268 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2270 return NDR_ERR_SUCCESS;
2273 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2275 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2277 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2278 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2282 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2284 uint32_t cntr_attributes_1;
2285 if (ndr_flags & NDR_SCALARS) {
2286 NDR_CHECK(ndr_push_align(ndr, 5));
2287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2288 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2289 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2291 if (ndr_flags & NDR_BUFFERS) {
2292 if (r->attributes) {
2293 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes));
2294 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2295 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2297 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2298 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2302 return NDR_ERR_SUCCESS;
2305 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2307 uint32_t _ptr_attributes;
2308 uint32_t cntr_attributes_1;
2309 TALLOC_CTX *_mem_save_attributes_0;
2310 TALLOC_CTX *_mem_save_attributes_1;
2311 if (ndr_flags & NDR_SCALARS) {
2312 NDR_CHECK(ndr_pull_align(ndr, 5));
2313 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2314 if (r->num_attributes > 1048576) {
2315 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2317 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2318 if (_ptr_attributes) {
2319 NDR_PULL_ALLOC(ndr, r->attributes);
2321 r->attributes = NULL;
2323 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2325 if (ndr_flags & NDR_BUFFERS) {
2326 if (r->attributes) {
2327 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2328 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2329 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2330 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2331 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2332 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2333 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2334 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2336 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2337 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2339 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2340 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2342 if (r->attributes) {
2343 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2346 return NDR_ERR_SUCCESS;
2349 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2351 uint32_t cntr_attributes_1;
2352 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2354 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2355 ndr_print_ptr(ndr, "attributes", r->attributes);
2357 if (r->attributes) {
2358 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2360 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2362 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2363 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2373 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2376 return NDR_ERR_SUCCESS;
2379 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2382 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2384 return NDR_ERR_SUCCESS;
2387 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2389 ndr_print_uint32(ndr, name, r);
2391 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2392 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2393 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2397 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2399 if (ndr_flags & NDR_SCALARS) {
2400 NDR_CHECK(ndr_push_align(ndr, 5));
2401 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2402 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2403 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2404 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2406 if (ndr_flags & NDR_BUFFERS) {
2407 if (r->identifier) {
2408 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2410 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2412 return NDR_ERR_SUCCESS;
2415 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2417 uint32_t _ptr_identifier;
2418 TALLOC_CTX *_mem_save_identifier_0;
2419 if (ndr_flags & NDR_SCALARS) {
2420 NDR_CHECK(ndr_pull_align(ndr, 5));
2421 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2422 if (_ptr_identifier) {
2423 NDR_PULL_ALLOC(ndr, r->identifier);
2425 r->identifier = NULL;
2427 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2428 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2429 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2431 if (ndr_flags & NDR_BUFFERS) {
2432 if (r->identifier) {
2433 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2434 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2435 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2436 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2438 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2440 return NDR_ERR_SUCCESS;
2443 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2445 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2447 ndr_print_ptr(ndr, "identifier", r->identifier);
2449 if (r->identifier) {
2450 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2453 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2454 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2458 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2460 if (ndr_flags & NDR_SCALARS) {
2461 NDR_CHECK(ndr_push_align(ndr, 8));
2462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2463 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2464 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2465 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2466 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2468 if (ndr_flags & NDR_BUFFERS) {
2470 return NDR_ERR_SUCCESS;
2473 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2475 if (ndr_flags & NDR_SCALARS) {
2476 NDR_CHECK(ndr_pull_align(ndr, 8));
2477 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2478 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2479 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2480 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2481 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2483 if (ndr_flags & NDR_BUFFERS) {
2485 return NDR_ERR_SUCCESS;
2488 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2490 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2492 ndr_print_uint32(ndr, "version", r->version);
2493 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2494 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2495 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2499 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2501 uint32_t cntr_meta_data_0;
2502 if (ndr_flags & NDR_SCALARS) {
2503 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2504 NDR_CHECK(ndr_push_align(ndr, 8));
2505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2506 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2507 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2509 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2511 if (ndr_flags & NDR_BUFFERS) {
2513 return NDR_ERR_SUCCESS;
2516 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2518 uint32_t cntr_meta_data_0;
2519 TALLOC_CTX *_mem_save_meta_data_0;
2520 if (ndr_flags & NDR_SCALARS) {
2521 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2522 NDR_CHECK(ndr_pull_align(ndr, 8));
2523 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2524 if (r->count > 1048576) {
2525 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2527 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2528 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2529 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2530 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2531 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2533 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2535 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2537 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2539 if (ndr_flags & NDR_BUFFERS) {
2541 return NDR_ERR_SUCCESS;
2544 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2546 uint32_t cntr_meta_data_0;
2547 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2549 ndr_print_uint32(ndr, "count", r->count);
2550 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2552 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2554 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2555 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2563 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2565 if (ndr_flags & NDR_SCALARS) {
2566 NDR_CHECK(ndr_push_align(ndr, 5));
2567 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2568 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2569 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2570 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2571 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2572 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2574 if (ndr_flags & NDR_BUFFERS) {
2575 if (r->next_object) {
2576 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2578 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2579 if (r->parent_object_guid) {
2580 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2582 if (r->meta_data_ctr) {
2583 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2586 return NDR_ERR_SUCCESS;
2589 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2591 uint32_t _ptr_next_object;
2592 TALLOC_CTX *_mem_save_next_object_0;
2593 uint32_t _ptr_parent_object_guid;
2594 TALLOC_CTX *_mem_save_parent_object_guid_0;
2595 uint32_t _ptr_meta_data_ctr;
2596 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2597 if (ndr_flags & NDR_SCALARS) {
2598 NDR_CHECK(ndr_pull_align(ndr, 5));
2599 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2600 if (_ptr_next_object) {
2601 NDR_PULL_ALLOC(ndr, r->next_object);
2603 r->next_object = NULL;
2605 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2607 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2608 if (_ptr_parent_object_guid) {
2609 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2611 r->parent_object_guid = NULL;
2613 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2614 if (_ptr_meta_data_ctr) {
2615 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2617 r->meta_data_ctr = NULL;
2619 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2621 if (ndr_flags & NDR_BUFFERS) {
2622 if (r->next_object) {
2623 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2624 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2625 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2628 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2629 if (r->parent_object_guid) {
2630 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2631 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2632 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2633 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2635 if (r->meta_data_ctr) {
2636 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2637 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2638 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2642 return NDR_ERR_SUCCESS;
2645 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2647 if (ndr_flags & NDR_SCALARS) {
2648 NDR_CHECK(ndr_push_align(ndr, 8));
2649 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2650 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2651 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2652 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2653 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2654 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2655 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2656 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2658 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2659 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2661 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2663 if (ndr_flags & NDR_BUFFERS) {
2664 if (r->naming_context) {
2665 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2667 if (r->uptodateness_vector) {
2668 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2670 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2671 if (r->first_object) {
2672 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2675 return NDR_ERR_SUCCESS;
2678 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2680 uint32_t _ptr_naming_context;
2681 TALLOC_CTX *_mem_save_naming_context_0;
2682 uint32_t _ptr_uptodateness_vector;
2683 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2684 uint32_t _ptr_first_object;
2685 TALLOC_CTX *_mem_save_first_object_0;
2686 if (ndr_flags & NDR_SCALARS) {
2687 NDR_CHECK(ndr_pull_align(ndr, 8));
2688 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2689 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2690 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2691 if (_ptr_naming_context) {
2692 NDR_PULL_ALLOC(ndr, r->naming_context);
2694 r->naming_context = NULL;
2696 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2697 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2698 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2699 if (_ptr_uptodateness_vector) {
2700 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2702 r->uptodateness_vector = NULL;
2704 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2705 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2708 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2709 if (_ptr_first_object) {
2710 NDR_PULL_ALLOC(ndr, r->first_object);
2712 r->first_object = NULL;
2714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2715 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2717 if (ndr_flags & NDR_BUFFERS) {
2718 if (r->naming_context) {
2719 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2720 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2721 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2722 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2724 if (r->uptodateness_vector) {
2725 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2726 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2727 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2728 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2730 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2731 if (r->first_object) {
2732 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2733 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2734 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2735 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2738 return NDR_ERR_SUCCESS;
2741 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2743 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2745 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2746 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2747 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2749 if (r->naming_context) {
2750 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2753 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2754 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2755 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2757 if (r->uptodateness_vector) {
2758 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2761 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2762 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2763 ndr_print_uint32(ndr, "object_count", r->object_count);
2764 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
2765 ndr_print_ptr(ndr, "first_object", r->first_object);
2767 if (r->first_object) {
2768 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2771 ndr_print_uint32(ndr, "more_data", r->more_data);
2775 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2777 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2780 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2782 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2783 return NDR_ERR_SUCCESS;
2786 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2789 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2791 return NDR_ERR_SUCCESS;
2794 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2796 ndr_print_uint32(ndr, name, r);
2798 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2802 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2804 if (ndr_flags & NDR_SCALARS) {
2805 NDR_CHECK(ndr_push_align(ndr, 8));
2806 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2807 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2808 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2809 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2810 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2811 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2812 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2814 if (ndr_flags & NDR_BUFFERS) {
2815 if (r->identifier) {
2816 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2818 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2820 return NDR_ERR_SUCCESS;
2823 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2825 uint32_t _ptr_identifier;
2826 TALLOC_CTX *_mem_save_identifier_0;
2827 if (ndr_flags & NDR_SCALARS) {
2828 NDR_CHECK(ndr_pull_align(ndr, 8));
2829 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2830 if (_ptr_identifier) {
2831 NDR_PULL_ALLOC(ndr, r->identifier);
2833 r->identifier = NULL;
2835 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2836 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2837 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2838 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2839 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2840 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2842 if (ndr_flags & NDR_BUFFERS) {
2843 if (r->identifier) {
2844 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2845 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2846 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2849 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2851 return NDR_ERR_SUCCESS;
2854 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2856 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2858 ndr_print_ptr(ndr, "identifier", r->identifier);
2860 if (r->identifier) {
2861 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2864 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2865 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2866 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2867 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2868 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2872 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2874 uint32_t cntr_linked_attributes_1;
2875 if (ndr_flags & NDR_SCALARS) {
2876 NDR_CHECK(ndr_push_align(ndr, 8));
2877 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2878 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2879 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2880 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2881 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2882 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2883 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2884 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2887 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2888 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2889 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2892 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2893 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2894 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
2896 if (ndr_flags & NDR_BUFFERS) {
2897 if (r->naming_context) {
2898 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2900 if (r->uptodateness_vector) {
2901 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2903 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2904 if (r->first_object) {
2905 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2907 if (r->linked_attributes) {
2908 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count));
2909 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2910 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2912 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2913 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2917 return NDR_ERR_SUCCESS;
2920 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2922 uint32_t _ptr_naming_context;
2923 TALLOC_CTX *_mem_save_naming_context_0;
2924 uint32_t _ptr_uptodateness_vector;
2925 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2926 uint32_t _ptr_first_object;
2927 TALLOC_CTX *_mem_save_first_object_0;
2928 uint32_t _ptr_linked_attributes;
2929 uint32_t cntr_linked_attributes_1;
2930 TALLOC_CTX *_mem_save_linked_attributes_0;
2931 TALLOC_CTX *_mem_save_linked_attributes_1;
2932 if (ndr_flags & NDR_SCALARS) {
2933 NDR_CHECK(ndr_pull_align(ndr, 8));
2934 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2935 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2936 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2937 if (_ptr_naming_context) {
2938 NDR_PULL_ALLOC(ndr, r->naming_context);
2940 r->naming_context = NULL;
2942 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2943 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2944 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2945 if (_ptr_uptodateness_vector) {
2946 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2948 r->uptodateness_vector = NULL;
2950 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2951 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2952 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2953 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2954 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2955 if (_ptr_first_object) {
2956 NDR_PULL_ALLOC(ndr, r->first_object);
2958 r->first_object = NULL;
2960 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2961 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
2962 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
2963 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
2964 if (r->linked_attributes_count > 1048576) {
2965 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2967 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
2968 if (_ptr_linked_attributes) {
2969 NDR_PULL_ALLOC(ndr, r->linked_attributes);
2971 r->linked_attributes = NULL;
2973 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
2974 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
2976 if (ndr_flags & NDR_BUFFERS) {
2977 if (r->naming_context) {
2978 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2979 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2980 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2983 if (r->uptodateness_vector) {
2984 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2985 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2986 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2987 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2989 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2990 if (r->first_object) {
2991 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2992 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2993 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2996 if (r->linked_attributes) {
2997 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2998 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
2999 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
3000 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
3001 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
3002 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
3003 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3004 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
3006 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
3007 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
3009 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
3010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
3012 if (r->linked_attributes) {
3013 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
3016 return NDR_ERR_SUCCESS;
3019 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
3021 uint32_t cntr_linked_attributes_1;
3022 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
3024 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
3025 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
3026 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3028 if (r->naming_context) {
3029 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3032 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
3033 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
3034 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
3036 if (r->uptodateness_vector) {
3037 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
3040 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
3041 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
3042 ndr_print_uint32(ndr, "object_count", r->object_count);
3043 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
3044 ndr_print_ptr(ndr, "first_object", r->first_object);
3046 if (r->first_object) {
3047 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
3050 ndr_print_uint32(ndr, "more_data", r->more_data);
3051 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
3052 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
3053 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
3054 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
3056 if (r->linked_attributes) {
3057 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
3059 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
3061 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
3062 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
3069 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
3073 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
3075 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
3078 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3080 if (ndr_flags & NDR_SCALARS) {
3081 NDR_CHECK(ndr_push_align(ndr, 1));
3083 struct ndr_push *_ndr_ctr1;
3084 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3085 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3086 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3088 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3090 if (ndr_flags & NDR_BUFFERS) {
3092 return NDR_ERR_SUCCESS;
3095 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
3097 if (ndr_flags & NDR_SCALARS) {
3098 NDR_CHECK(ndr_pull_align(ndr, 1));
3100 struct ndr_pull *_ndr_ctr1;
3101 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
3102 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
3103 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
3105 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3107 if (ndr_flags & NDR_BUFFERS) {
3109 return NDR_ERR_SUCCESS;
3112 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
3114 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
3116 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3120 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3122 if (ndr_flags & NDR_SCALARS) {
3123 NDR_CHECK(ndr_push_align(ndr, 1));
3125 struct ndr_push *_ndr_ctr6;
3126 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3127 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3128 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3130 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3132 if (ndr_flags & NDR_BUFFERS) {
3134 return NDR_ERR_SUCCESS;
3137 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
3139 if (ndr_flags & NDR_SCALARS) {
3140 NDR_CHECK(ndr_pull_align(ndr, 1));
3142 struct ndr_pull *_ndr_ctr6;
3143 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
3144 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
3145 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
3147 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3149 if (ndr_flags & NDR_BUFFERS) {
3151 return NDR_ERR_SUCCESS;
3154 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
3156 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
3158 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3162 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3165 TALLOC_CTX *_mem_save_ts_0;
3166 if (ndr_flags & NDR_SCALARS) {
3167 NDR_CHECK(ndr_pull_align(ndr, 5));
3168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3169 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3170 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3172 NDR_PULL_ALLOC(ndr, r->ts);
3176 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3178 if (ndr_flags & NDR_BUFFERS) {
3180 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3181 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3183 struct ndr_pull *_ndr_ts;
3184 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3186 struct ndr_pull *_ndr_ts_compressed;
3187 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3188 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3189 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3191 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3196 return NDR_ERR_SUCCESS;
3199 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
3201 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
3203 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3204 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3205 ndr_print_ptr(ndr, "ts", r->ts);
3208 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3214 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3217 TALLOC_CTX *_mem_save_ts_0;
3218 if (ndr_flags & NDR_SCALARS) {
3219 NDR_CHECK(ndr_pull_align(ndr, 5));
3220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3222 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3224 NDR_PULL_ALLOC(ndr, r->ts);
3228 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3230 if (ndr_flags & NDR_BUFFERS) {
3232 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3233 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3235 struct ndr_pull *_ndr_ts;
3236 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3238 struct ndr_pull *_ndr_ts_compressed;
3239 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3240 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3241 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3243 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3248 return NDR_ERR_SUCCESS;
3251 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3253 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3255 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3256 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3257 ndr_print_ptr(ndr, "ts", r->ts);
3260 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3266 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3269 TALLOC_CTX *_mem_save_ts_0;
3270 if (ndr_flags & NDR_SCALARS) {
3271 NDR_CHECK(ndr_pull_align(ndr, 5));
3272 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3273 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3274 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3276 NDR_PULL_ALLOC(ndr, r->ts);
3280 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3282 if (ndr_flags & NDR_BUFFERS) {
3284 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3285 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3287 struct ndr_pull *_ndr_ts;
3288 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3290 struct ndr_pull *_ndr_ts_compressed;
3291 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3292 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3293 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3295 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3300 return NDR_ERR_SUCCESS;
3303 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3305 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3307 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3308 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3309 ndr_print_ptr(ndr, "ts", r->ts);
3312 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3318 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3321 TALLOC_CTX *_mem_save_ts_0;
3322 if (ndr_flags & NDR_SCALARS) {
3323 NDR_CHECK(ndr_pull_align(ndr, 5));
3324 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3325 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3326 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3328 NDR_PULL_ALLOC(ndr, r->ts);
3332 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3334 if (ndr_flags & NDR_BUFFERS) {
3336 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3337 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3339 struct ndr_pull *_ndr_ts;
3340 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3342 struct ndr_pull *_ndr_ts_compressed;
3343 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3344 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3345 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3347 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3352 return NDR_ERR_SUCCESS;
3355 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3357 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3359 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3360 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3361 ndr_print_ptr(ndr, "ts", r->ts);
3364 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3370 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3372 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3373 return NDR_ERR_SUCCESS;
3376 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3379 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3381 return NDR_ERR_SUCCESS;
3384 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3386 const char *val = NULL;
3389 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3390 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3392 ndr_print_enum(ndr, name, "ENUM", val, r);
3395 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3398 uint32_t _flags_save_UNION = ndr->flags;
3399 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3400 if (ndr_flags & NDR_SCALARS) {
3401 int level = ndr_push_get_switch_value(ndr, r);
3402 NDR_CHECK(ndr_push_union_align(ndr, 5));
3404 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3405 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3408 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3409 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3412 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3413 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3416 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3417 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3421 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3424 if (ndr_flags & NDR_BUFFERS) {
3425 int level = ndr_push_get_switch_value(ndr, r);
3427 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3428 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3431 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3432 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3435 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3436 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3439 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3440 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3444 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3447 ndr->flags = _flags_save_UNION;
3449 return NDR_ERR_SUCCESS;
3452 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3456 uint32_t _flags_save_UNION = ndr->flags;
3457 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3458 level = ndr_pull_get_switch_value(ndr, r);
3459 if (ndr_flags & NDR_SCALARS) {
3460 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3462 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3463 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3466 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3467 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3470 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3471 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3474 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3475 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3479 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3482 if (ndr_flags & NDR_BUFFERS) {
3484 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3485 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3488 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3489 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3492 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3493 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3496 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3497 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3501 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3504 ndr->flags = _flags_save_UNION;
3506 return NDR_ERR_SUCCESS;
3509 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3513 uint32_t _flags_save_UNION = ndr->flags;
3514 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3515 level = ndr_print_get_switch_value(ndr, r);
3516 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3518 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3519 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3522 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3523 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3526 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3527 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3530 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3531 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3535 ndr_print_bad_level(ndr, name, level);
3537 ndr->flags = _flags_save_UNION;
3541 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3543 if (ndr_flags & NDR_SCALARS) {
3544 NDR_CHECK(ndr_push_align(ndr, 5));
3545 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3546 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3548 if (ndr_flags & NDR_BUFFERS) {
3549 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3551 return NDR_ERR_SUCCESS;
3554 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3556 if (ndr_flags & NDR_SCALARS) {
3557 NDR_CHECK(ndr_pull_align(ndr, 5));
3558 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3559 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3561 if (ndr_flags & NDR_BUFFERS) {
3562 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3564 return NDR_ERR_SUCCESS;
3567 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3569 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3571 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3575 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3577 if (ndr_flags & NDR_SCALARS) {
3578 NDR_CHECK(ndr_push_align(ndr, 5));
3579 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3580 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3581 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3582 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3583 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3585 if (ndr_flags & NDR_BUFFERS) {
3586 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3588 return NDR_ERR_SUCCESS;
3591 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3593 if (ndr_flags & NDR_SCALARS) {
3594 NDR_CHECK(ndr_pull_align(ndr, 5));
3595 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3596 if (r->level < 0 || r->level > 6) {
3597 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3599 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3600 if (r->type < 2 || r->type > 3) {
3601 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3603 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3604 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3605 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3607 if (ndr_flags & NDR_BUFFERS) {
3608 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3610 return NDR_ERR_SUCCESS;
3613 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3615 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3617 ndr_print_int32(ndr, "level", r->level);
3618 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3619 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3620 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3624 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3626 if (ndr_flags & NDR_SCALARS) {
3627 int level = ndr_push_get_switch_value(ndr, r);
3628 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3629 NDR_CHECK(ndr_push_union_align(ndr, 8));
3632 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3636 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3640 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3644 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3648 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3651 if (ndr_flags & NDR_BUFFERS) {
3652 int level = ndr_push_get_switch_value(ndr, r);
3655 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3659 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3663 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3667 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3671 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3674 return NDR_ERR_SUCCESS;
3677 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3681 level = ndr_pull_get_switch_value(ndr, r);
3682 if (ndr_flags & NDR_SCALARS) {
3683 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3684 if (_level != level) {
3685 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3687 NDR_CHECK(ndr_pull_union_align(ndr, 8));
3690 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3694 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3698 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3702 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3706 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3709 if (ndr_flags & NDR_BUFFERS) {
3712 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3716 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3720 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3724 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3728 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3731 return NDR_ERR_SUCCESS;
3734 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3737 level = ndr_print_get_switch_value(ndr, r);
3738 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3741 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3745 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3749 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3753 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3757 ndr_print_bad_level(ndr, name, level);
3761 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3764 return NDR_ERR_SUCCESS;
3767 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3770 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3772 return NDR_ERR_SUCCESS;
3775 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3777 ndr_print_uint32(ndr, name, r);
3779 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3780 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK, r);
3781 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3782 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3783 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3787 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3789 if (ndr_flags & NDR_SCALARS) {
3790 NDR_CHECK(ndr_push_align(ndr, 5));
3791 if (r->naming_context == NULL) {
3792 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3794 NDR_CHECK(ndr_push_ref_ptr(ndr));
3795 if (r->dest_dsa_dns_name == NULL) {
3796 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3798 NDR_CHECK(ndr_push_ref_ptr(ndr));
3799 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3800 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3801 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3803 if (ndr_flags & NDR_BUFFERS) {
3804 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3805 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3806 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3807 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3808 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dest_dsa_dns_name, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS), sizeof(uint8_t), CH_DOS));
3810 return NDR_ERR_SUCCESS;
3813 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3815 uint32_t _ptr_naming_context;
3816 TALLOC_CTX *_mem_save_naming_context_0;
3817 uint32_t _ptr_dest_dsa_dns_name;
3818 if (ndr_flags & NDR_SCALARS) {
3819 NDR_CHECK(ndr_pull_align(ndr, 5));
3820 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3821 if (_ptr_naming_context) {
3822 NDR_PULL_ALLOC(ndr, r->naming_context);
3824 r->naming_context = NULL;
3826 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3827 if (_ptr_dest_dsa_dns_name) {
3828 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3830 r->dest_dsa_dns_name = NULL;
3832 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3833 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3834 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3836 if (ndr_flags & NDR_BUFFERS) {
3837 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3838 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3839 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3840 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3841 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3842 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3843 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3844 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dest_dsa_dns_name), ndr_get_array_length(ndr, &r->dest_dsa_dns_name));
3846 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3847 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t), CH_DOS));
3849 return NDR_ERR_SUCCESS;
3852 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3854 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3856 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3858 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3860 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3862 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3864 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3865 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3869 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3871 if (ndr_flags & NDR_SCALARS) {
3872 int level = ndr_push_get_switch_value(ndr, r);
3873 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3874 NDR_CHECK(ndr_push_union_align(ndr, 5));
3877 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3881 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3884 if (ndr_flags & NDR_BUFFERS) {
3885 int level = ndr_push_get_switch_value(ndr, r);
3888 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3892 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3895 return NDR_ERR_SUCCESS;
3898 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3902 level = ndr_pull_get_switch_value(ndr, r);
3903 if (ndr_flags & NDR_SCALARS) {
3904 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3905 if (_level != level) {
3906 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3908 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3911 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3915 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3918 if (ndr_flags & NDR_BUFFERS) {
3921 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3925 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3928 return NDR_ERR_SUCCESS;
3931 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3934 level = ndr_print_get_switch_value(ndr, r);
3935 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3938 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3942 ndr_print_bad_level(ndr, name, level);
3946 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3949 return NDR_ERR_SUCCESS;
3952 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3955 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3957 return NDR_ERR_SUCCESS;
3960 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3962 ndr_print_uint32(ndr, name, r);
3964 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
3965 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
3969 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
3971 if (ndr_flags & NDR_SCALARS) {
3972 NDR_CHECK(ndr_push_align(ndr, 5));
3973 if (r->naming_context == NULL) {
3974 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3976 NDR_CHECK(ndr_push_ref_ptr(ndr));
3977 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
3978 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3979 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
3980 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3982 if (ndr_flags & NDR_BUFFERS) {
3983 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3984 if (r->source_dsa_address) {
3985 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3986 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3987 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3988 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
3991 return NDR_ERR_SUCCESS;
3994 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
3996 uint32_t _ptr_naming_context;
3997 TALLOC_CTX *_mem_save_naming_context_0;
3998 uint32_t _ptr_source_dsa_address;
3999 TALLOC_CTX *_mem_save_source_dsa_address_0;
4000 if (ndr_flags & NDR_SCALARS) {
4001 NDR_CHECK(ndr_pull_align(ndr, 5));
4002 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4003 if (_ptr_naming_context) {
4004 NDR_PULL_ALLOC(ndr, r->naming_context);
4006 r->naming_context = NULL;
4008 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4009 if (_ptr_source_dsa_address) {
4010 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4012 r->source_dsa_address = NULL;
4014 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4015 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4016 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4018 if (ndr_flags & NDR_BUFFERS) {
4019 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4020 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4021 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4023 if (r->source_dsa_address) {
4024 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4025 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4026 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4027 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4028 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4029 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4031 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4032 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4036 return NDR_ERR_SUCCESS;
4039 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
4041 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
4043 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4045 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4047 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4049 if (r->source_dsa_address) {
4050 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4053 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4054 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4058 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
4060 if (ndr_flags & NDR_SCALARS) {
4061 NDR_CHECK(ndr_push_align(ndr, 5));
4062 if (r->naming_context == NULL) {
4063 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4065 NDR_CHECK(ndr_push_ref_ptr(ndr));
4066 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
4067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
4068 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4069 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4070 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
4071 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4073 if (ndr_flags & NDR_BUFFERS) {
4074 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4075 if (r->source_dsa_dn) {
4076 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4078 if (r->transport_dn) {
4079 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4081 if (r->source_dsa_address) {
4082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4084 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4085 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4088 return NDR_ERR_SUCCESS;
4091 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
4093 uint32_t _ptr_naming_context;
4094 TALLOC_CTX *_mem_save_naming_context_0;
4095 uint32_t _ptr_source_dsa_dn;
4096 TALLOC_CTX *_mem_save_source_dsa_dn_0;
4097 uint32_t _ptr_transport_dn;
4098 TALLOC_CTX *_mem_save_transport_dn_0;
4099 uint32_t _ptr_source_dsa_address;
4100 TALLOC_CTX *_mem_save_source_dsa_address_0;
4101 if (ndr_flags & NDR_SCALARS) {
4102 NDR_CHECK(ndr_pull_align(ndr, 5));
4103 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4104 if (_ptr_naming_context) {
4105 NDR_PULL_ALLOC(ndr, r->naming_context);
4107 r->naming_context = NULL;
4109 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
4110 if (_ptr_source_dsa_dn) {
4111 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
4113 r->source_dsa_dn = NULL;
4115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
4116 if (_ptr_transport_dn) {
4117 NDR_PULL_ALLOC(ndr, r->transport_dn);
4119 r->transport_dn = NULL;
4121 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4122 if (_ptr_source_dsa_address) {
4123 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4125 r->source_dsa_address = NULL;
4127 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4128 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
4129 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4131 if (ndr_flags & NDR_BUFFERS) {
4132 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4133 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4134 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4136 if (r->source_dsa_dn) {
4137 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4138 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
4139 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
4140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
4142 if (r->transport_dn) {
4143 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
4144 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
4145 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
4146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
4148 if (r->source_dsa_address) {
4149 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4150 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4151 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4152 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4153 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4154 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4156 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4157 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4158 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4161 return NDR_ERR_SUCCESS;
4164 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
4166 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
4168 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4170 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4172 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
4174 if (r->source_dsa_dn) {
4175 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
4178 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
4180 if (r->transport_dn) {
4181 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
4184 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4186 if (r->source_dsa_address) {
4187 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4190 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4191 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
4195 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
4197 if (ndr_flags & NDR_SCALARS) {
4198 int level = ndr_push_get_switch_value(ndr, r);
4199 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4200 NDR_CHECK(ndr_push_union_align(ndr, 5));
4203 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4207 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4211 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4214 if (ndr_flags & NDR_BUFFERS) {
4215 int level = ndr_push_get_switch_value(ndr, r);
4218 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4222 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4226 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4229 return NDR_ERR_SUCCESS;
4232 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
4236 level = ndr_pull_get_switch_value(ndr, r);
4237 if (ndr_flags & NDR_SCALARS) {
4238 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4239 if (_level != level) {
4240 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4242 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4245 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
4249 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
4253 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4256 if (ndr_flags & NDR_BUFFERS) {
4259 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
4263 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
4267 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4270 return NDR_ERR_SUCCESS;
4273 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4276 level = ndr_print_get_switch_value(ndr, r);
4277 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4280 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4284 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4288 ndr_print_bad_level(ndr, name, level);
4292 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4295 return NDR_ERR_SUCCESS;
4298 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4301 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4303 return NDR_ERR_SUCCESS;
4306 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4308 ndr_print_uint32(ndr, name, r);
4310 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4311 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4315 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4317 if (ndr_flags & NDR_SCALARS) {
4318 NDR_CHECK(ndr_push_align(ndr, 5));
4319 if (r->naming_context == NULL) {
4320 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4322 NDR_CHECK(ndr_push_ref_ptr(ndr));
4323 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4324 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->options));
4325 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4327 if (ndr_flags & NDR_BUFFERS) {
4328 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4329 if (r->source_dsa_address) {
4330 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4331 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4332 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4333 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4336 return NDR_ERR_SUCCESS;
4339 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4341 uint32_t _ptr_naming_context;
4342 TALLOC_CTX *_mem_save_naming_context_0;
4343 uint32_t _ptr_source_dsa_address;
4344 TALLOC_CTX *_mem_save_source_dsa_address_0;
4345 if (ndr_flags & NDR_SCALARS) {
4346 NDR_CHECK(ndr_pull_align(ndr, 5));
4347 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4348 if (_ptr_naming_context) {
4349 NDR_PULL_ALLOC(ndr, r->naming_context);
4351 r->naming_context = NULL;
4353 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4354 if (_ptr_source_dsa_address) {
4355 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4357 r->source_dsa_address = NULL;
4359 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->options));
4360 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4362 if (ndr_flags & NDR_BUFFERS) {
4363 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4364 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4365 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4367 if (r->source_dsa_address) {
4368 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4369 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4370 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4371 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4372 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4373 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
4375 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4376 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
4377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4380 return NDR_ERR_SUCCESS;
4383 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4385 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4387 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4389 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4391 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4393 if (r->source_dsa_address) {
4394 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4397 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "options", r->options);
4401 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4403 if (ndr_flags & NDR_SCALARS) {
4404 int level = ndr_push_get_switch_value(ndr, r);
4405 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4406 NDR_CHECK(ndr_push_union_align(ndr, 5));
4409 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4413 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4416 if (ndr_flags & NDR_BUFFERS) {
4417 int level = ndr_push_get_switch_value(ndr, r);
4420 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4424 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4427 return NDR_ERR_SUCCESS;
4430 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4434 level = ndr_pull_get_switch_value(ndr, r);
4435 if (ndr_flags & NDR_SCALARS) {
4436 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4437 if (_level != level) {
4438 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4440 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4443 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4447 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4450 if (ndr_flags & NDR_BUFFERS) {
4453 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4457 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4460 return NDR_ERR_SUCCESS;
4463 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4466 level = ndr_print_get_switch_value(ndr, r);
4467 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4470 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4474 ndr_print_bad_level(ndr, name, level);
4478 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4481 return NDR_ERR_SUCCESS;
4484 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4489 return NDR_ERR_SUCCESS;
4492 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4494 ndr_print_uint32(ndr, name, r);
4496 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4497 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4501 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4503 if (ndr_flags & NDR_SCALARS) {
4504 NDR_CHECK(ndr_push_align(ndr, 5));
4505 if (r->naming_context == NULL) {
4506 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4508 NDR_CHECK(ndr_push_ref_ptr(ndr));
4509 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4510 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4511 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4514 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->options));
4515 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4517 if (ndr_flags & NDR_BUFFERS) {
4518 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4519 if (r->source_dra_address) {
4520 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4521 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4522 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4523 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dra_address, ndr_charset_length(r->source_dra_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4526 return NDR_ERR_SUCCESS;
4529 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4531 uint32_t _ptr_naming_context;
4532 TALLOC_CTX *_mem_save_naming_context_0;
4533 uint32_t _ptr_source_dra_address;
4534 TALLOC_CTX *_mem_save_source_dra_address_0;
4535 if (ndr_flags & NDR_SCALARS) {
4536 NDR_CHECK(ndr_pull_align(ndr, 5));
4537 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4538 if (_ptr_naming_context) {
4539 NDR_PULL_ALLOC(ndr, r->naming_context);
4541 r->naming_context = NULL;
4543 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4544 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4545 if (_ptr_source_dra_address) {
4546 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4548 r->source_dra_address = NULL;
4550 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4551 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4552 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4553 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->options));
4554 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4556 if (ndr_flags & NDR_BUFFERS) {
4557 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4558 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4559 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4561 if (r->source_dra_address) {
4562 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4563 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4564 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4565 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4566 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4567 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dra_address), ndr_get_array_length(ndr, &r->source_dra_address));
4569 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4570 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t), CH_UTF16));
4571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4574 return NDR_ERR_SUCCESS;
4577 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4579 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4581 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4583 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4585 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4586 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4588 if (r->source_dra_address) {
4589 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4592 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4593 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4594 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4595 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "options", r->options);
4599 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4601 if (ndr_flags & NDR_SCALARS) {
4602 int level = ndr_push_get_switch_value(ndr, r);
4603 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4604 NDR_CHECK(ndr_push_union_align(ndr, 5));
4607 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4611 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4614 if (ndr_flags & NDR_BUFFERS) {
4615 int level = ndr_push_get_switch_value(ndr, r);
4618 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4622 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4625 return NDR_ERR_SUCCESS;
4628 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4632 level = ndr_pull_get_switch_value(ndr, r);
4633 if (ndr_flags & NDR_SCALARS) {
4634 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4635 if (_level != level) {
4636 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4638 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4641 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4645 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4648 if (ndr_flags & NDR_BUFFERS) {
4651 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4655 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4658 return NDR_ERR_SUCCESS;
4661 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4664 level = ndr_print_get_switch_value(ndr, r);
4665 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4668 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4672 ndr_print_bad_level(ndr, name, level);
4676 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4678 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4679 return NDR_ERR_SUCCESS;
4682 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4685 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4687 return NDR_ERR_SUCCESS;
4690 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4692 const char *val = NULL;
4695 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4696 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4697 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4698 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4699 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4700 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4701 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4703 ndr_print_enum(ndr, name, "ENUM", val, r);
4706 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4708 uint32_t cntr_info_array_1;
4709 uint32_t cntr_group_attrs_1;
4710 uint32_t cntr_sids_1;
4711 if (ndr_flags & NDR_SCALARS) {
4712 NDR_CHECK(ndr_push_align(ndr, 5));
4713 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4716 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4717 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4718 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4719 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4721 if (ndr_flags & NDR_BUFFERS) {
4722 if (r->info_array) {
4723 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4724 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4725 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4727 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4728 if (r->info_array[cntr_info_array_1]) {
4729 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4733 if (r->group_attrs) {
4734 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships));
4735 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4736 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4740 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
4741 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4744 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4745 if (r->sids[cntr_sids_1]) {
4746 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4751 return NDR_ERR_SUCCESS;
4754 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4756 uint32_t _ptr_info_array;
4757 uint32_t cntr_info_array_1;
4758 TALLOC_CTX *_mem_save_info_array_0;
4759 TALLOC_CTX *_mem_save_info_array_1;
4760 TALLOC_CTX *_mem_save_info_array_2;
4761 uint32_t _ptr_group_attrs;
4762 uint32_t cntr_group_attrs_1;
4763 TALLOC_CTX *_mem_save_group_attrs_0;
4764 TALLOC_CTX *_mem_save_group_attrs_1;
4766 uint32_t cntr_sids_1;
4767 TALLOC_CTX *_mem_save_sids_0;
4768 TALLOC_CTX *_mem_save_sids_1;
4769 TALLOC_CTX *_mem_save_sids_2;
4770 if (ndr_flags & NDR_SCALARS) {
4771 NDR_CHECK(ndr_pull_align(ndr, 5));
4772 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4773 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4774 if (r->num_memberships > 10000) {
4775 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4777 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4778 if (r->num_sids > 10000) {
4779 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4781 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4782 if (_ptr_info_array) {
4783 NDR_PULL_ALLOC(ndr, r->info_array);
4785 r->info_array = NULL;
4787 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4788 if (_ptr_group_attrs) {
4789 NDR_PULL_ALLOC(ndr, r->group_attrs);
4791 r->group_attrs = NULL;
4793 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4795 NDR_PULL_ALLOC(ndr, r->sids);
4799 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4801 if (ndr_flags & NDR_BUFFERS) {
4802 if (r->info_array) {
4803 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4804 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4805 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4806 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4807 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4808 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4809 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4810 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4811 if (_ptr_info_array) {
4812 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4814 r->info_array[cntr_info_array_1] = NULL;
4817 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4818 if (r->info_array[cntr_info_array_1]) {
4819 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4820 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4821 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4822 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4826 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4828 if (r->group_attrs) {
4829 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4830 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4831 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4832 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4833 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4834 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4835 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4836 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4838 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4839 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4842 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4843 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4844 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4845 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4846 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4847 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4848 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4849 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4851 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4853 r->sids[cntr_sids_1] = NULL;
4856 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4857 if (r->sids[cntr_sids_1]) {
4858 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4859 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4860 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4864 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4867 if (r->info_array) {
4868 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4870 if (r->group_attrs) {
4871 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4874 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4877 return NDR_ERR_SUCCESS;
4880 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4882 uint32_t cntr_info_array_1;
4883 uint32_t cntr_group_attrs_1;
4884 uint32_t cntr_sids_1;
4885 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4887 ndr_print_NTSTATUS(ndr, "status", r->status);
4888 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4889 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4890 ndr_print_ptr(ndr, "info_array", r->info_array);
4892 if (r->info_array) {
4893 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4895 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4897 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4898 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4900 if (r->info_array[cntr_info_array_1]) {
4901 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4910 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4912 if (r->group_attrs) {
4913 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4915 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4917 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4918 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4925 ndr_print_ptr(ndr, "sids", r->sids);
4928 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4930 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4932 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4933 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4935 if (r->sids[cntr_sids_1]) {
4936 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4948 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4950 if (ndr_flags & NDR_SCALARS) {
4951 int level = ndr_push_get_switch_value(ndr, r);
4952 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4953 NDR_CHECK(ndr_push_union_align(ndr, 5));
4956 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4960 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4963 if (ndr_flags & NDR_BUFFERS) {
4964 int level = ndr_push_get_switch_value(ndr, r);
4967 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4971 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4974 return NDR_ERR_SUCCESS;
4977 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4981 level = ndr_pull_get_switch_value(ndr, r);
4982 if (ndr_flags & NDR_SCALARS) {
4983 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4984 if (_level != level) {
4985 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4987 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4990 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4994 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4997 if (ndr_flags & NDR_BUFFERS) {
5000 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
5004 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5007 return NDR_ERR_SUCCESS;
5010 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
5013 level = ndr_print_get_switch_value(ndr, r);
5014 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
5017 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
5021 ndr_print_bad_level(ndr, name, level);
5025 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
5027 uint32_t cntr_info_array_1;
5028 if (ndr_flags & NDR_SCALARS) {
5029 NDR_CHECK(ndr_push_align(ndr, 5));
5030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
5032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5033 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
5034 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5035 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5037 if (ndr_flags & NDR_BUFFERS) {
5038 if (r->info_array) {
5039 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5040 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5041 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
5043 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5044 if (r->info_array[cntr_info_array_1]) {
5045 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5050 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5053 return NDR_ERR_SUCCESS;
5056 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
5058 uint32_t _ptr_info_array;
5059 uint32_t cntr_info_array_1;
5060 TALLOC_CTX *_mem_save_info_array_0;
5061 TALLOC_CTX *_mem_save_info_array_1;
5062 TALLOC_CTX *_mem_save_info_array_2;
5063 uint32_t _ptr_domain;
5064 TALLOC_CTX *_mem_save_domain_0;
5065 if (ndr_flags & NDR_SCALARS) {
5066 NDR_CHECK(ndr_pull_align(ndr, 5));
5067 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5068 if (r->count < 1 || r->count > 10000) {
5069 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5072 if (_ptr_info_array) {
5073 NDR_PULL_ALLOC(ndr, r->info_array);
5075 r->info_array = NULL;
5077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5078 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
5079 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5081 NDR_PULL_ALLOC(ndr, r->domain);
5085 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5087 if (ndr_flags & NDR_BUFFERS) {
5088 if (r->info_array) {
5089 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5090 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5091 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
5092 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
5093 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5094 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
5095 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5096 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
5097 if (_ptr_info_array) {
5098 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
5100 r->info_array[cntr_info_array_1] = NULL;
5103 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
5104 if (r->info_array[cntr_info_array_1]) {
5105 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
5106 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
5107 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
5108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
5111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
5112 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
5115 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5116 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5117 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
5118 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5120 if (r->info_array) {
5121 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
5124 return NDR_ERR_SUCCESS;
5127 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
5129 uint32_t cntr_info_array_1;
5130 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
5132 ndr_print_uint32(ndr, "count", r->count);
5133 ndr_print_ptr(ndr, "info_array", r->info_array);
5135 if (r->info_array) {
5136 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
5138 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
5140 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
5141 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
5143 if (r->info_array[cntr_info_array_1]) {
5144 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
5153 ndr_print_uint32(ndr, "flags", r->flags);
5154 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
5155 ndr_print_ptr(ndr, "domain", r->domain);
5158 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
5164 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
5166 if (ndr_flags & NDR_SCALARS) {
5167 int level = ndr_push_get_switch_value(ndr, r);
5168 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5169 NDR_CHECK(ndr_push_union_align(ndr, 5));
5172 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5176 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5179 if (ndr_flags & NDR_BUFFERS) {
5180 int level = ndr_push_get_switch_value(ndr, r);
5183 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5187 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5190 return NDR_ERR_SUCCESS;
5193 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
5197 level = ndr_pull_get_switch_value(ndr, r);
5198 if (ndr_flags & NDR_SCALARS) {
5199 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5200 if (_level != level) {
5201 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5203 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5206 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
5210 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5213 if (ndr_flags & NDR_BUFFERS) {
5216 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
5220 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5223 return NDR_ERR_SUCCESS;
5226 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
5229 level = ndr_print_get_switch_value(ndr, r);
5230 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
5233 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
5237 ndr_print_bad_level(ndr, name, level);
5241 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5243 if (ndr_flags & NDR_SCALARS) {
5244 NDR_CHECK(ndr_push_align(ndr, 5));
5245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5248 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5249 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5251 if (ndr_flags & NDR_BUFFERS) {
5253 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5254 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5257 return NDR_ERR_SUCCESS;
5260 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5263 TALLOC_CTX *_mem_save_data_0;
5264 if (ndr_flags & NDR_SCALARS) {
5265 NDR_CHECK(ndr_pull_align(ndr, 5));
5266 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5267 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5268 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5269 if (r->length > 0x00A00000) {
5270 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5272 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5274 NDR_PULL_ALLOC(ndr, r->data);
5278 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5280 if (ndr_flags & NDR_BUFFERS) {
5282 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5283 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5284 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5285 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5286 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5290 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5293 return NDR_ERR_SUCCESS;
5296 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5298 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5300 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5301 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5302 ndr_print_uint32(ndr, "length", r->length);
5303 ndr_print_ptr(ndr, "data", r->data);
5306 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5312 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5314 if (ndr_flags & NDR_SCALARS) {
5315 int level = ndr_push_get_switch_value(ndr, r);
5316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5317 NDR_CHECK(ndr_push_union_align(ndr, 5));
5320 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5324 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5327 if (ndr_flags & NDR_BUFFERS) {
5328 int level = ndr_push_get_switch_value(ndr, r);
5331 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5335 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5338 return NDR_ERR_SUCCESS;
5341 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5345 level = ndr_pull_get_switch_value(ndr, r);
5346 if (ndr_flags & NDR_SCALARS) {
5347 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5348 if (_level != level) {
5349 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5351 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5354 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5358 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5361 if (ndr_flags & NDR_BUFFERS) {
5364 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5368 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5371 return NDR_ERR_SUCCESS;
5374 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5377 level = ndr_print_get_switch_value(ndr, r);
5378 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5381 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5385 ndr_print_bad_level(ndr, name, level);
5389 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5391 if (ndr_flags & NDR_SCALARS) {
5392 NDR_CHECK(ndr_push_align(ndr, 8));
5393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5395 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5396 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5397 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5398 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5399 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5400 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5401 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5402 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5403 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5404 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5406 if (ndr_flags & NDR_BUFFERS) {
5408 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length1));
5409 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5412 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length2));
5413 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5416 return NDR_ERR_SUCCESS;
5419 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5421 uint32_t _ptr_data1;
5422 TALLOC_CTX *_mem_save_data1_0;
5423 uint32_t _ptr_data2;
5424 TALLOC_CTX *_mem_save_data2_0;
5425 if (ndr_flags & NDR_SCALARS) {
5426 NDR_CHECK(ndr_pull_align(ndr, 8));
5427 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5428 if (r->length1 > 0x00A00000) {
5429 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5432 if (r->length2 > 0x00A00000) {
5433 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5435 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5436 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5437 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5438 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5439 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5440 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5441 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5444 NDR_PULL_ALLOC(ndr, r->data1);
5448 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5450 NDR_PULL_ALLOC(ndr, r->data2);
5454 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5456 if (ndr_flags & NDR_BUFFERS) {
5458 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5459 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5460 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5461 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5462 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5466 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5467 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5468 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5469 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5470 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5474 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5477 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5480 return NDR_ERR_SUCCESS;
5483 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5485 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5487 ndr_print_uint32(ndr, "length1", r->length1);
5488 ndr_print_uint32(ndr, "length2", r->length2);
5489 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5490 ndr_print_NTTIME(ndr, "time2", r->time2);
5491 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5492 ndr_print_NTTIME(ndr, "time4", r->time4);
5493 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5494 ndr_print_NTTIME(ndr, "time6", r->time6);
5495 ndr_print_NTSTATUS(ndr, "status", r->status);
5496 ndr_print_ptr(ndr, "data1", r->data1);
5499 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5502 ndr_print_ptr(ndr, "data2", r->data2);
5505 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5511 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5513 if (ndr_flags & NDR_SCALARS) {
5514 int level = ndr_push_get_switch_value(ndr, r);
5515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5516 NDR_CHECK(ndr_push_union_align(ndr, 8));
5519 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5523 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5526 if (ndr_flags & NDR_BUFFERS) {
5527 int level = ndr_push_get_switch_value(ndr, r);
5530 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5534 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5537 return NDR_ERR_SUCCESS;
5540 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5544 level = ndr_pull_get_switch_value(ndr, r);
5545 if (ndr_flags & NDR_SCALARS) {
5546 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5547 if (_level != level) {
5548 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5550 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5553 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5557 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5560 if (ndr_flags & NDR_BUFFERS) {
5563 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5567 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5570 return NDR_ERR_SUCCESS;
5573 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5576 level = ndr_print_get_switch_value(ndr, r);
5577 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5580 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5584 ndr_print_bad_level(ndr, name, level);
5588 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5590 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5591 return NDR_ERR_SUCCESS;
5594 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5597 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5599 return NDR_ERR_SUCCESS;
5602 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5604 const char *val = NULL;
5607 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5608 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5609 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5610 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5611 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5612 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5613 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5614 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5616 ndr_print_enum(ndr, name, "ENUM", val, r);
5619 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5621 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5622 return NDR_ERR_SUCCESS;
5625 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5628 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5630 return NDR_ERR_SUCCESS;
5633 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5635 const char *val = NULL;
5638 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5639 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5640 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5641 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5642 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5644 ndr_print_enum(ndr, name, "ENUM", val, r);
5647 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5649 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5650 return NDR_ERR_SUCCESS;
5653 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5656 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5658 return NDR_ERR_SUCCESS;
5661 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5663 const char *val = NULL;
5666 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5667 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5668 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5669 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5670 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5671 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5672 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5673 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5674 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5675 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5676 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5678 ndr_print_enum(ndr, name, "ENUM", val, r);
5681 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5683 if (ndr_flags & NDR_SCALARS) {
5684 NDR_CHECK(ndr_push_align(ndr, 5));
5685 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5686 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5688 if (ndr_flags & NDR_BUFFERS) {
5690 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5691 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5692 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5693 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5696 return NDR_ERR_SUCCESS;
5699 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5702 TALLOC_CTX *_mem_save_str_0;
5703 if (ndr_flags & NDR_SCALARS) {
5704 NDR_CHECK(ndr_pull_align(ndr, 5));
5705 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5707 NDR_PULL_ALLOC(ndr, r->str);
5711 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5713 if (ndr_flags & NDR_BUFFERS) {
5715 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5716 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5717 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5718 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5719 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5720 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str), ndr_get_array_length(ndr, &r->str));
5722 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5723 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5727 return NDR_ERR_SUCCESS;
5730 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5732 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5734 ndr_print_ptr(ndr, "str", r->str);
5737 ndr_print_string(ndr, "str", r->str);
5743 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5745 uint32_t cntr_names_1;
5746 if (ndr_flags & NDR_SCALARS) {
5747 NDR_CHECK(ndr_push_align(ndr, 5));
5748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5750 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5751 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5752 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5754 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5755 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5757 if (ndr_flags & NDR_BUFFERS) {
5759 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5760 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5761 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5763 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5764 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5768 return NDR_ERR_SUCCESS;
5771 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5773 uint32_t _ptr_names;
5774 uint32_t cntr_names_1;
5775 TALLOC_CTX *_mem_save_names_0;
5776 TALLOC_CTX *_mem_save_names_1;
5777 if (ndr_flags & NDR_SCALARS) {
5778 NDR_CHECK(ndr_pull_align(ndr, 5));
5779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5780 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5781 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5782 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5783 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5784 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5785 if (r->count < 1 || r->count > 10000) {
5786 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5790 NDR_PULL_ALLOC(ndr, r->names);
5794 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5796 if (ndr_flags & NDR_BUFFERS) {
5798 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5799 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5800 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5801 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5802 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5803 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5804 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5805 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5807 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5808 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5814 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5817 return NDR_ERR_SUCCESS;
5820 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5822 uint32_t cntr_names_1;
5823 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5825 ndr_print_uint32(ndr, "codepage", r->codepage);
5826 ndr_print_uint32(ndr, "language", r->language);
5827 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5828 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5829 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5830 ndr_print_uint32(ndr, "count", r->count);
5831 ndr_print_ptr(ndr, "names", r->names);
5834 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5836 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5838 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5839 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5849 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5851 if (ndr_flags & NDR_SCALARS) {
5852 int level = ndr_push_get_switch_value(ndr, r);
5853 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5854 NDR_CHECK(ndr_push_union_align(ndr, 5));
5857 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5861 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5864 if (ndr_flags & NDR_BUFFERS) {
5865 int level = ndr_push_get_switch_value(ndr, r);
5868 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5872 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5875 return NDR_ERR_SUCCESS;
5878 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5882 level = ndr_pull_get_switch_value(ndr, r);
5883 if (ndr_flags & NDR_SCALARS) {
5884 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5885 if (_level != level) {
5886 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5888 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5891 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5895 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5898 if (ndr_flags & NDR_BUFFERS) {
5901 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5905 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5908 return NDR_ERR_SUCCESS;
5911 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5914 level = ndr_print_get_switch_value(ndr, r);
5915 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5918 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5922 ndr_print_bad_level(ndr, name, level);
5926 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5928 if (ndr_flags & NDR_SCALARS) {
5929 NDR_CHECK(ndr_push_align(ndr, 5));
5930 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5931 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5932 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5933 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5935 if (ndr_flags & NDR_BUFFERS) {
5936 if (r->dns_domain_name) {
5937 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5938 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5939 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5940 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_domain_name, ndr_charset_length(r->dns_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5942 if (r->result_name) {
5943 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5944 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5945 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5946 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5949 return NDR_ERR_SUCCESS;
5952 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5954 uint32_t _ptr_dns_domain_name;
5955 TALLOC_CTX *_mem_save_dns_domain_name_0;
5956 uint32_t _ptr_result_name;
5957 TALLOC_CTX *_mem_save_result_name_0;
5958 if (ndr_flags & NDR_SCALARS) {
5959 NDR_CHECK(ndr_pull_align(ndr, 5));
5960 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5961 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5962 if (_ptr_dns_domain_name) {
5963 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5965 r->dns_domain_name = NULL;
5967 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5968 if (_ptr_result_name) {
5969 NDR_PULL_ALLOC(ndr, r->result_name);
5971 r->result_name = NULL;
5973 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5975 if (ndr_flags & NDR_BUFFERS) {
5976 if (r->dns_domain_name) {
5977 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5978 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5979 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5980 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5981 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5982 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_domain_name), ndr_get_array_length(ndr, &r->dns_domain_name));
5984 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5985 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t), CH_UTF16));
5986 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5988 if (r->result_name) {
5989 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5990 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5991 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5992 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5993 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5994 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->result_name), ndr_get_array_length(ndr, &r->result_name));
5996 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5997 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
6001 return NDR_ERR_SUCCESS;
6004 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
6006 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
6008 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
6009 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
6011 if (r->dns_domain_name) {
6012 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
6015 ndr_print_ptr(ndr, "result_name", r->result_name);
6017 if (r->result_name) {
6018 ndr_print_string(ndr, "result_name", r->result_name);
6024 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
6026 uint32_t cntr_array_1;
6027 if (ndr_flags & NDR_SCALARS) {
6028 NDR_CHECK(ndr_push_align(ndr, 5));
6029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6031 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6033 if (ndr_flags & NDR_BUFFERS) {
6035 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6036 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6037 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6039 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6040 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6044 return NDR_ERR_SUCCESS;
6047 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
6049 uint32_t _ptr_array;
6050 uint32_t cntr_array_1;
6051 TALLOC_CTX *_mem_save_array_0;
6052 TALLOC_CTX *_mem_save_array_1;
6053 if (ndr_flags & NDR_SCALARS) {
6054 NDR_CHECK(ndr_pull_align(ndr, 5));
6055 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6058 NDR_PULL_ALLOC(ndr, r->array);
6062 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6064 if (ndr_flags & NDR_BUFFERS) {
6066 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6067 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6068 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6069 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6070 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6071 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6072 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6073 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6075 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6076 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6078 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6082 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6085 return NDR_ERR_SUCCESS;
6088 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
6090 uint32_t cntr_array_1;
6091 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
6093 ndr_print_uint32(ndr, "count", r->count);
6094 ndr_print_ptr(ndr, "array", r->array);
6097 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6099 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6101 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6102 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
6112 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
6114 if (ndr_flags & NDR_SCALARS) {
6115 int level = ndr_push_get_switch_value(ndr, r);
6116 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6117 NDR_CHECK(ndr_push_union_align(ndr, 5));
6120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
6124 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6127 if (ndr_flags & NDR_BUFFERS) {
6128 int level = ndr_push_get_switch_value(ndr, r);
6132 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6137 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6140 return NDR_ERR_SUCCESS;
6143 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
6147 TALLOC_CTX *_mem_save_ctr1_0;
6148 level = ndr_pull_get_switch_value(ndr, r);
6149 if (ndr_flags & NDR_SCALARS) {
6150 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6151 if (_level != level) {
6152 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6154 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6158 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
6160 NDR_PULL_ALLOC(ndr, r->ctr1);
6167 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6170 if (ndr_flags & NDR_BUFFERS) {
6174 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6175 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
6176 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
6177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
6182 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6185 return NDR_ERR_SUCCESS;
6188 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
6191 level = ndr_print_get_switch_value(ndr, r);
6192 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
6195 ndr_print_ptr(ndr, "ctr1", r->ctr1);
6198 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
6204 ndr_print_bad_level(ndr, name, level);
6208 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
6210 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6211 return NDR_ERR_SUCCESS;
6214 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
6217 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6219 return NDR_ERR_SUCCESS;
6222 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
6224 const char *val = NULL;
6227 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6228 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6229 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6231 ndr_print_enum(ndr, name, "ENUM", val, r);
6234 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6236 uint32_t cntr_spn_names_1;
6237 if (ndr_flags & NDR_SCALARS) {
6238 NDR_CHECK(ndr_push_align(ndr, 5));
6239 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
6240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
6241 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
6242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6243 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
6244 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6246 if (ndr_flags & NDR_BUFFERS) {
6248 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6249 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6250 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
6251 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6254 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
6255 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6256 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6258 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6259 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6263 return NDR_ERR_SUCCESS;
6266 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
6268 uint32_t _ptr_object_dn;
6269 TALLOC_CTX *_mem_save_object_dn_0;
6270 uint32_t _ptr_spn_names;
6271 uint32_t cntr_spn_names_1;
6272 TALLOC_CTX *_mem_save_spn_names_0;
6273 TALLOC_CTX *_mem_save_spn_names_1;
6274 if (ndr_flags & NDR_SCALARS) {
6275 NDR_CHECK(ndr_pull_align(ndr, 5));
6276 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
6277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
6278 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
6279 if (_ptr_object_dn) {
6280 NDR_PULL_ALLOC(ndr, r->object_dn);
6282 r->object_dn = NULL;
6284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6285 if (r->count > 10000) {
6286 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6288 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
6289 if (_ptr_spn_names) {
6290 NDR_PULL_ALLOC(ndr, r->spn_names);
6292 r->spn_names = NULL;
6294 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6296 if (ndr_flags & NDR_BUFFERS) {
6298 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6299 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
6300 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
6301 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
6302 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
6303 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
6305 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
6306 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
6307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6310 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6311 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6312 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6313 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6314 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6315 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6316 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6317 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6319 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6320 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6323 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6326 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6329 return NDR_ERR_SUCCESS;
6332 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6334 uint32_t cntr_spn_names_1;
6335 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6337 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6338 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6339 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6342 ndr_print_string(ndr, "object_dn", r->object_dn);
6345 ndr_print_uint32(ndr, "count", r->count);
6346 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6349 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6351 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6353 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6354 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6364 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6366 if (ndr_flags & NDR_SCALARS) {
6367 int level = ndr_push_get_switch_value(ndr, r);
6368 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6369 NDR_CHECK(ndr_push_union_align(ndr, 5));
6372 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6376 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6379 if (ndr_flags & NDR_BUFFERS) {
6380 int level = ndr_push_get_switch_value(ndr, r);
6383 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6387 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6390 return NDR_ERR_SUCCESS;
6393 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6397 level = ndr_pull_get_switch_value(ndr, r);
6398 if (ndr_flags & NDR_SCALARS) {
6399 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6400 if (_level != level) {
6401 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6403 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6406 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6410 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6413 if (ndr_flags & NDR_BUFFERS) {
6416 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6420 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6423 return NDR_ERR_SUCCESS;
6426 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6429 level = ndr_print_get_switch_value(ndr, r);
6430 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6433 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6437 ndr_print_bad_level(ndr, name, level);
6441 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6443 if (ndr_flags & NDR_SCALARS) {
6444 NDR_CHECK(ndr_push_align(ndr, 4));
6445 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6446 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6448 if (ndr_flags & NDR_BUFFERS) {
6450 return NDR_ERR_SUCCESS;
6453 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6455 if (ndr_flags & NDR_SCALARS) {
6456 NDR_CHECK(ndr_pull_align(ndr, 4));
6457 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6458 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6460 if (ndr_flags & NDR_BUFFERS) {
6462 return NDR_ERR_SUCCESS;
6465 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6467 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6469 ndr_print_WERROR(ndr, "status", r->status);
6473 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6475 if (ndr_flags & NDR_SCALARS) {
6476 int level = ndr_push_get_switch_value(ndr, r);
6477 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6478 NDR_CHECK(ndr_push_union_align(ndr, 4));
6481 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6485 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6488 if (ndr_flags & NDR_BUFFERS) {
6489 int level = ndr_push_get_switch_value(ndr, r);
6495 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6498 return NDR_ERR_SUCCESS;
6501 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6505 level = ndr_pull_get_switch_value(ndr, r);
6506 if (ndr_flags & NDR_SCALARS) {
6507 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6508 if (_level != level) {
6509 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6511 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6514 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6518 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6521 if (ndr_flags & NDR_BUFFERS) {
6527 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6530 return NDR_ERR_SUCCESS;
6533 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6536 level = ndr_print_get_switch_value(ndr, r);
6537 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6540 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6544 ndr_print_bad_level(ndr, name, level);
6548 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6550 if (ndr_flags & NDR_SCALARS) {
6551 NDR_CHECK(ndr_push_align(ndr, 5));
6552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6553 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6554 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6555 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6557 if (ndr_flags & NDR_BUFFERS) {
6559 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6560 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6561 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6562 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6565 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6566 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6567 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6568 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6571 return NDR_ERR_SUCCESS;
6574 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6576 uint32_t _ptr_server_dn;
6577 TALLOC_CTX *_mem_save_server_dn_0;
6578 uint32_t _ptr_domain_dn;
6579 TALLOC_CTX *_mem_save_domain_dn_0;
6580 if (ndr_flags & NDR_SCALARS) {
6581 NDR_CHECK(ndr_pull_align(ndr, 5));
6582 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6583 if (_ptr_server_dn) {
6584 NDR_PULL_ALLOC(ndr, r->server_dn);
6586 r->server_dn = NULL;
6588 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6589 if (_ptr_domain_dn) {
6590 NDR_PULL_ALLOC(ndr, r->domain_dn);
6592 r->domain_dn = NULL;
6594 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6595 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6597 if (ndr_flags & NDR_BUFFERS) {
6599 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6600 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6601 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6602 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6603 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6604 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
6606 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6607 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6608 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6611 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6612 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6613 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6614 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6615 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6616 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_dn), ndr_get_array_length(ndr, &r->domain_dn));
6618 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6619 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6623 return NDR_ERR_SUCCESS;
6626 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6628 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6630 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6633 ndr_print_string(ndr, "server_dn", r->server_dn);
6636 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6639 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6642 ndr_print_uint32(ndr, "commit", r->commit);
6646 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6648 if (ndr_flags & NDR_SCALARS) {
6649 int level = ndr_push_get_switch_value(ndr, r);
6650 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6651 NDR_CHECK(ndr_push_union_align(ndr, 5));
6654 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6658 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6661 if (ndr_flags & NDR_BUFFERS) {
6662 int level = ndr_push_get_switch_value(ndr, r);
6665 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6669 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6672 return NDR_ERR_SUCCESS;
6675 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6679 level = ndr_pull_get_switch_value(ndr, r);
6680 if (ndr_flags & NDR_SCALARS) {
6681 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6682 if (_level != level) {
6683 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6685 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6688 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6692 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6695 if (ndr_flags & NDR_BUFFERS) {
6698 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6702 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6705 return NDR_ERR_SUCCESS;
6708 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6711 level = ndr_print_get_switch_value(ndr, r);
6712 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6715 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6719 ndr_print_bad_level(ndr, name, level);
6723 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6725 if (ndr_flags & NDR_SCALARS) {
6726 NDR_CHECK(ndr_push_align(ndr, 4));
6727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6728 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6730 if (ndr_flags & NDR_BUFFERS) {
6732 return NDR_ERR_SUCCESS;
6735 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6737 if (ndr_flags & NDR_SCALARS) {
6738 NDR_CHECK(ndr_pull_align(ndr, 4));
6739 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6740 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6742 if (ndr_flags & NDR_BUFFERS) {
6744 return NDR_ERR_SUCCESS;
6747 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6749 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6751 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6755 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6757 if (ndr_flags & NDR_SCALARS) {
6758 int level = ndr_push_get_switch_value(ndr, r);
6759 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6760 NDR_CHECK(ndr_push_union_align(ndr, 4));
6763 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6767 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6770 if (ndr_flags & NDR_BUFFERS) {
6771 int level = ndr_push_get_switch_value(ndr, r);
6777 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6780 return NDR_ERR_SUCCESS;
6783 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6787 level = ndr_pull_get_switch_value(ndr, r);
6788 if (ndr_flags & NDR_SCALARS) {
6789 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6790 if (_level != level) {
6791 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6793 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6796 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6800 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6803 if (ndr_flags & NDR_BUFFERS) {
6809 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6812 return NDR_ERR_SUCCESS;
6815 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6818 level = ndr_print_get_switch_value(ndr, r);
6819 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6822 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6826 ndr_print_bad_level(ndr, name, level);
6830 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6832 if (ndr_flags & NDR_SCALARS) {
6833 NDR_CHECK(ndr_push_align(ndr, 5));
6834 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6835 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6836 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6838 if (ndr_flags & NDR_BUFFERS) {
6839 if (r->domain_name) {
6840 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6841 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6842 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6843 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6846 return NDR_ERR_SUCCESS;
6849 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6851 uint32_t _ptr_domain_name;
6852 TALLOC_CTX *_mem_save_domain_name_0;
6853 if (ndr_flags & NDR_SCALARS) {
6854 NDR_CHECK(ndr_pull_align(ndr, 5));
6855 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6856 if (_ptr_domain_name) {
6857 NDR_PULL_ALLOC(ndr, r->domain_name);
6859 r->domain_name = NULL;
6861 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6862 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6864 if (ndr_flags & NDR_BUFFERS) {
6865 if (r->domain_name) {
6866 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6867 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6868 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6869 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6870 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6871 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
6873 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6874 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6875 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6878 return NDR_ERR_SUCCESS;
6881 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6883 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6885 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6887 if (r->domain_name) {
6888 ndr_print_string(ndr, "domain_name", r->domain_name);
6891 ndr_print_int32(ndr, "level", r->level);
6895 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6897 if (ndr_flags & NDR_SCALARS) {
6898 int level = ndr_push_get_switch_value(ndr, r);
6899 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6900 NDR_CHECK(ndr_push_union_align(ndr, 5));
6903 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6907 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6910 if (ndr_flags & NDR_BUFFERS) {
6911 int level = ndr_push_get_switch_value(ndr, r);
6914 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6918 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6921 return NDR_ERR_SUCCESS;
6924 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6928 level = ndr_pull_get_switch_value(ndr, r);
6929 if (ndr_flags & NDR_SCALARS) {
6930 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6931 if (_level != level) {
6932 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6934 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6937 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6941 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6944 if (ndr_flags & NDR_BUFFERS) {
6947 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6951 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6954 return NDR_ERR_SUCCESS;
6957 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6960 level = ndr_print_get_switch_value(ndr, r);
6961 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6964 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6968 ndr_print_bad_level(ndr, name, level);
6972 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6974 if (ndr_flags & NDR_SCALARS) {
6975 NDR_CHECK(ndr_push_align(ndr, 5));
6976 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6977 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6978 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6979 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6980 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6983 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6985 if (ndr_flags & NDR_BUFFERS) {
6986 if (r->netbios_name) {
6987 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6988 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6989 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6990 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6993 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6994 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6995 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6996 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6999 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7000 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7001 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7002 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7004 if (r->computer_dn) {
7005 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7006 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7007 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7008 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7011 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7012 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7013 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7014 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7017 return NDR_ERR_SUCCESS;
7020 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
7022 uint32_t _ptr_netbios_name;
7023 TALLOC_CTX *_mem_save_netbios_name_0;
7024 uint32_t _ptr_dns_name;
7025 TALLOC_CTX *_mem_save_dns_name_0;
7026 uint32_t _ptr_site_name;
7027 TALLOC_CTX *_mem_save_site_name_0;
7028 uint32_t _ptr_computer_dn;
7029 TALLOC_CTX *_mem_save_computer_dn_0;
7030 uint32_t _ptr_server_dn;
7031 TALLOC_CTX *_mem_save_server_dn_0;
7032 if (ndr_flags & NDR_SCALARS) {
7033 NDR_CHECK(ndr_pull_align(ndr, 5));
7034 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7035 if (_ptr_netbios_name) {
7036 NDR_PULL_ALLOC(ndr, r->netbios_name);
7038 r->netbios_name = NULL;
7040 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7041 if (_ptr_dns_name) {
7042 NDR_PULL_ALLOC(ndr, r->dns_name);
7046 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7047 if (_ptr_site_name) {
7048 NDR_PULL_ALLOC(ndr, r->site_name);
7050 r->site_name = NULL;
7052 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7053 if (_ptr_computer_dn) {
7054 NDR_PULL_ALLOC(ndr, r->computer_dn);
7056 r->computer_dn = NULL;
7058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7059 if (_ptr_server_dn) {
7060 NDR_PULL_ALLOC(ndr, r->server_dn);
7062 r->server_dn = NULL;
7064 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7065 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7066 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7068 if (ndr_flags & NDR_BUFFERS) {
7069 if (r->netbios_name) {
7070 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7071 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7072 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7073 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7074 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7075 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7077 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7078 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7082 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7083 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7084 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7085 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7086 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7087 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7089 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7090 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7091 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7094 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7095 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7096 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7097 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7098 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7099 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7101 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7102 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7105 if (r->computer_dn) {
7106 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7107 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7108 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7109 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7110 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7111 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7113 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7114 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7118 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7119 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7120 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7121 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7122 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7123 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7125 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7126 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7130 return NDR_ERR_SUCCESS;
7133 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
7135 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
7137 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7139 if (r->netbios_name) {
7140 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7143 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7146 ndr_print_string(ndr, "dns_name", r->dns_name);
7149 ndr_print_ptr(ndr, "site_name", r->site_name);
7152 ndr_print_string(ndr, "site_name", r->site_name);
7155 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7157 if (r->computer_dn) {
7158 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7161 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7164 ndr_print_string(ndr, "server_dn", r->server_dn);
7167 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7168 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7172 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
7174 uint32_t cntr_array_1;
7175 if (ndr_flags & NDR_SCALARS) {
7176 NDR_CHECK(ndr_push_align(ndr, 5));
7177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7178 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7179 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7181 if (ndr_flags & NDR_BUFFERS) {
7183 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7184 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7185 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7187 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7188 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7192 return NDR_ERR_SUCCESS;
7195 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
7197 uint32_t _ptr_array;
7198 uint32_t cntr_array_1;
7199 TALLOC_CTX *_mem_save_array_0;
7200 TALLOC_CTX *_mem_save_array_1;
7201 if (ndr_flags & NDR_SCALARS) {
7202 NDR_CHECK(ndr_pull_align(ndr, 5));
7203 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7204 if (r->count > 10000) {
7205 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7207 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7209 NDR_PULL_ALLOC(ndr, r->array);
7213 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7215 if (ndr_flags & NDR_BUFFERS) {
7217 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7218 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7219 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7220 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7221 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7222 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7223 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7224 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7226 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7227 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7230 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7233 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7236 return NDR_ERR_SUCCESS;
7239 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
7241 uint32_t cntr_array_1;
7242 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
7244 ndr_print_uint32(ndr, "count", r->count);
7245 ndr_print_ptr(ndr, "array", r->array);
7248 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7250 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7252 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7253 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
7263 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
7265 if (ndr_flags & NDR_SCALARS) {
7266 NDR_CHECK(ndr_push_align(ndr, 5));
7267 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7268 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7269 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7270 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7271 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7272 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7273 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7274 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7277 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7278 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7279 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7280 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7281 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7283 if (ndr_flags & NDR_BUFFERS) {
7284 if (r->netbios_name) {
7285 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7286 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7287 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7288 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7291 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7292 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7293 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7294 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7297 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7298 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7299 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7300 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7303 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7304 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7305 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7306 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7308 if (r->computer_dn) {
7309 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7310 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7311 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7312 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7315 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7316 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7317 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7318 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7321 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7322 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7323 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7324 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7327 return NDR_ERR_SUCCESS;
7330 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7332 uint32_t _ptr_netbios_name;
7333 TALLOC_CTX *_mem_save_netbios_name_0;
7334 uint32_t _ptr_dns_name;
7335 TALLOC_CTX *_mem_save_dns_name_0;
7336 uint32_t _ptr_site_name;
7337 TALLOC_CTX *_mem_save_site_name_0;
7338 uint32_t _ptr_site_dn;
7339 TALLOC_CTX *_mem_save_site_dn_0;
7340 uint32_t _ptr_computer_dn;
7341 TALLOC_CTX *_mem_save_computer_dn_0;
7342 uint32_t _ptr_server_dn;
7343 TALLOC_CTX *_mem_save_server_dn_0;
7344 uint32_t _ptr_ntds_dn;
7345 TALLOC_CTX *_mem_save_ntds_dn_0;
7346 if (ndr_flags & NDR_SCALARS) {
7347 NDR_CHECK(ndr_pull_align(ndr, 5));
7348 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7349 if (_ptr_netbios_name) {
7350 NDR_PULL_ALLOC(ndr, r->netbios_name);
7352 r->netbios_name = NULL;
7354 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7355 if (_ptr_dns_name) {
7356 NDR_PULL_ALLOC(ndr, r->dns_name);
7360 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7361 if (_ptr_site_name) {
7362 NDR_PULL_ALLOC(ndr, r->site_name);
7364 r->site_name = NULL;
7366 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7368 NDR_PULL_ALLOC(ndr, r->site_dn);
7372 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7373 if (_ptr_computer_dn) {
7374 NDR_PULL_ALLOC(ndr, r->computer_dn);
7376 r->computer_dn = NULL;
7378 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7379 if (_ptr_server_dn) {
7380 NDR_PULL_ALLOC(ndr, r->server_dn);
7382 r->server_dn = NULL;
7384 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7386 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7390 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7391 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7392 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7393 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7394 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7395 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7396 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7397 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7399 if (ndr_flags & NDR_BUFFERS) {
7400 if (r->netbios_name) {
7401 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7402 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7403 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7404 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7405 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7406 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7408 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7409 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7413 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7414 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7415 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7416 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7417 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7418 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7420 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7421 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7425 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7426 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7427 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7428 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7429 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7430 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7432 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7433 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7434 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7437 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7438 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7439 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7440 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7441 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7442 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn));
7444 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7445 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7448 if (r->computer_dn) {
7449 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7450 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7451 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7452 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7453 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7454 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7456 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7457 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7461 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7462 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7463 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7464 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7465 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7466 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7468 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7469 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7473 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7474 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7475 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7476 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7477 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7478 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn));
7480 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7481 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7485 return NDR_ERR_SUCCESS;
7488 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7490 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7492 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7494 if (r->netbios_name) {
7495 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7498 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7501 ndr_print_string(ndr, "dns_name", r->dns_name);
7504 ndr_print_ptr(ndr, "site_name", r->site_name);
7507 ndr_print_string(ndr, "site_name", r->site_name);
7510 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7513 ndr_print_string(ndr, "site_dn", r->site_dn);
7516 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7518 if (r->computer_dn) {
7519 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7522 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7525 ndr_print_string(ndr, "server_dn", r->server_dn);
7528 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7531 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7534 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7535 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7536 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7537 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7538 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7539 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7540 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7544 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7546 uint32_t cntr_array_1;
7547 if (ndr_flags & NDR_SCALARS) {
7548 NDR_CHECK(ndr_push_align(ndr, 5));
7549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7550 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7551 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7553 if (ndr_flags & NDR_BUFFERS) {
7555 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7556 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7557 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7559 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7560 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7564 return NDR_ERR_SUCCESS;
7567 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7569 uint32_t _ptr_array;
7570 uint32_t cntr_array_1;
7571 TALLOC_CTX *_mem_save_array_0;
7572 TALLOC_CTX *_mem_save_array_1;
7573 if (ndr_flags & NDR_SCALARS) {
7574 NDR_CHECK(ndr_pull_align(ndr, 5));
7575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7576 if (r->count > 10000) {
7577 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7579 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7581 NDR_PULL_ALLOC(ndr, r->array);
7585 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7587 if (ndr_flags & NDR_BUFFERS) {
7589 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7590 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7591 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7592 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7593 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7594 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7595 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7596 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7598 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7599 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7605 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7608 return NDR_ERR_SUCCESS;
7611 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7613 uint32_t cntr_array_1;
7614 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7616 ndr_print_uint32(ndr, "count", r->count);
7617 ndr_print_ptr(ndr, "array", r->array);
7620 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7622 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7624 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7625 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7635 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7637 if (ndr_flags & NDR_SCALARS) {
7638 NDR_CHECK(ndr_push_align(ndr, 5));
7639 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7640 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7641 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7642 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7643 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7644 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7645 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7650 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7651 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7652 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7653 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7654 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7656 if (ndr_flags & NDR_BUFFERS) {
7657 if (r->netbios_name) {
7658 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7659 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7660 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7661 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7664 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7665 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7666 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7667 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7670 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7671 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7672 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7673 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7676 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7677 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7678 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7679 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7681 if (r->computer_dn) {
7682 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7683 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7684 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7685 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7688 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7689 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7690 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7691 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7694 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7695 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7696 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7697 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7700 return NDR_ERR_SUCCESS;
7703 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7705 uint32_t _ptr_netbios_name;
7706 TALLOC_CTX *_mem_save_netbios_name_0;
7707 uint32_t _ptr_dns_name;
7708 TALLOC_CTX *_mem_save_dns_name_0;
7709 uint32_t _ptr_site_name;
7710 TALLOC_CTX *_mem_save_site_name_0;
7711 uint32_t _ptr_site_dn;
7712 TALLOC_CTX *_mem_save_site_dn_0;
7713 uint32_t _ptr_computer_dn;
7714 TALLOC_CTX *_mem_save_computer_dn_0;
7715 uint32_t _ptr_server_dn;
7716 TALLOC_CTX *_mem_save_server_dn_0;
7717 uint32_t _ptr_ntds_dn;
7718 TALLOC_CTX *_mem_save_ntds_dn_0;
7719 if (ndr_flags & NDR_SCALARS) {
7720 NDR_CHECK(ndr_pull_align(ndr, 5));
7721 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7722 if (_ptr_netbios_name) {
7723 NDR_PULL_ALLOC(ndr, r->netbios_name);
7725 r->netbios_name = NULL;
7727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7728 if (_ptr_dns_name) {
7729 NDR_PULL_ALLOC(ndr, r->dns_name);
7733 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7734 if (_ptr_site_name) {
7735 NDR_PULL_ALLOC(ndr, r->site_name);
7737 r->site_name = NULL;
7739 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7741 NDR_PULL_ALLOC(ndr, r->site_dn);
7745 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7746 if (_ptr_computer_dn) {
7747 NDR_PULL_ALLOC(ndr, r->computer_dn);
7749 r->computer_dn = NULL;
7751 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7752 if (_ptr_server_dn) {
7753 NDR_PULL_ALLOC(ndr, r->server_dn);
7755 r->server_dn = NULL;
7757 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7759 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7764 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7765 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7766 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7767 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7768 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7769 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7770 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7771 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7773 if (ndr_flags & NDR_BUFFERS) {
7774 if (r->netbios_name) {
7775 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7776 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7777 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7778 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7779 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7780 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7782 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7783 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7787 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7788 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7789 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7790 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7791 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7792 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7794 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7795 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7799 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7800 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7801 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7802 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7803 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7804 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name));
7806 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7807 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7811 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7812 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7813 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7814 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7815 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7816 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn));
7818 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7819 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7822 if (r->computer_dn) {
7823 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7824 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7825 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7826 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7827 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7828 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn));
7830 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7831 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7832 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7835 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7836 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7837 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7838 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7839 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7840 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn));
7842 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7843 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7844 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7847 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7848 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7849 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7850 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7851 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7852 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn));
7854 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7855 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7859 return NDR_ERR_SUCCESS;
7862 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7864 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7866 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7868 if (r->netbios_name) {
7869 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7872 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7875 ndr_print_string(ndr, "dns_name", r->dns_name);
7878 ndr_print_ptr(ndr, "site_name", r->site_name);
7881 ndr_print_string(ndr, "site_name", r->site_name);
7884 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7887 ndr_print_string(ndr, "site_dn", r->site_dn);
7890 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7892 if (r->computer_dn) {
7893 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7896 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7899 ndr_print_string(ndr, "server_dn", r->server_dn);
7902 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7905 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7908 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7909 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7910 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7911 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7912 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7913 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7914 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7915 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7919 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7921 uint32_t cntr_array_1;
7922 if (ndr_flags & NDR_SCALARS) {
7923 NDR_CHECK(ndr_push_align(ndr, 5));
7924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7925 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7926 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7928 if (ndr_flags & NDR_BUFFERS) {
7930 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
7931 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7932 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7934 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7935 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7939 return NDR_ERR_SUCCESS;
7942 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7944 uint32_t _ptr_array;
7945 uint32_t cntr_array_1;
7946 TALLOC_CTX *_mem_save_array_0;
7947 TALLOC_CTX *_mem_save_array_1;
7948 if (ndr_flags & NDR_SCALARS) {
7949 NDR_CHECK(ndr_pull_align(ndr, 5));
7950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7951 if (r->count > 10000) {
7952 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7954 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7956 NDR_PULL_ALLOC(ndr, r->array);
7960 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7962 if (ndr_flags & NDR_BUFFERS) {
7964 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7965 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7966 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7967 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7968 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7969 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7970 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7971 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7973 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7974 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7976 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7980 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7983 return NDR_ERR_SUCCESS;
7986 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7988 uint32_t cntr_array_1;
7989 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7991 ndr_print_uint32(ndr, "count", r->count);
7992 ndr_print_ptr(ndr, "array", r->array);
7995 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7997 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7999 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8000 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
8010 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
8012 if (ndr_flags & NDR_SCALARS) {
8013 NDR_CHECK(ndr_push_align(ndr, 5));
8015 uint32_t _flags_save_ipv4address = ndr->flags;
8016 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8017 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
8018 ndr->flags = _flags_save_ipv4address;
8020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
8022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
8023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
8024 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
8025 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
8026 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8028 if (ndr_flags & NDR_BUFFERS) {
8029 if (r->client_account) {
8030 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8031 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8032 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
8033 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8036 return NDR_ERR_SUCCESS;
8039 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
8041 uint32_t _ptr_client_account;
8042 TALLOC_CTX *_mem_save_client_account_0;
8043 if (ndr_flags & NDR_SCALARS) {
8044 NDR_CHECK(ndr_pull_align(ndr, 5));
8046 uint32_t _flags_save_ipv4address = ndr->flags;
8047 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
8048 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
8049 ndr->flags = _flags_save_ipv4address;
8051 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8052 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
8053 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
8054 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
8055 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
8056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
8057 if (_ptr_client_account) {
8058 NDR_PULL_ALLOC(ndr, r->client_account);
8060 r->client_account = NULL;
8062 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8064 if (ndr_flags & NDR_BUFFERS) {
8065 if (r->client_account) {
8066 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
8067 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
8068 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
8069 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
8070 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
8071 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_account), ndr_get_array_length(ndr, &r->client_account));
8073 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
8074 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
8075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
8078 return NDR_ERR_SUCCESS;
8081 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
8083 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
8085 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
8086 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8087 ndr_print_uint32(ndr, "connection_time", r->connection_time);
8088 ndr_print_uint32(ndr, "unknown4", r->unknown4);
8089 ndr_print_uint32(ndr, "unknown5", r->unknown5);
8090 ndr_print_uint32(ndr, "unknown6", r->unknown6);
8091 ndr_print_ptr(ndr, "client_account", r->client_account);
8093 if (r->client_account) {
8094 ndr_print_string(ndr, "client_account", r->client_account);
8100 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8102 uint32_t cntr_array_1;
8103 if (ndr_flags & NDR_SCALARS) {
8104 NDR_CHECK(ndr_push_align(ndr, 5));
8105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8106 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8107 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8109 if (ndr_flags & NDR_BUFFERS) {
8111 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8112 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8113 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8115 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8116 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8120 return NDR_ERR_SUCCESS;
8123 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
8125 uint32_t _ptr_array;
8126 uint32_t cntr_array_1;
8127 TALLOC_CTX *_mem_save_array_0;
8128 TALLOC_CTX *_mem_save_array_1;
8129 if (ndr_flags & NDR_SCALARS) {
8130 NDR_CHECK(ndr_pull_align(ndr, 5));
8131 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8132 if (r->count > 10000) {
8133 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8135 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8137 NDR_PULL_ALLOC(ndr, r->array);
8141 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8143 if (ndr_flags & NDR_BUFFERS) {
8145 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8146 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8147 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8148 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8149 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8150 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8151 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8152 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8154 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8155 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8158 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8161 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8164 return NDR_ERR_SUCCESS;
8167 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
8169 uint32_t cntr_array_1;
8170 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
8172 ndr_print_uint32(ndr, "count", r->count);
8173 ndr_print_ptr(ndr, "array", r->array);
8176 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8178 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8180 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8181 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
8191 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
8193 if (ndr_flags & NDR_SCALARS) {
8194 int level = ndr_push_get_switch_value(ndr, r);
8195 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8196 NDR_CHECK(ndr_push_union_align(ndr, 5));
8198 case DRSUAPI_DC_INFO_CTR_1: {
8199 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8202 case DRSUAPI_DC_INFO_CTR_2: {
8203 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8206 case DRSUAPI_DC_INFO_CTR_3: {
8207 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8210 case DRSUAPI_DC_CONNECTION_CTR_01: {
8211 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8215 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8218 if (ndr_flags & NDR_BUFFERS) {
8219 int level = ndr_push_get_switch_value(ndr, r);
8221 case DRSUAPI_DC_INFO_CTR_1:
8222 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8225 case DRSUAPI_DC_INFO_CTR_2:
8226 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8229 case DRSUAPI_DC_INFO_CTR_3:
8230 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8233 case DRSUAPI_DC_CONNECTION_CTR_01:
8234 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8238 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8241 return NDR_ERR_SUCCESS;
8244 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
8248 level = ndr_pull_get_switch_value(ndr, r);
8249 if (ndr_flags & NDR_SCALARS) {
8250 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8251 if (_level != level) {
8252 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8254 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8256 case DRSUAPI_DC_INFO_CTR_1: {
8257 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
8260 case DRSUAPI_DC_INFO_CTR_2: {
8261 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
8264 case DRSUAPI_DC_INFO_CTR_3: {
8265 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
8268 case DRSUAPI_DC_CONNECTION_CTR_01: {
8269 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
8273 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8276 if (ndr_flags & NDR_BUFFERS) {
8278 case DRSUAPI_DC_INFO_CTR_1:
8279 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
8282 case DRSUAPI_DC_INFO_CTR_2:
8283 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8286 case DRSUAPI_DC_INFO_CTR_3:
8287 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8290 case DRSUAPI_DC_CONNECTION_CTR_01:
8291 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
8295 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8298 return NDR_ERR_SUCCESS;
8301 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
8304 level = ndr_print_get_switch_value(ndr, r);
8305 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
8307 case DRSUAPI_DC_INFO_CTR_1:
8308 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
8311 case DRSUAPI_DC_INFO_CTR_2:
8312 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
8315 case DRSUAPI_DC_INFO_CTR_3:
8316 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
8319 case DRSUAPI_DC_CONNECTION_CTR_01:
8320 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
8324 ndr_print_bad_level(ndr, name, level);
8328 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
8330 if (ndr_flags & NDR_SCALARS) {
8331 NDR_CHECK(ndr_push_align(ndr, 5));
8332 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
8333 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8334 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8336 if (ndr_flags & NDR_BUFFERS) {
8337 if (r->next_object) {
8338 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8340 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8342 return NDR_ERR_SUCCESS;
8345 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8347 uint32_t _ptr_next_object;
8348 TALLOC_CTX *_mem_save_next_object_0;
8349 if (ndr_flags & NDR_SCALARS) {
8350 NDR_CHECK(ndr_pull_align(ndr, 5));
8351 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8352 if (_ptr_next_object) {
8353 NDR_PULL_ALLOC(ndr, r->next_object);
8355 r->next_object = NULL;
8357 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8358 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8360 if (ndr_flags & NDR_BUFFERS) {
8361 if (r->next_object) {
8362 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8363 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8364 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8367 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8369 return NDR_ERR_SUCCESS;
8372 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8374 if (ndr_flags & NDR_SCALARS) {
8375 NDR_CHECK(ndr_push_align(ndr, 5));
8376 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8377 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8379 if (ndr_flags & NDR_BUFFERS) {
8380 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8382 return NDR_ERR_SUCCESS;
8385 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8387 if (ndr_flags & NDR_SCALARS) {
8388 NDR_CHECK(ndr_pull_align(ndr, 5));
8389 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8390 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8392 if (ndr_flags & NDR_BUFFERS) {
8393 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8395 return NDR_ERR_SUCCESS;
8398 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8400 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8402 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8406 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8408 if (ndr_flags & NDR_SCALARS) {
8409 int level = ndr_push_get_switch_value(ndr, r);
8410 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8411 NDR_CHECK(ndr_push_union_align(ndr, 5));
8414 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8418 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8421 if (ndr_flags & NDR_BUFFERS) {
8422 int level = ndr_push_get_switch_value(ndr, r);
8425 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8429 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8432 return NDR_ERR_SUCCESS;
8435 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8439 level = ndr_pull_get_switch_value(ndr, r);
8440 if (ndr_flags & NDR_SCALARS) {
8441 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8442 if (_level != level) {
8443 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8445 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8448 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8452 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8455 if (ndr_flags & NDR_BUFFERS) {
8458 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8462 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8465 return NDR_ERR_SUCCESS;
8468 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8471 level = ndr_print_get_switch_value(ndr, r);
8472 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8475 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8479 ndr_print_bad_level(ndr, name, level);
8483 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8485 if (ndr_flags & NDR_SCALARS) {
8486 NDR_CHECK(ndr_push_align(ndr, 4));
8487 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8488 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8490 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8491 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8493 if (ndr_flags & NDR_BUFFERS) {
8495 return NDR_ERR_SUCCESS;
8498 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8500 if (ndr_flags & NDR_SCALARS) {
8501 NDR_CHECK(ndr_pull_align(ndr, 4));
8502 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8503 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8505 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8506 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8508 if (ndr_flags & NDR_BUFFERS) {
8510 return NDR_ERR_SUCCESS;
8513 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8515 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8517 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8518 ndr_print_WERROR(ndr, "status", r->status);
8519 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8520 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8524 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8526 if (ndr_flags & NDR_SCALARS) {
8527 NDR_CHECK(ndr_push_align(ndr, 5));
8528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8529 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8530 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8532 if (ndr_flags & NDR_BUFFERS) {
8534 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8535 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8538 return NDR_ERR_SUCCESS;
8541 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8544 TALLOC_CTX *_mem_save_data_0;
8545 if (ndr_flags & NDR_SCALARS) {
8546 NDR_CHECK(ndr_pull_align(ndr, 5));
8547 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8548 if (r->size > 10485760) {
8549 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8551 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8553 NDR_PULL_ALLOC(ndr, r->data);
8557 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8559 if (ndr_flags & NDR_BUFFERS) {
8561 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8562 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8563 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8564 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8565 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8569 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8572 return NDR_ERR_SUCCESS;
8575 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8577 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8579 ndr_print_uint32(ndr, "size", r->size);
8580 ndr_print_ptr(ndr, "data", r->data);
8583 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8589 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8591 if (ndr_flags & NDR_SCALARS) {
8592 NDR_CHECK(ndr_push_align(ndr, 5));
8593 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8594 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8596 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8597 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8599 if (ndr_flags & NDR_BUFFERS) {
8600 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8602 return NDR_ERR_SUCCESS;
8605 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8607 if (ndr_flags & NDR_SCALARS) {
8608 NDR_CHECK(ndr_pull_align(ndr, 5));
8609 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8610 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8611 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8612 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8613 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8615 if (ndr_flags & NDR_BUFFERS) {
8616 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8618 return NDR_ERR_SUCCESS;
8621 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8623 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8625 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8626 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8627 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8628 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8632 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8634 if (ndr_flags & NDR_SCALARS) {
8635 NDR_CHECK(ndr_push_align(ndr, 5));
8636 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8637 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8638 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8640 if (ndr_flags & NDR_BUFFERS) {
8642 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8644 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8646 return NDR_ERR_SUCCESS;
8649 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8652 TALLOC_CTX *_mem_save_next_0;
8653 if (ndr_flags & NDR_SCALARS) {
8654 NDR_CHECK(ndr_pull_align(ndr, 5));
8655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8657 NDR_PULL_ALLOC(ndr, r->next);
8661 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8662 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8664 if (ndr_flags & NDR_BUFFERS) {
8666 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8667 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8668 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8671 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8673 return NDR_ERR_SUCCESS;
8676 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8678 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8680 ndr_print_ptr(ndr, "next", r->next);
8683 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8686 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8690 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8692 if (ndr_flags & NDR_SCALARS) {
8693 NDR_CHECK(ndr_push_align(ndr, 5));
8694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8695 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8696 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8697 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8699 if (ndr_flags & NDR_BUFFERS) {
8701 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8703 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8705 return NDR_ERR_SUCCESS;
8708 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8711 TALLOC_CTX *_mem_save_id_0;
8712 if (ndr_flags & NDR_SCALARS) {
8713 NDR_CHECK(ndr_pull_align(ndr, 5));
8714 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8716 NDR_PULL_ALLOC(ndr, r->id);
8720 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8721 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8722 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8724 if (ndr_flags & NDR_BUFFERS) {
8726 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8727 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8728 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8729 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8731 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8733 return NDR_ERR_SUCCESS;
8736 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8738 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8740 ndr_print_ptr(ndr, "id", r->id);
8743 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8746 ndr_print_WERROR(ndr, "status", r->status);
8747 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8751 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8753 if (ndr_flags & NDR_SCALARS) {
8754 int level = ndr_push_get_switch_value(ndr, r);
8755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8756 NDR_CHECK(ndr_push_union_align(ndr, 5));
8759 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8763 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8767 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8771 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8775 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8779 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8782 if (ndr_flags & NDR_BUFFERS) {
8783 int level = ndr_push_get_switch_value(ndr, r);
8786 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8802 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8805 return NDR_ERR_SUCCESS;
8808 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8812 level = ndr_pull_get_switch_value(ndr, r);
8813 if (ndr_flags & NDR_SCALARS) {
8814 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8815 if (_level != level) {
8816 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8818 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8821 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8825 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8829 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8833 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8837 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8841 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8844 if (ndr_flags & NDR_BUFFERS) {
8847 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8863 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8866 return NDR_ERR_SUCCESS;
8869 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8872 level = ndr_print_get_switch_value(ndr, r);
8873 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8876 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8880 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8884 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8888 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8892 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8896 ndr_print_bad_level(ndr, name, level);
8900 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8902 if (ndr_flags & NDR_SCALARS) {
8903 NDR_CHECK(ndr_push_align(ndr, 5));
8904 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8905 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8906 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8907 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8909 if (ndr_flags & NDR_BUFFERS) {
8911 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8912 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8915 return NDR_ERR_SUCCESS;
8918 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8921 TALLOC_CTX *_mem_save_info_0;
8922 if (ndr_flags & NDR_SCALARS) {
8923 NDR_CHECK(ndr_pull_align(ndr, 5));
8924 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8926 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8928 NDR_PULL_ALLOC(ndr, r->info);
8932 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8934 if (ndr_flags & NDR_BUFFERS) {
8936 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8937 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8938 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8939 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8943 return NDR_ERR_SUCCESS;
8946 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8948 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
8950 ndr_print_WERROR(ndr, "status", r->status);
8951 ndr_print_uint32(ndr, "level", r->level);
8952 ndr_print_ptr(ndr, "info", r->info);
8955 ndr_print_set_switch_value(ndr, r->info, r->level);
8956 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
8962 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
8964 if (ndr_flags & NDR_SCALARS) {
8965 int level = ndr_push_get_switch_value(ndr, r);
8966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8967 NDR_CHECK(ndr_push_union_align(ndr, 5));
8970 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8974 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8977 if (ndr_flags & NDR_BUFFERS) {
8978 int level = ndr_push_get_switch_value(ndr, r);
8981 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8985 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8988 return NDR_ERR_SUCCESS;
8991 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8995 level = ndr_pull_get_switch_value(ndr, r);
8996 if (ndr_flags & NDR_SCALARS) {
8997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8998 if (_level != level) {
8999 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9001 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9004 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
9008 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9011 if (ndr_flags & NDR_BUFFERS) {
9014 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
9018 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9021 return NDR_ERR_SUCCESS;
9024 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
9027 level = ndr_print_get_switch_value(ndr, r);
9028 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
9031 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
9035 ndr_print_bad_level(ndr, name, level);
9039 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9041 if (ndr_flags & NDR_SCALARS) {
9042 NDR_CHECK(ndr_push_align(ndr, 4));
9043 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
9044 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9045 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9047 if (ndr_flags & NDR_BUFFERS) {
9048 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9050 return NDR_ERR_SUCCESS;
9053 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
9055 if (ndr_flags & NDR_SCALARS) {
9056 NDR_CHECK(ndr_pull_align(ndr, 4));
9057 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
9058 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
9059 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9061 if (ndr_flags & NDR_BUFFERS) {
9062 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
9064 return NDR_ERR_SUCCESS;
9067 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
9069 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
9071 ndr_print_GUID(ndr, "guid", &r->guid);
9072 ndr_print_dom_sid28(ndr, "sid", &r->sid);
9076 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
9078 uint32_t cntr_objects_1;
9079 if (ndr_flags & NDR_SCALARS) {
9080 NDR_CHECK(ndr_push_align(ndr, 5));
9081 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9083 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9085 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9086 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9088 if (ndr_flags & NDR_BUFFERS) {
9090 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9093 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9094 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9095 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9097 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9098 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9102 return NDR_ERR_SUCCESS;
9105 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
9108 TALLOC_CTX *_mem_save_id_0;
9109 uint32_t _ptr_objects;
9110 uint32_t cntr_objects_1;
9111 TALLOC_CTX *_mem_save_objects_0;
9112 TALLOC_CTX *_mem_save_objects_1;
9113 if (ndr_flags & NDR_SCALARS) {
9114 NDR_CHECK(ndr_pull_align(ndr, 5));
9115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9117 NDR_PULL_ALLOC(ndr, r->id);
9121 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9122 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
9123 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9124 if (r->count > 10000) {
9125 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9127 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9129 NDR_PULL_ALLOC(ndr, r->objects);
9133 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9135 if (ndr_flags & NDR_BUFFERS) {
9137 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9138 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9139 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9143 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9144 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9145 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9146 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9147 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9148 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9149 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9150 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9152 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9153 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9155 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9159 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9162 return NDR_ERR_SUCCESS;
9165 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
9167 uint32_t cntr_objects_1;
9168 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
9170 ndr_print_ptr(ndr, "id", r->id);
9173 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9176 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9177 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
9178 ndr_print_uint32(ndr, "count", r->count);
9179 ndr_print_ptr(ndr, "objects", r->objects);
9182 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9184 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9186 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9187 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9197 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
9199 uint32_t cntr_objects_1;
9200 if (ndr_flags & NDR_SCALARS) {
9201 NDR_CHECK(ndr_push_align(ndr, 5));
9202 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
9203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
9204 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
9205 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9206 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
9207 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9209 if (ndr_flags & NDR_BUFFERS) {
9211 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9214 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
9215 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9218 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9219 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9220 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9222 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9223 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9227 return NDR_ERR_SUCCESS;
9230 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
9233 TALLOC_CTX *_mem_save_id_0;
9234 uint32_t _ptr_error;
9235 TALLOC_CTX *_mem_save_error_0;
9236 uint32_t _ptr_objects;
9237 uint32_t cntr_objects_1;
9238 TALLOC_CTX *_mem_save_objects_0;
9239 TALLOC_CTX *_mem_save_objects_1;
9240 if (ndr_flags & NDR_SCALARS) {
9241 NDR_CHECK(ndr_pull_align(ndr, 5));
9242 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
9244 NDR_PULL_ALLOC(ndr, r->id);
9248 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
9249 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
9251 NDR_PULL_ALLOC(ndr, r->error);
9255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9256 if (r->count > 10000) {
9257 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
9259 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
9261 NDR_PULL_ALLOC(ndr, r->objects);
9265 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9267 if (ndr_flags & NDR_BUFFERS) {
9269 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
9270 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
9271 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
9272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
9275 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
9276 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
9277 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
9278 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
9279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
9282 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
9283 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9284 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
9285 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
9286 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
9287 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
9288 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9289 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
9291 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
9292 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
9294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
9295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
9298 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
9301 return NDR_ERR_SUCCESS;
9304 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
9306 uint32_t cntr_objects_1;
9307 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
9309 ndr_print_ptr(ndr, "id", r->id);
9312 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
9315 ndr_print_uint32(ndr, "level", r->level);
9316 ndr_print_ptr(ndr, "error", r->error);
9319 ndr_print_set_switch_value(ndr, r->error, r->level);
9320 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
9323 ndr_print_uint32(ndr, "count", r->count);
9324 ndr_print_ptr(ndr, "objects", r->objects);
9327 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
9329 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
9331 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
9332 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
9342 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
9344 if (ndr_flags & NDR_SCALARS) {
9345 int level = ndr_push_get_switch_value(ndr, r);
9346 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
9347 NDR_CHECK(ndr_push_union_align(ndr, 5));
9350 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9354 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9358 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9361 if (ndr_flags & NDR_BUFFERS) {
9362 int level = ndr_push_get_switch_value(ndr, r);
9365 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9369 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9373 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9376 return NDR_ERR_SUCCESS;
9379 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9383 level = ndr_pull_get_switch_value(ndr, r);
9384 if (ndr_flags & NDR_SCALARS) {
9385 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9386 if (_level != level) {
9387 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9389 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9392 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9396 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9400 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9403 if (ndr_flags & NDR_BUFFERS) {
9406 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9410 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9414 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9417 return NDR_ERR_SUCCESS;
9420 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9423 level = ndr_print_get_switch_value(ndr, r);
9424 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9427 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9431 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9435 ndr_print_bad_level(ndr, name, level);
9439 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9442 return NDR_ERR_SUCCESS;
9445 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9448 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9450 return NDR_ERR_SUCCESS;
9453 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9455 ndr_print_uint32(ndr, name, r);
9457 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9458 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9462 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9464 if (ndr_flags & NDR_SCALARS) {
9465 NDR_CHECK(ndr_push_align(ndr, 4));
9466 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9467 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9468 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
9470 if (ndr_flags & NDR_BUFFERS) {
9472 return NDR_ERR_SUCCESS;
9475 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9477 if (ndr_flags & NDR_SCALARS) {
9478 NDR_CHECK(ndr_pull_align(ndr, 4));
9479 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9480 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9481 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
9483 if (ndr_flags & NDR_BUFFERS) {
9485 return NDR_ERR_SUCCESS;
9488 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9490 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9492 ndr_print_uint32(ndr, "taskID", r->taskID);
9493 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9497 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9499 if (ndr_flags & NDR_SCALARS) {
9500 int level = ndr_push_get_switch_value(ndr, r);
9501 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9502 NDR_CHECK(ndr_push_union_align(ndr, 4));
9505 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9509 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9512 if (ndr_flags & NDR_BUFFERS) {
9513 int level = ndr_push_get_switch_value(ndr, r);
9519 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9522 return NDR_ERR_SUCCESS;
9525 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9529 level = ndr_pull_get_switch_value(ndr, r);
9530 if (ndr_flags & NDR_SCALARS) {
9531 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9532 if (_level != level) {
9533 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9535 NDR_CHECK(ndr_pull_union_align(ndr, 4));
9538 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9542 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9545 if (ndr_flags & NDR_BUFFERS) {
9551 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9554 return NDR_ERR_SUCCESS;
9557 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9560 level = ndr_print_get_switch_value(ndr, r);
9561 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9564 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9568 ndr_print_bad_level(ndr, name, level);
9572 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9574 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9575 return NDR_ERR_SUCCESS;
9578 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9581 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9583 return NDR_ERR_SUCCESS;
9586 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9588 const char *val = NULL;
9591 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9592 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9594 ndr_print_enum(ndr, name, "ENUM", val, r);
9597 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9599 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
9600 return NDR_ERR_SUCCESS;
9603 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9606 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
9608 return NDR_ERR_SUCCESS;
9611 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9613 const char *val = NULL;
9616 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9617 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9618 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9619 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9620 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9621 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9622 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9623 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9624 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9625 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9626 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9627 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9628 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9629 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9630 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
9632 ndr_print_enum(ndr, name, "ENUM", val, r);
9635 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9637 if (ndr_flags & NDR_SCALARS) {
9638 NDR_CHECK(ndr_push_align(ndr, 5));
9639 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9640 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9641 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9642 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9644 if (ndr_flags & NDR_BUFFERS) {
9646 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9647 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9648 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9649 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9652 return NDR_ERR_SUCCESS;
9655 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9657 uint32_t _ptr_object_dn;
9658 TALLOC_CTX *_mem_save_object_dn_0;
9659 if (ndr_flags & NDR_SCALARS) {
9660 NDR_CHECK(ndr_pull_align(ndr, 5));
9661 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9663 if (_ptr_object_dn) {
9664 NDR_PULL_ALLOC(ndr, r->object_dn);
9666 r->object_dn = NULL;
9668 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9669 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9671 if (ndr_flags & NDR_BUFFERS) {
9673 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9674 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9675 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9676 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9677 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9678 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
9680 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9681 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9685 return NDR_ERR_SUCCESS;
9688 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9690 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9692 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9693 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9696 ndr_print_string(ndr, "object_dn", r->object_dn);
9699 ndr_print_GUID(ndr, "guid1", &r->guid1);
9703 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9705 if (ndr_flags & NDR_SCALARS) {
9706 NDR_CHECK(ndr_push_align(ndr, 5));
9707 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9708 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9709 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9711 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
9712 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
9713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
9714 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9716 if (ndr_flags & NDR_BUFFERS) {
9718 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9719 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9720 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9721 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9724 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9725 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9726 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9727 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9730 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9731 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9732 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9733 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9736 return NDR_ERR_SUCCESS;
9739 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9741 uint32_t _ptr_object_dn;
9742 TALLOC_CTX *_mem_save_object_dn_0;
9743 uint32_t _ptr_string1;
9744 TALLOC_CTX *_mem_save_string1_0;
9745 uint32_t _ptr_string2;
9746 TALLOC_CTX *_mem_save_string2_0;
9747 if (ndr_flags & NDR_SCALARS) {
9748 NDR_CHECK(ndr_pull_align(ndr, 5));
9749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9751 if (_ptr_object_dn) {
9752 NDR_PULL_ALLOC(ndr, r->object_dn);
9754 r->object_dn = NULL;
9756 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9757 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9758 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
9760 NDR_PULL_ALLOC(ndr, r->string1);
9764 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
9766 NDR_PULL_ALLOC(ndr, r->string2);
9770 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
9771 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9773 if (ndr_flags & NDR_BUFFERS) {
9775 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9776 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9777 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9778 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9779 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9780 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
9782 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9783 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9787 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
9788 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
9789 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
9790 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
9791 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
9792 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string1), ndr_get_array_length(ndr, &r->string1));
9794 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
9795 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
9796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
9799 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
9800 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
9801 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
9802 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
9803 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
9804 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string2), ndr_get_array_length(ndr, &r->string2));
9806 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
9807 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
9808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
9811 return NDR_ERR_SUCCESS;
9814 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9816 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9818 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9819 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9822 ndr_print_string(ndr, "object_dn", r->object_dn);
9825 ndr_print_GUID(ndr, "guid1", &r->guid1);
9826 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9827 ndr_print_ptr(ndr, "string1", r->string1);
9830 ndr_print_string(ndr, "string1", r->string1);
9833 ndr_print_ptr(ndr, "string2", r->string2);
9836 ndr_print_string(ndr, "string2", r->string2);
9839 ndr_print_uint32(ndr, "unknown2", r->unknown2);
9843 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9845 if (ndr_flags & NDR_SCALARS) {
9846 int level = ndr_push_get_switch_value(ndr, r);
9847 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9848 NDR_CHECK(ndr_push_union_align(ndr, 5));
9850 case DRSUAPI_DS_REPLICA_GET_INFO: {
9851 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9854 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9855 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9859 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9862 if (ndr_flags & NDR_BUFFERS) {
9863 int level = ndr_push_get_switch_value(ndr, r);
9865 case DRSUAPI_DS_REPLICA_GET_INFO:
9866 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9869 case DRSUAPI_DS_REPLICA_GET_INFO2:
9870 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9874 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9877 return NDR_ERR_SUCCESS;
9880 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9884 level = ndr_pull_get_switch_value(ndr, r);
9885 if (ndr_flags & NDR_SCALARS) {
9886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9887 if (_level != level) {
9888 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9890 NDR_CHECK(ndr_pull_union_align(ndr, 5));
9892 case DRSUAPI_DS_REPLICA_GET_INFO: {
9893 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9896 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9897 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9901 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9904 if (ndr_flags & NDR_BUFFERS) {
9906 case DRSUAPI_DS_REPLICA_GET_INFO:
9907 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9910 case DRSUAPI_DS_REPLICA_GET_INFO2:
9911 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9915 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9918 return NDR_ERR_SUCCESS;
9921 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
9924 level = ndr_print_get_switch_value(ndr, r);
9925 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
9927 case DRSUAPI_DS_REPLICA_GET_INFO:
9928 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
9931 case DRSUAPI_DS_REPLICA_GET_INFO2:
9932 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
9936 ndr_print_bad_level(ndr, name, level);
9940 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
9942 if (ndr_flags & NDR_SCALARS) {
9943 NDR_CHECK(ndr_push_align(ndr, 8));
9944 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
9945 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
9946 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
9947 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
9948 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
9949 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9950 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9951 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9952 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9953 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9954 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
9955 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
9956 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
9957 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
9958 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
9959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
9960 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
9962 if (ndr_flags & NDR_BUFFERS) {
9963 if (r->naming_context_dn) {
9964 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9965 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9966 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9967 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->naming_context_dn, ndr_charset_length(r->naming_context_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9969 if (r->source_dsa_obj_dn) {
9970 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9971 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9972 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9973 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_obj_dn, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9975 if (r->source_dsa_address) {
9976 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9977 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9978 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9979 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9981 if (r->transport_obj_dn) {
9982 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9983 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9984 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9985 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->transport_obj_dn, ndr_charset_length(r->transport_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9988 return NDR_ERR_SUCCESS;
9991 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
9993 uint32_t _ptr_naming_context_dn;
9994 TALLOC_CTX *_mem_save_naming_context_dn_0;
9995 uint32_t _ptr_source_dsa_obj_dn;
9996 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
9997 uint32_t _ptr_source_dsa_address;
9998 TALLOC_CTX *_mem_save_source_dsa_address_0;
9999 uint32_t _ptr_transport_obj_dn;
10000 TALLOC_CTX *_mem_save_transport_obj_dn_0;
10001 if (ndr_flags & NDR_SCALARS) {
10002 NDR_CHECK(ndr_pull_align(ndr, 8));
10003 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
10004 if (_ptr_naming_context_dn) {
10005 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
10007 r->naming_context_dn = NULL;
10009 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10010 if (_ptr_source_dsa_obj_dn) {
10011 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10013 r->source_dsa_obj_dn = NULL;
10015 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
10016 if (_ptr_source_dsa_address) {
10017 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
10019 r->source_dsa_address = NULL;
10021 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
10022 if (_ptr_transport_obj_dn) {
10023 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
10025 r->transport_obj_dn = NULL;
10027 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
10028 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10029 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
10030 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
10031 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10032 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
10033 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
10034 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10035 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
10036 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
10037 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
10038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
10039 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10041 if (ndr_flags & NDR_BUFFERS) {
10042 if (r->naming_context_dn) {
10043 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10044 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
10045 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
10046 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
10047 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
10048 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->naming_context_dn), ndr_get_array_length(ndr, &r->naming_context_dn));
10050 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
10051 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t), CH_UTF16));
10052 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
10054 if (r->source_dsa_obj_dn) {
10055 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10056 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10057 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10058 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10059 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10060 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn));
10062 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10063 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10066 if (r->source_dsa_address) {
10067 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10068 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
10069 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
10070 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
10071 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
10072 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address));
10074 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
10075 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16));
10076 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
10078 if (r->transport_obj_dn) {
10079 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10080 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
10081 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
10082 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
10083 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
10084 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->transport_obj_dn), ndr_get_array_length(ndr, &r->transport_obj_dn));
10086 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
10087 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t), CH_UTF16));
10088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
10091 return NDR_ERR_SUCCESS;
10094 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
10096 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
10098 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
10100 if (r->naming_context_dn) {
10101 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
10104 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10106 if (r->source_dsa_obj_dn) {
10107 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10110 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
10112 if (r->source_dsa_address) {
10113 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
10116 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
10118 if (r->transport_obj_dn) {
10119 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
10122 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
10123 ndr_print_uint32(ndr, "reserved", r->reserved);
10124 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
10125 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
10126 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10127 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
10128 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
10129 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10130 ndr_print_NTTIME(ndr, "last_success", r->last_success);
10131 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
10132 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
10133 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
10137 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
10139 uint32_t cntr_array_0;
10140 if (ndr_flags & NDR_SCALARS) {
10141 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10142 NDR_CHECK(ndr_push_align(ndr, 8));
10143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10145 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10146 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10148 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10150 if (ndr_flags & NDR_BUFFERS) {
10151 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10152 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10155 return NDR_ERR_SUCCESS;
10158 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
10160 uint32_t cntr_array_0;
10161 TALLOC_CTX *_mem_save_array_0;
10162 if (ndr_flags & NDR_SCALARS) {
10163 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10164 NDR_CHECK(ndr_pull_align(ndr, 8));
10165 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10167 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10168 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10169 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10170 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10171 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10175 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10177 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10179 if (ndr_flags & NDR_BUFFERS) {
10180 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10181 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10182 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10183 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10187 return NDR_ERR_SUCCESS;
10190 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
10192 uint32_t cntr_array_0;
10193 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
10195 ndr_print_uint32(ndr, "count", r->count);
10196 ndr_print_uint32(ndr, "reserved", r->reserved);
10197 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10199 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10201 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10202 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
10210 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
10212 uint32_t cntr_array_0;
10213 if (ndr_flags & NDR_SCALARS) {
10214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10215 NDR_CHECK(ndr_push_align(ndr, 8));
10216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10218 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10219 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10221 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10223 if (ndr_flags & NDR_BUFFERS) {
10225 return NDR_ERR_SUCCESS;
10228 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
10230 uint32_t cntr_array_0;
10231 TALLOC_CTX *_mem_save_array_0;
10232 if (ndr_flags & NDR_SCALARS) {
10233 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10234 NDR_CHECK(ndr_pull_align(ndr, 8));
10235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10236 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10237 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10238 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10239 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10240 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10241 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10245 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10247 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10249 if (ndr_flags & NDR_BUFFERS) {
10251 return NDR_ERR_SUCCESS;
10254 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
10256 uint32_t cntr_array_0;
10257 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
10259 ndr_print_uint32(ndr, "count", r->count);
10260 ndr_print_uint32(ndr, "reserved", r->reserved);
10261 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10263 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10265 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10266 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
10274 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
10276 if (ndr_flags & NDR_SCALARS) {
10277 NDR_CHECK(ndr_push_align(ndr, 8));
10278 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10280 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10281 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10282 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10283 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10284 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10286 if (ndr_flags & NDR_BUFFERS) {
10287 if (r->attribute_name) {
10288 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10289 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10290 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10291 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10294 return NDR_ERR_SUCCESS;
10297 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
10299 uint32_t _ptr_attribute_name;
10300 TALLOC_CTX *_mem_save_attribute_name_0;
10301 if (ndr_flags & NDR_SCALARS) {
10302 NDR_CHECK(ndr_pull_align(ndr, 8));
10303 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10304 if (_ptr_attribute_name) {
10305 NDR_PULL_ALLOC(ndr, r->attribute_name);
10307 r->attribute_name = NULL;
10309 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10310 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10311 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10312 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10313 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10314 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10316 if (ndr_flags & NDR_BUFFERS) {
10317 if (r->attribute_name) {
10318 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10319 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10320 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10321 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10322 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10323 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
10325 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10326 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10330 return NDR_ERR_SUCCESS;
10333 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
10335 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
10337 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10339 if (r->attribute_name) {
10340 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10343 ndr_print_uint32(ndr, "version", r->version);
10344 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10345 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10346 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10347 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10351 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10353 uint32_t cntr_array_0;
10354 if (ndr_flags & NDR_SCALARS) {
10355 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10356 NDR_CHECK(ndr_push_align(ndr, 8));
10357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10359 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10360 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10362 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10364 if (ndr_flags & NDR_BUFFERS) {
10365 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10366 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10369 return NDR_ERR_SUCCESS;
10372 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
10374 uint32_t cntr_array_0;
10375 TALLOC_CTX *_mem_save_array_0;
10376 if (ndr_flags & NDR_SCALARS) {
10377 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10378 NDR_CHECK(ndr_pull_align(ndr, 8));
10379 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10380 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10381 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10382 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10383 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10384 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10385 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10389 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10391 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
10393 if (ndr_flags & NDR_BUFFERS) {
10394 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10395 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10396 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10397 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10399 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10401 return NDR_ERR_SUCCESS;
10404 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10406 uint32_t cntr_array_0;
10407 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10409 ndr_print_uint32(ndr, "count", r->count);
10410 ndr_print_uint32(ndr, "reserved", r->reserved);
10411 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10413 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10415 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10416 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10424 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10426 if (ndr_flags & NDR_SCALARS) {
10427 NDR_CHECK(ndr_push_align(ndr, 5));
10428 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10429 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10430 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10432 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10433 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10435 if (ndr_flags & NDR_BUFFERS) {
10436 if (r->dsa_obj_dn) {
10437 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10438 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10439 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10440 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dsa_obj_dn, ndr_charset_length(r->dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10443 return NDR_ERR_SUCCESS;
10446 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10448 uint32_t _ptr_dsa_obj_dn;
10449 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10450 if (ndr_flags & NDR_SCALARS) {
10451 NDR_CHECK(ndr_pull_align(ndr, 5));
10452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10453 if (_ptr_dsa_obj_dn) {
10454 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10456 r->dsa_obj_dn = NULL;
10458 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10459 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10460 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10461 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10462 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10464 if (ndr_flags & NDR_BUFFERS) {
10465 if (r->dsa_obj_dn) {
10466 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10467 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10468 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10469 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10470 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10471 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dsa_obj_dn), ndr_get_array_length(ndr, &r->dsa_obj_dn));
10473 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10474 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10478 return NDR_ERR_SUCCESS;
10481 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10483 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10485 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10487 if (r->dsa_obj_dn) {
10488 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10491 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10492 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10493 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10494 ndr_print_WERROR(ndr, "last_result", r->last_result);
10498 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10500 uint32_t cntr_array_0;
10501 if (ndr_flags & NDR_SCALARS) {
10502 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10503 NDR_CHECK(ndr_push_align(ndr, 5));
10504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10506 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10507 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10509 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10511 if (ndr_flags & NDR_BUFFERS) {
10512 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10513 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10516 return NDR_ERR_SUCCESS;
10519 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10521 uint32_t cntr_array_0;
10522 TALLOC_CTX *_mem_save_array_0;
10523 if (ndr_flags & NDR_SCALARS) {
10524 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10525 NDR_CHECK(ndr_pull_align(ndr, 5));
10526 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10527 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10528 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10529 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10530 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10531 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10532 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10536 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10538 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10540 if (ndr_flags & NDR_BUFFERS) {
10541 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10542 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10543 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10544 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10548 return NDR_ERR_SUCCESS;
10551 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10553 uint32_t cntr_array_0;
10554 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10556 ndr_print_uint32(ndr, "count", r->count);
10557 ndr_print_uint32(ndr, "reserved", r->reserved);
10558 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10560 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10562 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10563 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10571 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10573 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
10574 return NDR_ERR_SUCCESS;
10577 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10580 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
10582 return NDR_ERR_SUCCESS;
10585 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10587 const char *val = NULL;
10590 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10591 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10592 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10593 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10594 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10596 ndr_print_enum(ndr, name, "ENUM", val, r);
10599 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
10601 if (ndr_flags & NDR_SCALARS) {
10602 int level = ndr_push_get_switch_value(ndr, r);
10603 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
10604 NDR_CHECK(ndr_push_union_align(ndr, 4));
10606 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10607 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
10610 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10611 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
10614 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10615 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
10618 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10619 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
10622 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10623 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
10627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
10632 if (ndr_flags & NDR_BUFFERS) {
10633 int level = ndr_push_get_switch_value(ndr, r);
10635 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10638 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10641 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10644 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10647 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10655 return NDR_ERR_SUCCESS;
10658 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
10662 level = ndr_pull_get_switch_value(ndr, r);
10663 if (ndr_flags & NDR_SCALARS) {
10664 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
10665 if (_level != level) {
10666 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10668 NDR_CHECK(ndr_pull_union_align(ndr, 4));
10670 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10671 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
10674 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10675 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
10678 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10679 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
10682 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10683 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
10686 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10687 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
10691 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
10696 if (ndr_flags & NDR_BUFFERS) {
10698 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10701 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10704 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10707 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10710 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10718 return NDR_ERR_SUCCESS;
10721 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
10724 level = ndr_print_get_switch_value(ndr, r);
10725 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
10727 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10728 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
10731 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10732 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
10735 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10736 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
10739 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10740 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
10743 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10744 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
10748 ndr_print_uint32(ndr, "unknown", r->unknown);
10754 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10756 if (ndr_flags & NDR_SCALARS) {
10757 NDR_CHECK(ndr_push_align(ndr, 5));
10758 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10760 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10761 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10762 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
10763 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10764 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10765 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10766 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10767 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10768 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10769 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10771 if (ndr_flags & NDR_BUFFERS) {
10773 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10774 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10775 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10776 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10778 if (r->remote_dsa_obj_dn) {
10779 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10780 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10781 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10782 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_dsa_obj_dn, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10784 if (r->remote_dsa_address) {
10785 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10786 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10787 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10788 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_dsa_address, ndr_charset_length(r->remote_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10791 return NDR_ERR_SUCCESS;
10794 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10796 uint32_t _ptr_nc_dn;
10797 TALLOC_CTX *_mem_save_nc_dn_0;
10798 uint32_t _ptr_remote_dsa_obj_dn;
10799 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10800 uint32_t _ptr_remote_dsa_address;
10801 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10802 if (ndr_flags & NDR_SCALARS) {
10803 NDR_CHECK(ndr_pull_align(ndr, 5));
10804 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10805 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10806 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10807 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10808 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
10809 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10810 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10812 NDR_PULL_ALLOC(ndr, r->nc_dn);
10816 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10817 if (_ptr_remote_dsa_obj_dn) {
10818 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10820 r->remote_dsa_obj_dn = NULL;
10822 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10823 if (_ptr_remote_dsa_address) {
10824 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10826 r->remote_dsa_address = NULL;
10828 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10829 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10830 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10832 if (ndr_flags & NDR_BUFFERS) {
10834 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10835 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10836 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10837 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10838 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10839 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->nc_dn), ndr_get_array_length(ndr, &r->nc_dn));
10841 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10842 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10845 if (r->remote_dsa_obj_dn) {
10846 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10847 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10848 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10849 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10850 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10851 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_obj_dn), ndr_get_array_length(ndr, &r->remote_dsa_obj_dn));
10853 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10854 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
10855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10857 if (r->remote_dsa_address) {
10858 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10859 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10860 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10861 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10862 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10863 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_address), ndr_get_array_length(ndr, &r->remote_dsa_address));
10865 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10866 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t), CH_UTF16));
10867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10870 return NDR_ERR_SUCCESS;
10873 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10875 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10877 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10878 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10879 ndr_print_uint32(ndr, "priority", r->priority);
10880 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10881 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
10882 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
10883 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10886 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10889 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10891 if (r->remote_dsa_obj_dn) {
10892 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10895 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10897 if (r->remote_dsa_address) {
10898 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10901 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10902 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10906 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10908 uint32_t cntr_array_0;
10909 if (ndr_flags & NDR_SCALARS) {
10910 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
10911 NDR_CHECK(ndr_push_align(ndr, 5));
10912 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10914 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10915 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10917 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
10919 if (ndr_flags & NDR_BUFFERS) {
10920 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10921 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10924 return NDR_ERR_SUCCESS;
10927 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
10929 uint32_t cntr_array_0;
10930 TALLOC_CTX *_mem_save_array_0;
10931 if (ndr_flags & NDR_SCALARS) {
10932 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10933 NDR_CHECK(ndr_pull_align(ndr, 5));
10934 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
10935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10936 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10937 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10938 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10939 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10940 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10944 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10946 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
10948 if (ndr_flags & NDR_BUFFERS) {
10949 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10950 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10951 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10956 return NDR_ERR_SUCCESS;
10959 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
10961 uint32_t cntr_array_0;
10962 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
10964 ndr_print_NTTIME(ndr, "time", r->time);
10965 ndr_print_uint32(ndr, "count", r->count);
10966 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10968 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10970 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10971 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
10979 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
10981 if (ndr_flags & NDR_SCALARS) {
10982 NDR_CHECK(ndr_push_align(ndr, 8));
10983 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10984 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10986 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10987 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10988 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10990 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10991 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10992 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10993 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10994 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
10996 if (ndr_flags & NDR_BUFFERS) {
10997 if (r->attribute_name) {
10998 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10999 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11000 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11001 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11003 if (r->object_dn) {
11004 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11005 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11006 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11007 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11010 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11013 return NDR_ERR_SUCCESS;
11016 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
11018 uint32_t _ptr_attribute_name;
11019 TALLOC_CTX *_mem_save_attribute_name_0;
11020 uint32_t _ptr_object_dn;
11021 TALLOC_CTX *_mem_save_object_dn_0;
11022 uint32_t _ptr_binary;
11023 TALLOC_CTX *_mem_save_binary_0;
11024 if (ndr_flags & NDR_SCALARS) {
11025 NDR_CHECK(ndr_pull_align(ndr, 8));
11026 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11027 if (_ptr_attribute_name) {
11028 NDR_PULL_ALLOC(ndr, r->attribute_name);
11030 r->attribute_name = NULL;
11032 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11033 if (_ptr_object_dn) {
11034 NDR_PULL_ALLOC(ndr, r->object_dn);
11036 r->object_dn = NULL;
11038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11039 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11041 NDR_PULL_ALLOC(ndr, r->binary);
11045 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11046 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11048 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11049 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11050 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11051 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11052 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11054 if (ndr_flags & NDR_BUFFERS) {
11055 if (r->attribute_name) {
11056 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11057 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11058 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11059 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11060 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11061 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11063 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11064 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11067 if (r->object_dn) {
11068 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11069 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11070 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11071 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11072 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11073 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
11075 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11076 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11077 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11080 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11081 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11082 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11083 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11086 return NDR_ERR_SUCCESS;
11089 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
11091 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
11093 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11095 if (r->attribute_name) {
11096 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11099 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11101 if (r->object_dn) {
11102 ndr_print_string(ndr, "object_dn", r->object_dn);
11105 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->binary, 0):r->__ndr_size_binary);
11106 ndr_print_ptr(ndr, "binary", r->binary);
11109 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11112 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11113 ndr_print_NTTIME(ndr, "created", r->created);
11114 ndr_print_uint32(ndr, "version", r->version);
11115 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11116 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11117 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11118 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11122 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11124 uint32_t cntr_array_0;
11125 if (ndr_flags & NDR_SCALARS) {
11126 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11127 NDR_CHECK(ndr_push_align(ndr, 8));
11128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11129 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11130 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11131 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11133 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11135 if (ndr_flags & NDR_BUFFERS) {
11136 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11137 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11140 return NDR_ERR_SUCCESS;
11143 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11145 uint32_t cntr_array_0;
11146 TALLOC_CTX *_mem_save_array_0;
11147 if (ndr_flags & NDR_SCALARS) {
11148 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11149 NDR_CHECK(ndr_pull_align(ndr, 8));
11150 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11151 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11152 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11153 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11154 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11155 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11156 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11158 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11160 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11162 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11164 if (ndr_flags & NDR_BUFFERS) {
11165 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11166 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11167 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11168 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11172 return NDR_ERR_SUCCESS;
11175 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
11177 uint32_t cntr_array_0;
11178 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
11180 ndr_print_uint32(ndr, "count", r->count);
11181 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11182 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11184 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11186 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11187 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
11195 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
11197 uint32_t cntr_array_0;
11198 if (ndr_flags & NDR_SCALARS) {
11199 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11200 NDR_CHECK(ndr_push_align(ndr, 8));
11201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11202 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11203 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11204 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11206 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11208 if (ndr_flags & NDR_BUFFERS) {
11210 return NDR_ERR_SUCCESS;
11213 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
11215 uint32_t cntr_array_0;
11216 TALLOC_CTX *_mem_save_array_0;
11217 if (ndr_flags & NDR_SCALARS) {
11218 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11219 NDR_CHECK(ndr_pull_align(ndr, 8));
11220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11221 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11222 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11223 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11224 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11225 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11226 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11230 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11232 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11234 if (ndr_flags & NDR_BUFFERS) {
11236 return NDR_ERR_SUCCESS;
11239 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
11241 uint32_t cntr_array_0;
11242 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
11244 ndr_print_uint32(ndr, "count", r->count);
11245 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11246 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11248 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11250 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11251 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
11259 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
11261 if (ndr_flags & NDR_SCALARS) {
11262 NDR_CHECK(ndr_push_align(ndr, 8));
11263 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11264 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
11265 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
11266 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
11267 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11269 if (ndr_flags & NDR_BUFFERS) {
11270 if (r->source_dsa_obj_dn) {
11271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11272 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11273 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
11274 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_obj_dn, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11277 return NDR_ERR_SUCCESS;
11280 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
11282 uint32_t _ptr_source_dsa_obj_dn;
11283 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
11284 if (ndr_flags & NDR_SCALARS) {
11285 NDR_CHECK(ndr_pull_align(ndr, 8));
11286 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
11287 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
11288 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
11289 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
11290 if (_ptr_source_dsa_obj_dn) {
11291 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
11293 r->source_dsa_obj_dn = NULL;
11295 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11297 if (ndr_flags & NDR_BUFFERS) {
11298 if (r->source_dsa_obj_dn) {
11299 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11300 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
11301 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
11302 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
11303 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
11304 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn));
11306 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
11307 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16));
11308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
11311 return NDR_ERR_SUCCESS;
11314 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
11316 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
11318 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
11319 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
11320 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
11321 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11323 if (r->source_dsa_obj_dn) {
11324 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
11330 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
11332 uint32_t cntr_array_0;
11333 if (ndr_flags & NDR_SCALARS) {
11334 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11335 NDR_CHECK(ndr_push_align(ndr, 8));
11336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11337 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11338 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11339 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11341 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11343 if (ndr_flags & NDR_BUFFERS) {
11344 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11345 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11348 return NDR_ERR_SUCCESS;
11351 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
11353 uint32_t cntr_array_0;
11354 TALLOC_CTX *_mem_save_array_0;
11355 if (ndr_flags & NDR_SCALARS) {
11356 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11357 NDR_CHECK(ndr_pull_align(ndr, 8));
11358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11359 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11360 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11361 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11362 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11363 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11364 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11368 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11370 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11372 if (ndr_flags & NDR_BUFFERS) {
11373 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11374 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11375 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11376 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11380 return NDR_ERR_SUCCESS;
11383 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
11385 uint32_t cntr_array_0;
11386 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
11388 ndr_print_uint32(ndr, "count", r->count);
11389 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11390 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11392 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11394 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11395 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
11403 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
11405 if (ndr_flags & NDR_SCALARS) {
11406 NDR_CHECK(ndr_push_align(ndr, 8));
11407 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11409 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11410 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11411 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11412 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11414 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11416 if (ndr_flags & NDR_BUFFERS) {
11417 if (r->attribute_name) {
11418 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11419 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11420 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11421 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11423 if (r->originating_dsa_dn) {
11424 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11425 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11426 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11427 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->originating_dsa_dn, ndr_charset_length(r->originating_dsa_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11430 return NDR_ERR_SUCCESS;
11433 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11435 uint32_t _ptr_attribute_name;
11436 TALLOC_CTX *_mem_save_attribute_name_0;
11437 uint32_t _ptr_originating_dsa_dn;
11438 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11439 if (ndr_flags & NDR_SCALARS) {
11440 NDR_CHECK(ndr_pull_align(ndr, 8));
11441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11442 if (_ptr_attribute_name) {
11443 NDR_PULL_ALLOC(ndr, r->attribute_name);
11445 r->attribute_name = NULL;
11447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11448 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11449 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11450 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11451 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11453 if (_ptr_originating_dsa_dn) {
11454 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11456 r->originating_dsa_dn = NULL;
11458 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11460 if (ndr_flags & NDR_BUFFERS) {
11461 if (r->attribute_name) {
11462 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11463 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11464 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11465 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11466 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11467 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11469 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11470 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11473 if (r->originating_dsa_dn) {
11474 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11475 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11476 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11477 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11478 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11479 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn));
11481 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11482 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16));
11483 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11486 return NDR_ERR_SUCCESS;
11489 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11491 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11493 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11495 if (r->attribute_name) {
11496 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11499 ndr_print_uint32(ndr, "version", r->version);
11500 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11501 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11502 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11503 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11504 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11506 if (r->originating_dsa_dn) {
11507 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11513 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11515 uint32_t cntr_array_0;
11516 if (ndr_flags & NDR_SCALARS) {
11517 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11518 NDR_CHECK(ndr_push_align(ndr, 8));
11519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11520 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11521 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11522 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11524 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11526 if (ndr_flags & NDR_BUFFERS) {
11527 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11528 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11531 return NDR_ERR_SUCCESS;
11534 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11536 uint32_t cntr_array_0;
11537 TALLOC_CTX *_mem_save_array_0;
11538 if (ndr_flags & NDR_SCALARS) {
11539 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11540 NDR_CHECK(ndr_pull_align(ndr, 8));
11541 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11542 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11543 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11544 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11545 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11546 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11547 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11551 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11553 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11555 if (ndr_flags & NDR_BUFFERS) {
11556 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11557 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11558 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11559 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11563 return NDR_ERR_SUCCESS;
11566 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11568 uint32_t cntr_array_0;
11569 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11571 ndr_print_uint32(ndr, "count", r->count);
11572 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11573 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11575 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11577 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11578 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11586 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11588 if (ndr_flags & NDR_SCALARS) {
11589 NDR_CHECK(ndr_push_align(ndr, 8));
11590 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11591 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11593 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11594 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11595 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11597 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11598 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11599 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11600 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11601 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11602 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11604 if (ndr_flags & NDR_BUFFERS) {
11605 if (r->attribute_name) {
11606 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11607 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11609 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11611 if (r->object_dn) {
11612 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11613 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11614 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11615 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11618 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11620 if (r->originating_dsa_dn) {
11621 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11622 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11623 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11624 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->originating_dsa_dn, ndr_charset_length(r->originating_dsa_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11627 return NDR_ERR_SUCCESS;
11630 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11632 uint32_t _ptr_attribute_name;
11633 TALLOC_CTX *_mem_save_attribute_name_0;
11634 uint32_t _ptr_object_dn;
11635 TALLOC_CTX *_mem_save_object_dn_0;
11636 uint32_t _ptr_binary;
11637 TALLOC_CTX *_mem_save_binary_0;
11638 uint32_t _ptr_originating_dsa_dn;
11639 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11640 if (ndr_flags & NDR_SCALARS) {
11641 NDR_CHECK(ndr_pull_align(ndr, 8));
11642 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11643 if (_ptr_attribute_name) {
11644 NDR_PULL_ALLOC(ndr, r->attribute_name);
11646 r->attribute_name = NULL;
11648 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11649 if (_ptr_object_dn) {
11650 NDR_PULL_ALLOC(ndr, r->object_dn);
11652 r->object_dn = NULL;
11654 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11657 NDR_PULL_ALLOC(ndr, r->binary);
11661 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11662 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11663 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11664 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11665 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11666 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11667 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11669 if (_ptr_originating_dsa_dn) {
11670 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11672 r->originating_dsa_dn = NULL;
11674 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11676 if (ndr_flags & NDR_BUFFERS) {
11677 if (r->attribute_name) {
11678 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11679 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11680 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11681 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11682 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11683 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
11685 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11686 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11689 if (r->object_dn) {
11690 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11691 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11692 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11693 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11694 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11695 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn));
11697 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11698 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11702 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11703 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11704 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11707 if (r->originating_dsa_dn) {
11708 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11709 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11710 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11711 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11712 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11713 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn));
11715 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11716 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16));
11717 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11720 return NDR_ERR_SUCCESS;
11723 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11725 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11727 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11729 if (r->attribute_name) {
11730 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11733 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11735 if (r->object_dn) {
11736 ndr_print_string(ndr, "object_dn", r->object_dn);
11739 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->binary, 0):r->__ndr_size_binary);
11740 ndr_print_ptr(ndr, "binary", r->binary);
11743 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11746 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11747 ndr_print_NTTIME(ndr, "created", r->created);
11748 ndr_print_uint32(ndr, "version", r->version);
11749 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11750 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11751 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11752 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11753 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11755 if (r->originating_dsa_dn) {
11756 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11762 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11764 uint32_t cntr_array_0;
11765 if (ndr_flags & NDR_SCALARS) {
11766 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11767 NDR_CHECK(ndr_push_align(ndr, 8));
11768 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11769 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11770 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11771 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11773 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11775 if (ndr_flags & NDR_BUFFERS) {
11776 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11777 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11780 return NDR_ERR_SUCCESS;
11783 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11785 uint32_t cntr_array_0;
11786 TALLOC_CTX *_mem_save_array_0;
11787 if (ndr_flags & NDR_SCALARS) {
11788 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11789 NDR_CHECK(ndr_pull_align(ndr, 8));
11790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11791 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11792 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11793 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11794 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11795 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11796 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11798 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11800 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11802 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11804 if (ndr_flags & NDR_BUFFERS) {
11805 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11806 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11807 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11808 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11812 return NDR_ERR_SUCCESS;
11815 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11817 uint32_t cntr_array_0;
11818 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11820 ndr_print_uint32(ndr, "count", r->count);
11821 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11822 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11824 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11826 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11827 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11835 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11837 if (ndr_flags & NDR_SCALARS) {
11838 NDR_CHECK(ndr_push_align(ndr, 8));
11839 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11840 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11842 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11843 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11845 uint32_t _flags_save_ipv4address = ndr->flags;
11846 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11847 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11848 ndr->flags = _flags_save_ipv4address;
11850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11851 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11853 if (ndr_flags & NDR_BUFFERS) {
11855 return NDR_ERR_SUCCESS;
11858 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11860 if (ndr_flags & NDR_SCALARS) {
11861 NDR_CHECK(ndr_pull_align(ndr, 8));
11862 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11863 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11864 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11865 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11866 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11868 uint32_t _flags_save_ipv4address = ndr->flags;
11869 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11870 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11871 ndr->flags = _flags_save_ipv4address;
11873 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11874 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11876 if (ndr_flags & NDR_BUFFERS) {
11878 return NDR_ERR_SUCCESS;
11881 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11883 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11885 ndr_print_hyper(ndr, "u1", r->u1);
11886 ndr_print_uint32(ndr, "u2", r->u2);
11887 ndr_print_uint32(ndr, "u3", r->u3);
11888 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11889 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11890 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11891 ndr_print_uint32(ndr, "u5", r->u5);
11895 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11897 uint32_t cntr_array_0;
11898 if (ndr_flags & NDR_SCALARS) {
11899 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
11900 NDR_CHECK(ndr_push_align(ndr, 8));
11901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11903 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11904 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11906 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11908 if (ndr_flags & NDR_BUFFERS) {
11910 return NDR_ERR_SUCCESS;
11913 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11915 uint32_t cntr_array_0;
11916 TALLOC_CTX *_mem_save_array_0;
11917 if (ndr_flags & NDR_SCALARS) {
11918 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11919 NDR_CHECK(ndr_pull_align(ndr, 8));
11920 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11921 if (r->count > 10000) {
11922 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11924 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11925 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11926 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11927 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11928 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11929 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11933 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11935 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
11937 if (ndr_flags & NDR_BUFFERS) {
11939 return NDR_ERR_SUCCESS;
11942 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11944 uint32_t cntr_array_0;
11945 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11947 ndr_print_uint32(ndr, "count", r->count);
11948 ndr_print_uint32(ndr, "reserved", r->reserved);
11949 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11951 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11953 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11954 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
11962 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
11964 if (ndr_flags & NDR_SCALARS) {
11965 NDR_CHECK(ndr_push_align(ndr, 8));
11966 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
11967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
11968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
11971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11972 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
11973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
11974 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
11976 if (ndr_flags & NDR_BUFFERS) {
11978 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11979 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11980 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11981 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11984 return NDR_ERR_SUCCESS;
11987 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
11989 uint32_t _ptr_str1;
11990 TALLOC_CTX *_mem_save_str1_0;
11991 if (ndr_flags & NDR_SCALARS) {
11992 NDR_CHECK(ndr_pull_align(ndr, 8));
11993 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
11995 NDR_PULL_ALLOC(ndr, r->str1);
11999 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
12000 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
12001 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
12002 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
12003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
12004 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
12005 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
12006 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12008 if (ndr_flags & NDR_BUFFERS) {
12010 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
12011 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
12012 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
12013 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
12014 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
12015 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str1), ndr_get_array_length(ndr, &r->str1));
12017 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
12018 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
12019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
12022 return NDR_ERR_SUCCESS;
12025 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
12027 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
12029 ndr_print_ptr(ndr, "str1", r->str1);
12032 ndr_print_string(ndr, "str1", r->str1);
12035 ndr_print_uint32(ndr, "u1", r->u1);
12036 ndr_print_uint32(ndr, "u2", r->u2);
12037 ndr_print_uint32(ndr, "u3", r->u3);
12038 ndr_print_uint32(ndr, "u4", r->u4);
12039 ndr_print_uint32(ndr, "u5", r->u5);
12040 ndr_print_hyper(ndr, "u6", r->u6);
12041 ndr_print_uint32(ndr, "u7", r->u7);
12045 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
12047 uint32_t cntr_array_0;
12048 if (ndr_flags & NDR_SCALARS) {
12049 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
12050 NDR_CHECK(ndr_push_align(ndr, 8));
12051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
12052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
12053 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12054 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12056 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
12058 if (ndr_flags & NDR_BUFFERS) {
12059 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12060 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12063 return NDR_ERR_SUCCESS;
12066 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
12068 uint32_t cntr_array_0;
12069 TALLOC_CTX *_mem_save_array_0;
12070 if (ndr_flags & NDR_SCALARS) {
12071 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
12072 NDR_CHECK(ndr_pull_align(ndr, 8));
12073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
12074 if (r->count > 256) {
12075 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
12078 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
12079 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12080 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12081 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12082 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
12084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12086 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
12088 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
12090 if (ndr_flags & NDR_BUFFERS) {
12091 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12092 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
12093 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
12094 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
12096 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
12098 return NDR_ERR_SUCCESS;
12101 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
12103 uint32_t cntr_array_0;
12104 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
12106 ndr_print_uint32(ndr, "count", r->count);
12107 ndr_print_uint32(ndr, "reserved", r->reserved);
12108 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
12110 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
12112 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
12113 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
12121 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
12123 if (ndr_flags & NDR_SCALARS) {
12124 int level = ndr_push_get_switch_value(ndr, r);
12125 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
12126 NDR_CHECK(ndr_push_union_align(ndr, 5));
12128 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12129 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
12132 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12133 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
12136 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12137 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
12140 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12141 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
12144 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12145 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
12148 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12149 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
12152 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12153 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
12156 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12157 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
12160 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12161 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
12164 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12165 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
12168 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12169 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
12172 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12173 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
12176 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
12180 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12181 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
12184 case DRSUAPI_DS_REPLICA_INFO_06: {
12185 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
12189 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12192 if (ndr_flags & NDR_BUFFERS) {
12193 int level = ndr_push_get_switch_value(ndr, r);
12195 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12196 if (r->neighbours) {
12197 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12201 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12203 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12207 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12208 if (r->objmetadata) {
12209 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12213 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12214 if (r->connectfailures) {
12215 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12219 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12220 if (r->linkfailures) {
12221 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12225 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12226 if (r->pendingops) {
12227 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12231 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12232 if (r->attrvalmetadata) {
12233 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12237 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12239 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12243 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12245 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12249 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12250 if (r->objmetadata2) {
12251 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12255 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12256 if (r->attrvalmetadata2) {
12257 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12261 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12262 if (r->neighbours02) {
12263 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12267 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12268 if (r->connections04) {
12269 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12273 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12274 if (r->cursors05) {
12275 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12279 case DRSUAPI_DS_REPLICA_INFO_06:
12281 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12286 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12289 return NDR_ERR_SUCCESS;
12292 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
12296 TALLOC_CTX *_mem_save_neighbours_0;
12297 TALLOC_CTX *_mem_save_cursors_0;
12298 TALLOC_CTX *_mem_save_objmetadata_0;
12299 TALLOC_CTX *_mem_save_connectfailures_0;
12300 TALLOC_CTX *_mem_save_linkfailures_0;
12301 TALLOC_CTX *_mem_save_pendingops_0;
12302 TALLOC_CTX *_mem_save_attrvalmetadata_0;
12303 TALLOC_CTX *_mem_save_cursors2_0;
12304 TALLOC_CTX *_mem_save_cursors3_0;
12305 TALLOC_CTX *_mem_save_objmetadata2_0;
12306 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
12307 TALLOC_CTX *_mem_save_neighbours02_0;
12308 TALLOC_CTX *_mem_save_connections04_0;
12309 TALLOC_CTX *_mem_save_cursors05_0;
12310 TALLOC_CTX *_mem_save_i06_0;
12311 level = ndr_pull_get_switch_value(ndr, r);
12312 if (ndr_flags & NDR_SCALARS) {
12313 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
12314 if (_level != level) {
12315 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12317 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12319 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
12320 uint32_t _ptr_neighbours;
12321 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
12322 if (_ptr_neighbours) {
12323 NDR_PULL_ALLOC(ndr, r->neighbours);
12325 r->neighbours = NULL;
12329 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
12330 uint32_t _ptr_cursors;
12331 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
12332 if (_ptr_cursors) {
12333 NDR_PULL_ALLOC(ndr, r->cursors);
12339 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
12340 uint32_t _ptr_objmetadata;
12341 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
12342 if (_ptr_objmetadata) {
12343 NDR_PULL_ALLOC(ndr, r->objmetadata);
12345 r->objmetadata = NULL;
12349 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
12350 uint32_t _ptr_connectfailures;
12351 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
12352 if (_ptr_connectfailures) {
12353 NDR_PULL_ALLOC(ndr, r->connectfailures);
12355 r->connectfailures = NULL;
12359 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
12360 uint32_t _ptr_linkfailures;
12361 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
12362 if (_ptr_linkfailures) {
12363 NDR_PULL_ALLOC(ndr, r->linkfailures);
12365 r->linkfailures = NULL;
12369 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
12370 uint32_t _ptr_pendingops;
12371 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
12372 if (_ptr_pendingops) {
12373 NDR_PULL_ALLOC(ndr, r->pendingops);
12375 r->pendingops = NULL;
12379 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
12380 uint32_t _ptr_attrvalmetadata;
12381 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
12382 if (_ptr_attrvalmetadata) {
12383 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
12385 r->attrvalmetadata = NULL;
12389 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
12390 uint32_t _ptr_cursors2;
12391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
12392 if (_ptr_cursors2) {
12393 NDR_PULL_ALLOC(ndr, r->cursors2);
12395 r->cursors2 = NULL;
12399 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
12400 uint32_t _ptr_cursors3;
12401 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
12402 if (_ptr_cursors3) {
12403 NDR_PULL_ALLOC(ndr, r->cursors3);
12405 r->cursors3 = NULL;
12409 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
12410 uint32_t _ptr_objmetadata2;
12411 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
12412 if (_ptr_objmetadata2) {
12413 NDR_PULL_ALLOC(ndr, r->objmetadata2);
12415 r->objmetadata2 = NULL;
12419 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
12420 uint32_t _ptr_attrvalmetadata2;
12421 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
12422 if (_ptr_attrvalmetadata2) {
12423 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
12425 r->attrvalmetadata2 = NULL;
12429 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
12430 uint32_t _ptr_neighbours02;
12431 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
12432 if (_ptr_neighbours02) {
12433 NDR_PULL_ALLOC(ndr, r->neighbours02);
12435 r->neighbours02 = NULL;
12439 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12440 uint32_t _ptr_connections04;
12441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
12442 if (_ptr_connections04) {
12443 NDR_PULL_ALLOC(ndr, r->connections04);
12445 r->connections04 = NULL;
12449 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12450 uint32_t _ptr_cursors05;
12451 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
12452 if (_ptr_cursors05) {
12453 NDR_PULL_ALLOC(ndr, r->cursors05);
12455 r->cursors05 = NULL;
12459 case DRSUAPI_DS_REPLICA_INFO_06: {
12461 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
12463 NDR_PULL_ALLOC(ndr, r->i06);
12470 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12473 if (ndr_flags & NDR_BUFFERS) {
12475 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12476 if (r->neighbours) {
12477 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12478 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12479 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12484 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12486 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12487 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12488 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12493 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12494 if (r->objmetadata) {
12495 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12496 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12497 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12502 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12503 if (r->connectfailures) {
12504 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12505 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12506 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12511 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12512 if (r->linkfailures) {
12513 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12514 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12515 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12516 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12520 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12521 if (r->pendingops) {
12522 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12523 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12524 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12525 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12529 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12530 if (r->attrvalmetadata) {
12531 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12532 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12533 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12538 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12540 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12541 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12542 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12547 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12549 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12550 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12551 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12552 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12556 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12557 if (r->objmetadata2) {
12558 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12559 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12560 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12565 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12566 if (r->attrvalmetadata2) {
12567 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12568 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12569 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12570 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12574 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12575 if (r->neighbours02) {
12576 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
12577 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
12578 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12579 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
12583 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12584 if (r->connections04) {
12585 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
12586 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
12587 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
12592 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12593 if (r->cursors05) {
12594 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
12595 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
12596 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
12601 case DRSUAPI_DS_REPLICA_INFO_06:
12603 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
12604 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
12605 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12606 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
12611 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12614 return NDR_ERR_SUCCESS;
12617 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12620 level = ndr_print_get_switch_value(ndr, r);
12621 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12623 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12624 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12626 if (r->neighbours) {
12627 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12632 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12633 ndr_print_ptr(ndr, "cursors", r->cursors);
12636 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12641 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12642 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12644 if (r->objmetadata) {
12645 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12650 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12651 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12653 if (r->connectfailures) {
12654 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12659 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12660 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12662 if (r->linkfailures) {
12663 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12668 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12669 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12671 if (r->pendingops) {
12672 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12677 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12678 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12680 if (r->attrvalmetadata) {
12681 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12686 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12687 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12690 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12695 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12696 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12699 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12704 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12705 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12707 if (r->objmetadata2) {
12708 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12713 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12714 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12716 if (r->attrvalmetadata2) {
12717 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12722 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12723 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
12725 if (r->neighbours02) {
12726 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
12731 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12732 ndr_print_ptr(ndr, "connections04", r->connections04);
12734 if (r->connections04) {
12735 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
12740 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12741 ndr_print_ptr(ndr, "cursors05", r->cursors05);
12743 if (r->cursors05) {
12744 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
12749 case DRSUAPI_DS_REPLICA_INFO_06:
12750 ndr_print_ptr(ndr, "i06", r->i06);
12753 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
12759 ndr_print_bad_level(ndr, name, level);
12763 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12765 if (ndr_flags & NDR_SCALARS) {
12766 int level = ndr_push_get_switch_value(ndr, r);
12767 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12768 NDR_CHECK(ndr_push_union_align(ndr, 5));
12771 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12775 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12778 if (ndr_flags & NDR_BUFFERS) {
12779 int level = ndr_push_get_switch_value(ndr, r);
12782 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12786 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12789 return NDR_ERR_SUCCESS;
12792 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12796 level = ndr_pull_get_switch_value(ndr, r);
12797 if (ndr_flags & NDR_SCALARS) {
12798 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12799 if (_level != level) {
12800 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12802 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12805 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12809 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12812 if (ndr_flags & NDR_BUFFERS) {
12815 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12819 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12822 return NDR_ERR_SUCCESS;
12825 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12828 level = ndr_print_get_switch_value(ndr, r);
12829 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12832 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12836 ndr_print_bad_level(ndr, name, level);
12840 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12842 uint32_t cntr_req_array_1;
12843 if (ndr_flags & NDR_SCALARS) {
12844 NDR_CHECK(ndr_push_align(ndr, 5));
12845 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12846 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12847 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
12849 if (ndr_flags & NDR_BUFFERS) {
12850 if (r->req_array) {
12851 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
12852 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12853 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12855 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12856 if (r->req_array[cntr_req_array_1]) {
12857 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12862 return NDR_ERR_SUCCESS;
12865 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12867 uint32_t _ptr_req_array;
12868 uint32_t cntr_req_array_1;
12869 TALLOC_CTX *_mem_save_req_array_0;
12870 TALLOC_CTX *_mem_save_req_array_1;
12871 TALLOC_CTX *_mem_save_req_array_2;
12872 if (ndr_flags & NDR_SCALARS) {
12873 NDR_CHECK(ndr_pull_align(ndr, 5));
12874 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12875 if (r->num_req < 1 || r->num_req > 10000) {
12876 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12879 if (_ptr_req_array) {
12880 NDR_PULL_ALLOC(ndr, r->req_array);
12882 r->req_array = NULL;
12884 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
12886 if (ndr_flags & NDR_BUFFERS) {
12887 if (r->req_array) {
12888 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12889 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12890 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12891 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12892 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12893 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12894 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12895 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12896 if (_ptr_req_array) {
12897 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12899 r->req_array[cntr_req_array_1] = NULL;
12902 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12903 if (r->req_array[cntr_req_array_1]) {
12904 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12905 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12906 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12911 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12913 if (r->req_array) {
12914 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
12917 return NDR_ERR_SUCCESS;
12920 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
12922 uint32_t cntr_req_array_1;
12923 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
12925 ndr_print_uint32(ndr, "num_req", r->num_req);
12926 ndr_print_ptr(ndr, "req_array", r->req_array);
12928 if (r->req_array) {
12929 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12931 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12933 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12934 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12936 if (r->req_array[cntr_req_array_1]) {
12937 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
12949 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
12951 if (ndr_flags & NDR_SCALARS) {
12952 int level = ndr_push_get_switch_value(ndr, r);
12953 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12954 NDR_CHECK(ndr_push_union_align(ndr, 5));
12957 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12961 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12964 if (ndr_flags & NDR_BUFFERS) {
12965 int level = ndr_push_get_switch_value(ndr, r);
12968 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12972 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12975 return NDR_ERR_SUCCESS;
12978 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
12982 level = ndr_pull_get_switch_value(ndr, r);
12983 if (ndr_flags & NDR_SCALARS) {
12984 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12985 if (_level != level) {
12986 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12988 NDR_CHECK(ndr_pull_union_align(ndr, 5));
12991 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12995 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12998 if (ndr_flags & NDR_BUFFERS) {
13001 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
13005 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13008 return NDR_ERR_SUCCESS;
13011 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
13014 level = ndr_print_get_switch_value(ndr, r);
13015 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
13018 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
13022 ndr_print_bad_level(ndr, name, level);
13026 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
13028 if (ndr_flags & NDR_SCALARS) {
13029 NDR_CHECK(ndr_push_align(ndr, 4));
13030 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
13031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
13032 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
13034 if (ndr_flags & NDR_BUFFERS) {
13036 return NDR_ERR_SUCCESS;
13039 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
13041 if (ndr_flags & NDR_SCALARS) {
13042 NDR_CHECK(ndr_pull_align(ndr, 4));
13043 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
13044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
13045 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
13047 if (ndr_flags & NDR_BUFFERS) {
13049 return NDR_ERR_SUCCESS;
13052 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
13054 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
13056 ndr_print_WERROR(ndr, "error_code", r->error_code);
13057 ndr_print_uint32(ndr, "site_cost", r->site_cost);
13061 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
13063 uint32_t cntr_info_1;
13064 if (ndr_flags & NDR_SCALARS) {
13065 NDR_CHECK(ndr_push_align(ndr, 5));
13066 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
13067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
13068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
13069 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13071 if (ndr_flags & NDR_BUFFERS) {
13073 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info));
13074 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13075 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13079 return NDR_ERR_SUCCESS;
13082 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
13084 uint32_t _ptr_info;
13085 uint32_t cntr_info_1;
13086 TALLOC_CTX *_mem_save_info_0;
13087 TALLOC_CTX *_mem_save_info_1;
13088 if (ndr_flags & NDR_SCALARS) {
13089 NDR_CHECK(ndr_pull_align(ndr, 5));
13090 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
13091 if (r->num_info > 10000) {
13092 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13094 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13096 NDR_PULL_ALLOC(ndr, r->info);
13100 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
13101 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13103 if (ndr_flags & NDR_BUFFERS) {
13105 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13106 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13107 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
13108 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
13109 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13110 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
13111 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
13112 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
13114 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
13118 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
13121 return NDR_ERR_SUCCESS;
13124 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
13126 uint32_t cntr_info_1;
13127 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
13129 ndr_print_uint32(ndr, "num_info", r->num_info);
13130 ndr_print_ptr(ndr, "info", r->info);
13133 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
13135 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
13137 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
13138 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
13145 ndr_print_uint32(ndr, "unknown", r->unknown);
13149 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
13151 if (ndr_flags & NDR_SCALARS) {
13152 int level = ndr_push_get_switch_value(ndr, r);
13153 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13154 NDR_CHECK(ndr_push_union_align(ndr, 5));
13157 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13161 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13164 if (ndr_flags & NDR_BUFFERS) {
13165 int level = ndr_push_get_switch_value(ndr, r);
13168 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13172 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13175 return NDR_ERR_SUCCESS;
13178 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
13182 level = ndr_pull_get_switch_value(ndr, r);
13183 if (ndr_flags & NDR_SCALARS) {
13184 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13185 if (_level != level) {
13186 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13188 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13191 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
13195 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13198 if (ndr_flags & NDR_BUFFERS) {
13201 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
13205 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13208 return NDR_ERR_SUCCESS;
13211 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
13214 level = ndr_print_get_switch_value(ndr, r);
13215 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
13218 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
13222 ndr_print_bad_level(ndr, name, level);
13226 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
13228 uint32_t cntr_site_to_1;
13229 if (ndr_flags & NDR_SCALARS) {
13230 NDR_CHECK(ndr_push_align(ndr, 5));
13231 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
13232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
13233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
13234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
13235 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
13237 if (ndr_flags & NDR_BUFFERS) {
13238 if (r->site_from) {
13239 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13240 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13241 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
13242 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13245 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req));
13246 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13247 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
13249 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13250 if (r->site_to[cntr_site_to_1]) {
13251 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13252 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13253 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
13254 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_to[cntr_site_to_1], ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16), sizeof(uint16_t), CH_UTF16));
13259 return NDR_ERR_SUCCESS;
13262 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
13264 uint32_t _ptr_site_from;
13265 TALLOC_CTX *_mem_save_site_from_0;
13266 uint32_t _ptr_site_to;
13267 uint32_t cntr_site_to_1;
13268 TALLOC_CTX *_mem_save_site_to_0;
13269 TALLOC_CTX *_mem_save_site_to_1;
13270 TALLOC_CTX *_mem_save_site_to_2;
13271 if (ndr_flags & NDR_SCALARS) {
13272 NDR_CHECK(ndr_pull_align(ndr, 5));
13273 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
13274 if (_ptr_site_from) {
13275 NDR_PULL_ALLOC(ndr, r->site_from);
13277 r->site_from = NULL;
13279 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
13280 if (r->num_req < 1 || r->num_req > 10000) {
13281 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13283 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13284 if (_ptr_site_to) {
13285 NDR_PULL_ALLOC(ndr, r->site_to);
13289 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
13290 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
13292 if (ndr_flags & NDR_BUFFERS) {
13293 if (r->site_from) {
13294 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
13295 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
13296 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
13297 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
13298 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
13299 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_from), ndr_get_array_length(ndr, &r->site_from));
13301 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
13302 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
13303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
13306 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
13307 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13308 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
13309 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
13310 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
13311 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
13312 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13313 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
13314 if (_ptr_site_to) {
13315 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
13317 r->site_to[cntr_site_to_1] = NULL;
13320 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
13321 if (r->site_to[cntr_site_to_1]) {
13322 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
13323 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
13324 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
13325 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
13326 if (ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]) > ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1])) {
13327 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1]), ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]));
13329 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
13330 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t), CH_UTF16));
13331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
13334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
13335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
13338 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
13341 return NDR_ERR_SUCCESS;
13344 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
13346 uint32_t cntr_site_to_1;
13347 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
13349 ndr_print_ptr(ndr, "site_from", r->site_from);
13351 if (r->site_from) {
13352 ndr_print_string(ndr, "site_from", r->site_from);
13355 ndr_print_uint32(ndr, "num_req", r->num_req);
13356 ndr_print_ptr(ndr, "site_to", r->site_to);
13359 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
13361 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
13363 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
13364 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
13366 if (r->site_to[cntr_site_to_1]) {
13367 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
13376 ndr_print_uint32(ndr, "flags", r->flags);
13380 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
13382 if (ndr_flags & NDR_SCALARS) {
13383 int level = ndr_push_get_switch_value(ndr, r);
13384 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
13385 NDR_CHECK(ndr_push_union_align(ndr, 5));
13388 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13392 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13395 if (ndr_flags & NDR_BUFFERS) {
13396 int level = ndr_push_get_switch_value(ndr, r);
13399 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13403 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13406 return NDR_ERR_SUCCESS;
13409 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
13413 level = ndr_pull_get_switch_value(ndr, r);
13414 if (ndr_flags & NDR_SCALARS) {
13415 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
13416 if (_level != level) {
13417 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
13419 NDR_CHECK(ndr_pull_union_align(ndr, 5));
13422 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
13426 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13429 if (ndr_flags & NDR_BUFFERS) {
13432 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
13436 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
13439 return NDR_ERR_SUCCESS;
13442 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
13445 level = ndr_print_get_switch_value(ndr, r);
13446 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13449 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13453 ndr_print_bad_level(ndr, name, level);
13457 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13459 if (flags & NDR_IN) {
13460 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13461 if (r->in.bind_guid) {
13462 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13464 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13465 if (r->in.bind_info) {
13466 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13469 if (flags & NDR_OUT) {
13470 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13471 if (r->out.bind_info) {
13472 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13474 if (r->out.bind_handle == NULL) {
13475 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13477 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13478 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13480 return NDR_ERR_SUCCESS;
13483 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13485 uint32_t _ptr_bind_guid;
13486 uint32_t _ptr_bind_info;
13487 TALLOC_CTX *_mem_save_bind_guid_0;
13488 TALLOC_CTX *_mem_save_bind_info_0;
13489 TALLOC_CTX *_mem_save_bind_handle_0;
13490 if (flags & NDR_IN) {
13491 ZERO_STRUCT(r->out);
13493 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13494 if (_ptr_bind_guid) {
13495 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13497 r->in.bind_guid = NULL;
13499 if (r->in.bind_guid) {
13500 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13501 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13502 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13503 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13505 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13506 if (_ptr_bind_info) {
13507 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13509 r->in.bind_info = NULL;
13511 if (r->in.bind_info) {
13512 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13513 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13514 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13515 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13517 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13518 ZERO_STRUCTP(r->out.bind_handle);
13520 if (flags & NDR_OUT) {
13521 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13522 if (_ptr_bind_info) {
13523 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13525 r->out.bind_info = NULL;
13527 if (r->out.bind_info) {
13528 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13529 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13530 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13533 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13534 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13536 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13537 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13538 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13539 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13540 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13542 return NDR_ERR_SUCCESS;
13545 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13547 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13549 if (flags & NDR_SET_VALUES) {
13550 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13552 if (flags & NDR_IN) {
13553 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13555 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13557 if (r->in.bind_guid) {
13558 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13561 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13563 if (r->in.bind_info) {
13564 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13569 if (flags & NDR_OUT) {
13570 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13572 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13574 if (r->out.bind_info) {
13575 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13578 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13580 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13582 ndr_print_WERROR(ndr, "result", r->out.result);
13588 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13590 if (flags & NDR_IN) {
13591 if (r->in.bind_handle == NULL) {
13592 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13594 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13596 if (flags & NDR_OUT) {
13597 if (r->out.bind_handle == NULL) {
13598 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13600 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13601 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13603 return NDR_ERR_SUCCESS;
13606 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13608 TALLOC_CTX *_mem_save_bind_handle_0;
13609 if (flags & NDR_IN) {
13610 ZERO_STRUCT(r->out);
13612 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13613 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13615 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13616 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13617 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13619 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13620 *r->out.bind_handle = *r->in.bind_handle;
13622 if (flags & NDR_OUT) {
13623 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13624 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13626 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13627 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13628 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13630 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13632 return NDR_ERR_SUCCESS;
13635 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13637 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13639 if (flags & NDR_SET_VALUES) {
13640 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13642 if (flags & NDR_IN) {
13643 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13645 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13647 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13651 if (flags & NDR_OUT) {
13652 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13654 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13656 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13658 ndr_print_WERROR(ndr, "result", r->out.result);
13664 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13666 if (flags & NDR_IN) {
13667 if (r->in.bind_handle == NULL) {
13668 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13670 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13671 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13672 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13673 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13675 if (flags & NDR_OUT) {
13676 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13678 return NDR_ERR_SUCCESS;
13681 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13683 TALLOC_CTX *_mem_save_bind_handle_0;
13684 if (flags & NDR_IN) {
13685 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13686 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13688 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13689 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13690 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13692 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13693 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13694 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13696 if (flags & NDR_OUT) {
13697 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13699 return NDR_ERR_SUCCESS;
13702 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13704 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13706 if (flags & NDR_SET_VALUES) {
13707 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13709 if (flags & NDR_IN) {
13710 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13712 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13714 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13716 ndr_print_int32(ndr, "level", r->in.level);
13717 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13718 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
13721 if (flags & NDR_OUT) {
13722 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13724 ndr_print_WERROR(ndr, "result", r->out.result);
13730 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13732 if (flags & NDR_IN) {
13733 if (r->in.bind_handle == NULL) {
13734 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13736 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13737 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13738 if (r->in.req == NULL) {
13739 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13741 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13742 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13744 if (flags & NDR_OUT) {
13745 if (r->out.level_out == NULL) {
13746 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13748 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13749 if (r->out.ctr == NULL) {
13750 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13752 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13753 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13754 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13756 return NDR_ERR_SUCCESS;
13759 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13761 TALLOC_CTX *_mem_save_bind_handle_0;
13762 TALLOC_CTX *_mem_save_req_0;
13763 TALLOC_CTX *_mem_save_level_out_0;
13764 TALLOC_CTX *_mem_save_ctr_0;
13765 if (flags & NDR_IN) {
13766 ZERO_STRUCT(r->out);
13768 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13769 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13771 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13772 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13773 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13775 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13776 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13777 NDR_PULL_ALLOC(ndr, r->in.req);
13779 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13780 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13781 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13782 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13783 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13784 NDR_PULL_ALLOC(ndr, r->out.level_out);
13785 ZERO_STRUCTP(r->out.level_out);
13786 NDR_PULL_ALLOC(ndr, r->out.ctr);
13787 ZERO_STRUCTP(r->out.ctr);
13789 if (flags & NDR_OUT) {
13790 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13791 NDR_PULL_ALLOC(ndr, r->out.level_out);
13793 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13794 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13795 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13797 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13798 NDR_PULL_ALLOC(ndr, r->out.ctr);
13800 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13801 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13802 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13803 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13804 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13805 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13807 return NDR_ERR_SUCCESS;
13810 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13812 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13814 if (flags & NDR_SET_VALUES) {
13815 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13817 if (flags & NDR_IN) {
13818 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13820 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13822 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13824 ndr_print_int32(ndr, "level", r->in.level);
13825 ndr_print_ptr(ndr, "req", r->in.req);
13827 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13828 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13832 if (flags & NDR_OUT) {
13833 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13835 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13837 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13839 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13841 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13842 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13844 ndr_print_WERROR(ndr, "result", r->out.result);
13850 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13852 if (flags & NDR_IN) {
13853 if (r->in.bind_handle == NULL) {
13854 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13856 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13857 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13858 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13859 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13861 if (flags & NDR_OUT) {
13862 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13864 return NDR_ERR_SUCCESS;
13867 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13869 TALLOC_CTX *_mem_save_bind_handle_0;
13870 if (flags & NDR_IN) {
13871 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13872 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13874 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13875 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13876 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13878 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13879 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13880 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13882 if (flags & NDR_OUT) {
13883 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13885 return NDR_ERR_SUCCESS;
13888 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13890 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13892 if (flags & NDR_SET_VALUES) {
13893 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13895 if (flags & NDR_IN) {
13896 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13898 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13900 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13902 ndr_print_int32(ndr, "level", r->in.level);
13903 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13904 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13907 if (flags & NDR_OUT) {
13908 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13910 ndr_print_WERROR(ndr, "result", r->out.result);
13916 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
13918 if (flags & NDR_IN) {
13919 if (r->in.bind_handle == NULL) {
13920 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13922 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13923 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13924 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13925 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13927 if (flags & NDR_OUT) {
13928 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13930 return NDR_ERR_SUCCESS;
13933 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
13935 TALLOC_CTX *_mem_save_bind_handle_0;
13936 if (flags & NDR_IN) {
13937 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13938 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13940 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13941 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13942 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13944 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13945 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13946 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13948 if (flags & NDR_OUT) {
13949 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13951 return NDR_ERR_SUCCESS;
13954 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
13956 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
13958 if (flags & NDR_SET_VALUES) {
13959 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13961 if (flags & NDR_IN) {
13962 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
13964 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13966 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13968 ndr_print_int32(ndr, "level", r->in.level);
13969 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13970 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
13973 if (flags & NDR_OUT) {
13974 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
13976 ndr_print_WERROR(ndr, "result", r->out.result);
13982 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
13984 if (flags & NDR_IN) {
13985 if (r->in.bind_handle == NULL) {
13986 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13988 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13989 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13990 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13991 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13993 if (flags & NDR_OUT) {
13994 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13996 return NDR_ERR_SUCCESS;
13999 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
14001 TALLOC_CTX *_mem_save_bind_handle_0;
14002 if (flags & NDR_IN) {
14003 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14004 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14006 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14007 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14008 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14009 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14010 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14011 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14012 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14014 if (flags & NDR_OUT) {
14015 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14017 return NDR_ERR_SUCCESS;
14020 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
14022 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
14024 if (flags & NDR_SET_VALUES) {
14025 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14027 if (flags & NDR_IN) {
14028 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
14030 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14032 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14034 ndr_print_int32(ndr, "level", r->in.level);
14035 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14036 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
14039 if (flags & NDR_OUT) {
14040 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
14042 ndr_print_WERROR(ndr, "result", r->out.result);
14048 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
14050 if (flags & NDR_IN) {
14051 if (r->in.bind_handle == NULL) {
14052 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14054 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14055 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14056 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
14057 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14059 if (flags & NDR_OUT) {
14060 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14062 return NDR_ERR_SUCCESS;
14065 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
14067 TALLOC_CTX *_mem_save_bind_handle_0;
14068 if (flags & NDR_IN) {
14069 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14070 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14072 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14073 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14074 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14076 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14077 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
14078 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
14080 if (flags & NDR_OUT) {
14081 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14083 return NDR_ERR_SUCCESS;
14086 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
14088 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
14090 if (flags & NDR_SET_VALUES) {
14091 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14093 if (flags & NDR_IN) {
14094 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
14096 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14098 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14100 ndr_print_int32(ndr, "level", r->in.level);
14101 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
14102 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
14105 if (flags & NDR_OUT) {
14106 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
14108 ndr_print_WERROR(ndr, "result", r->out.result);
14114 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14116 if (flags & NDR_IN) {
14118 if (flags & NDR_OUT) {
14119 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14121 return NDR_ERR_SUCCESS;
14124 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
14126 if (flags & NDR_IN) {
14128 if (flags & NDR_OUT) {
14129 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14131 return NDR_ERR_SUCCESS;
14134 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
14136 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
14138 if (flags & NDR_SET_VALUES) {
14139 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14141 if (flags & NDR_IN) {
14142 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
14146 if (flags & NDR_OUT) {
14147 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
14149 ndr_print_WERROR(ndr, "result", r->out.result);
14155 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
14157 if (flags & NDR_IN) {
14158 if (r->in.bind_handle == NULL) {
14159 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14161 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14162 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14163 if (r->in.req == NULL) {
14164 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14166 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14167 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14169 if (flags & NDR_OUT) {
14170 if (r->out.level_out == NULL) {
14171 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14173 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14174 if (r->out.ctr == NULL) {
14175 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14177 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14178 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14179 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14181 return NDR_ERR_SUCCESS;
14184 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
14186 TALLOC_CTX *_mem_save_bind_handle_0;
14187 TALLOC_CTX *_mem_save_req_0;
14188 TALLOC_CTX *_mem_save_level_out_0;
14189 TALLOC_CTX *_mem_save_ctr_0;
14190 if (flags & NDR_IN) {
14191 ZERO_STRUCT(r->out);
14193 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14194 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14196 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14197 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14198 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14199 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14200 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14201 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14202 NDR_PULL_ALLOC(ndr, r->in.req);
14204 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14205 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14206 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14207 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14209 NDR_PULL_ALLOC(ndr, r->out.level_out);
14210 ZERO_STRUCTP(r->out.level_out);
14211 NDR_PULL_ALLOC(ndr, r->out.ctr);
14212 ZERO_STRUCTP(r->out.ctr);
14214 if (flags & NDR_OUT) {
14215 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14216 NDR_PULL_ALLOC(ndr, r->out.level_out);
14218 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14219 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14220 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14222 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14223 NDR_PULL_ALLOC(ndr, r->out.ctr);
14225 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14226 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14227 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14228 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14230 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14232 return NDR_ERR_SUCCESS;
14235 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
14237 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
14239 if (flags & NDR_SET_VALUES) {
14240 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14242 if (flags & NDR_IN) {
14243 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
14245 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14247 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14249 ndr_print_int32(ndr, "level", r->in.level);
14250 ndr_print_ptr(ndr, "req", r->in.req);
14252 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14253 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
14257 if (flags & NDR_OUT) {
14258 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
14260 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14262 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14264 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14266 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14267 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
14269 ndr_print_WERROR(ndr, "result", r->out.result);
14275 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14277 if (flags & NDR_IN) {
14279 if (flags & NDR_OUT) {
14280 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14282 return NDR_ERR_SUCCESS;
14285 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14287 if (flags & NDR_IN) {
14289 if (flags & NDR_OUT) {
14290 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14292 return NDR_ERR_SUCCESS;
14295 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
14297 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
14299 if (flags & NDR_SET_VALUES) {
14300 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14302 if (flags & NDR_IN) {
14303 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14307 if (flags & NDR_OUT) {
14308 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14310 ndr_print_WERROR(ndr, "result", r->out.result);
14316 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14318 if (flags & NDR_IN) {
14319 if (r->in.bind_handle == NULL) {
14320 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14322 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14324 if (r->in.req == NULL) {
14325 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14327 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14328 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14330 if (flags & NDR_OUT) {
14331 if (r->out.level_out == NULL) {
14332 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
14335 if (r->out.info == NULL) {
14336 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14338 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
14339 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14340 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14342 return NDR_ERR_SUCCESS;
14345 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
14347 TALLOC_CTX *_mem_save_bind_handle_0;
14348 TALLOC_CTX *_mem_save_req_0;
14349 TALLOC_CTX *_mem_save_level_out_0;
14350 TALLOC_CTX *_mem_save_info_0;
14351 if (flags & NDR_IN) {
14352 ZERO_STRUCT(r->out);
14354 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14355 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14357 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14358 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14359 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14362 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14363 NDR_PULL_ALLOC(ndr, r->in.req);
14365 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14366 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14367 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14368 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14370 NDR_PULL_ALLOC(ndr, r->out.level_out);
14371 ZERO_STRUCTP(r->out.level_out);
14372 NDR_PULL_ALLOC(ndr, r->out.info);
14373 ZERO_STRUCTP(r->out.info);
14375 if (flags & NDR_OUT) {
14376 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14377 NDR_PULL_ALLOC(ndr, r->out.level_out);
14379 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14380 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
14382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14383 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14384 NDR_PULL_ALLOC(ndr, r->out.info);
14386 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14387 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14388 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
14389 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14390 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14391 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14393 return NDR_ERR_SUCCESS;
14396 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
14398 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
14400 if (flags & NDR_SET_VALUES) {
14401 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14403 if (flags & NDR_IN) {
14404 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
14406 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14408 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14410 ndr_print_uint32(ndr, "level", r->in.level);
14411 ndr_print_ptr(ndr, "req", r->in.req);
14413 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14414 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
14418 if (flags & NDR_OUT) {
14419 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
14421 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14423 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
14425 ndr_print_ptr(ndr, "info", r->out.info);
14427 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
14428 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
14430 ndr_print_WERROR(ndr, "result", r->out.result);
14436 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
14438 if (flags & NDR_IN) {
14439 if (r->in.bind_handle == NULL) {
14440 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14442 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14443 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14444 if (r->in.req == NULL) {
14445 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14447 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14448 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14450 if (flags & NDR_OUT) {
14451 if (r->out.level_out == NULL) {
14452 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14454 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14455 if (r->out.ctr == NULL) {
14456 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14458 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14459 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14460 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14462 return NDR_ERR_SUCCESS;
14465 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14467 TALLOC_CTX *_mem_save_bind_handle_0;
14468 TALLOC_CTX *_mem_save_req_0;
14469 TALLOC_CTX *_mem_save_level_out_0;
14470 TALLOC_CTX *_mem_save_ctr_0;
14471 if (flags & NDR_IN) {
14472 ZERO_STRUCT(r->out);
14474 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14475 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14477 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14478 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14479 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14481 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14482 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14483 NDR_PULL_ALLOC(ndr, r->in.req);
14485 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14486 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14487 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14488 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14490 NDR_PULL_ALLOC(ndr, r->out.level_out);
14491 ZERO_STRUCTP(r->out.level_out);
14492 NDR_PULL_ALLOC(ndr, r->out.ctr);
14493 ZERO_STRUCTP(r->out.ctr);
14495 if (flags & NDR_OUT) {
14496 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14497 NDR_PULL_ALLOC(ndr, r->out.level_out);
14499 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14500 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14501 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14503 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14504 NDR_PULL_ALLOC(ndr, r->out.ctr);
14506 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14507 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14508 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14509 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14511 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14513 return NDR_ERR_SUCCESS;
14516 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14518 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14520 if (flags & NDR_SET_VALUES) {
14521 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14523 if (flags & NDR_IN) {
14524 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14526 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14528 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14530 ndr_print_int32(ndr, "level", r->in.level);
14531 ndr_print_ptr(ndr, "req", r->in.req);
14533 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14534 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14538 if (flags & NDR_OUT) {
14539 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14541 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14543 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14545 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14547 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14548 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14550 ndr_print_WERROR(ndr, "result", r->out.result);
14556 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14558 if (flags & NDR_IN) {
14559 if (r->in.bind_handle == NULL) {
14560 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14562 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14563 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14564 if (r->in.req == NULL) {
14565 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14567 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14568 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14570 if (flags & NDR_OUT) {
14571 if (r->out.level_out == NULL) {
14572 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14574 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14575 if (r->out.res == NULL) {
14576 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14578 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14579 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14580 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14582 return NDR_ERR_SUCCESS;
14585 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14587 TALLOC_CTX *_mem_save_bind_handle_0;
14588 TALLOC_CTX *_mem_save_req_0;
14589 TALLOC_CTX *_mem_save_level_out_0;
14590 TALLOC_CTX *_mem_save_res_0;
14591 if (flags & NDR_IN) {
14592 ZERO_STRUCT(r->out);
14594 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14595 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14597 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14598 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14599 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14601 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14602 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14603 NDR_PULL_ALLOC(ndr, r->in.req);
14605 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14606 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14607 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14608 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14609 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14610 NDR_PULL_ALLOC(ndr, r->out.level_out);
14611 ZERO_STRUCTP(r->out.level_out);
14612 NDR_PULL_ALLOC(ndr, r->out.res);
14613 ZERO_STRUCTP(r->out.res);
14615 if (flags & NDR_OUT) {
14616 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14617 NDR_PULL_ALLOC(ndr, r->out.level_out);
14619 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14620 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14621 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14623 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14624 NDR_PULL_ALLOC(ndr, r->out.res);
14626 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14627 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14628 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14629 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14630 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14631 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14633 return NDR_ERR_SUCCESS;
14636 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14638 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14640 if (flags & NDR_SET_VALUES) {
14641 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14643 if (flags & NDR_IN) {
14644 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14646 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14648 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14650 ndr_print_int32(ndr, "level", r->in.level);
14651 ndr_print_ptr(ndr, "req", r->in.req);
14653 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14654 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14658 if (flags & NDR_OUT) {
14659 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14661 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14663 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14665 ndr_print_ptr(ndr, "res", r->out.res);
14667 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14668 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14670 ndr_print_WERROR(ndr, "result", r->out.result);
14676 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14678 if (flags & NDR_IN) {
14679 if (r->in.bind_handle == NULL) {
14680 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14682 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14683 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14684 if (r->in.req == NULL) {
14685 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14687 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14688 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14690 if (flags & NDR_OUT) {
14691 if (r->out.level_out == NULL) {
14692 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14694 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14695 if (r->out.res == NULL) {
14696 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14698 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14699 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14700 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14702 return NDR_ERR_SUCCESS;
14705 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14707 TALLOC_CTX *_mem_save_bind_handle_0;
14708 TALLOC_CTX *_mem_save_req_0;
14709 TALLOC_CTX *_mem_save_level_out_0;
14710 TALLOC_CTX *_mem_save_res_0;
14711 if (flags & NDR_IN) {
14712 ZERO_STRUCT(r->out);
14714 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14715 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14717 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14718 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14719 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14721 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14722 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14723 NDR_PULL_ALLOC(ndr, r->in.req);
14725 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14726 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14727 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14728 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14729 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14730 NDR_PULL_ALLOC(ndr, r->out.level_out);
14731 ZERO_STRUCTP(r->out.level_out);
14732 NDR_PULL_ALLOC(ndr, r->out.res);
14733 ZERO_STRUCTP(r->out.res);
14735 if (flags & NDR_OUT) {
14736 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14737 NDR_PULL_ALLOC(ndr, r->out.level_out);
14739 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14740 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14741 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14743 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14744 NDR_PULL_ALLOC(ndr, r->out.res);
14746 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14747 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14748 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14749 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14751 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14753 return NDR_ERR_SUCCESS;
14756 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14758 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14760 if (flags & NDR_SET_VALUES) {
14761 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14763 if (flags & NDR_IN) {
14764 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14766 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14768 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14770 ndr_print_int32(ndr, "level", r->in.level);
14771 ndr_print_ptr(ndr, "req", r->in.req);
14773 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14774 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14778 if (flags & NDR_OUT) {
14779 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14781 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14783 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14785 ndr_print_ptr(ndr, "res", r->out.res);
14787 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14788 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14790 ndr_print_WERROR(ndr, "result", r->out.result);
14796 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14798 if (flags & NDR_IN) {
14800 if (flags & NDR_OUT) {
14801 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14803 return NDR_ERR_SUCCESS;
14806 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14808 if (flags & NDR_IN) {
14810 if (flags & NDR_OUT) {
14811 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14813 return NDR_ERR_SUCCESS;
14816 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14818 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14820 if (flags & NDR_SET_VALUES) {
14821 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14823 if (flags & NDR_IN) {
14824 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14828 if (flags & NDR_OUT) {
14829 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14831 ndr_print_WERROR(ndr, "result", r->out.result);
14837 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14839 if (flags & NDR_IN) {
14840 if (r->in.bind_handle == NULL) {
14841 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14843 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14844 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14845 if (r->in.req == NULL) {
14846 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14848 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14849 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14851 if (flags & NDR_OUT) {
14852 if (r->out.level_out == NULL) {
14853 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14855 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14856 if (r->out.ctr == NULL) {
14857 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14859 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14860 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14861 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14863 return NDR_ERR_SUCCESS;
14866 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14868 TALLOC_CTX *_mem_save_bind_handle_0;
14869 TALLOC_CTX *_mem_save_req_0;
14870 TALLOC_CTX *_mem_save_level_out_0;
14871 TALLOC_CTX *_mem_save_ctr_0;
14872 if (flags & NDR_IN) {
14873 ZERO_STRUCT(r->out);
14875 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14876 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14878 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14879 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14880 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14882 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14883 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14884 NDR_PULL_ALLOC(ndr, r->in.req);
14886 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14887 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14888 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14889 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14891 NDR_PULL_ALLOC(ndr, r->out.level_out);
14892 ZERO_STRUCTP(r->out.level_out);
14893 NDR_PULL_ALLOC(ndr, r->out.ctr);
14894 ZERO_STRUCTP(r->out.ctr);
14896 if (flags & NDR_OUT) {
14897 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14898 NDR_PULL_ALLOC(ndr, r->out.level_out);
14900 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14901 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14902 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14904 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14905 NDR_PULL_ALLOC(ndr, r->out.ctr);
14907 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14908 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14909 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14910 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14911 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14912 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14914 return NDR_ERR_SUCCESS;
14917 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14919 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
14921 if (flags & NDR_SET_VALUES) {
14922 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14924 if (flags & NDR_IN) {
14925 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
14927 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14929 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14931 ndr_print_int32(ndr, "level", r->in.level);
14932 ndr_print_ptr(ndr, "req", r->in.req);
14934 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14935 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
14939 if (flags & NDR_OUT) {
14940 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
14942 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14944 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14946 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14948 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14949 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
14951 ndr_print_WERROR(ndr, "result", r->out.result);
14957 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
14959 if (flags & NDR_IN) {
14960 if (r->in.bind_handle == NULL) {
14961 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14963 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14964 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14965 if (r->in.req == NULL) {
14966 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14968 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14969 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14971 if (flags & NDR_OUT) {
14972 if (r->out.level_out == NULL) {
14973 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14975 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14976 if (r->out.ctr == NULL) {
14977 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14979 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14980 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14981 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14983 return NDR_ERR_SUCCESS;
14986 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
14988 TALLOC_CTX *_mem_save_bind_handle_0;
14989 TALLOC_CTX *_mem_save_req_0;
14990 TALLOC_CTX *_mem_save_level_out_0;
14991 TALLOC_CTX *_mem_save_ctr_0;
14992 if (flags & NDR_IN) {
14993 ZERO_STRUCT(r->out);
14995 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14996 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14998 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14999 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15000 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15001 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15002 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15003 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15004 NDR_PULL_ALLOC(ndr, r->in.req);
15006 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15007 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15008 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15009 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15011 NDR_PULL_ALLOC(ndr, r->out.level_out);
15012 ZERO_STRUCTP(r->out.level_out);
15013 NDR_PULL_ALLOC(ndr, r->out.ctr);
15014 ZERO_STRUCTP(r->out.ctr);
15016 if (flags & NDR_OUT) {
15017 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15018 NDR_PULL_ALLOC(ndr, r->out.level_out);
15020 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15021 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15022 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15023 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15024 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15025 NDR_PULL_ALLOC(ndr, r->out.ctr);
15027 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15028 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15029 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15030 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15032 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15034 return NDR_ERR_SUCCESS;
15037 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
15039 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
15041 if (flags & NDR_SET_VALUES) {
15042 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15044 if (flags & NDR_IN) {
15045 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
15047 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15049 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15051 ndr_print_int32(ndr, "level", r->in.level);
15052 ndr_print_ptr(ndr, "req", r->in.req);
15054 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15055 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
15059 if (flags & NDR_OUT) {
15060 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
15062 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15064 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15066 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15068 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15069 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
15071 ndr_print_WERROR(ndr, "result", r->out.result);
15077 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
15079 if (flags & NDR_IN) {
15080 if (r->in.bind_handle == NULL) {
15081 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15083 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
15085 if (r->in.req == NULL) {
15086 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15088 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15089 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15091 if (flags & NDR_OUT) {
15092 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15094 return NDR_ERR_SUCCESS;
15097 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
15099 TALLOC_CTX *_mem_save_bind_handle_0;
15100 TALLOC_CTX *_mem_save_req_0;
15101 if (flags & NDR_IN) {
15102 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15103 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15105 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15106 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15107 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15109 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
15110 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15111 NDR_PULL_ALLOC(ndr, r->in.req);
15113 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15114 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15115 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15116 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
15117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15119 if (flags & NDR_OUT) {
15120 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15122 return NDR_ERR_SUCCESS;
15125 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
15127 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
15129 if (flags & NDR_SET_VALUES) {
15130 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15132 if (flags & NDR_IN) {
15133 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
15135 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15137 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15139 ndr_print_uint32(ndr, "level", r->in.level);
15140 ndr_print_ptr(ndr, "req", r->in.req);
15142 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15143 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
15147 if (flags & NDR_OUT) {
15148 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
15150 ndr_print_WERROR(ndr, "result", r->out.result);
15156 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15158 if (flags & NDR_IN) {
15159 if (r->in.bind_handle == NULL) {
15160 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15162 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15163 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
15164 if (r->in.req == NULL) {
15165 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15167 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15168 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15170 if (flags & NDR_OUT) {
15171 if (r->out.info_type == NULL) {
15172 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15174 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
15175 if (r->out.info == NULL) {
15176 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15178 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
15179 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15180 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15182 return NDR_ERR_SUCCESS;
15185 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
15187 TALLOC_CTX *_mem_save_bind_handle_0;
15188 TALLOC_CTX *_mem_save_req_0;
15189 TALLOC_CTX *_mem_save_info_type_0;
15190 TALLOC_CTX *_mem_save_info_0;
15191 if (flags & NDR_IN) {
15192 ZERO_STRUCT(r->out);
15194 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15195 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15197 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15198 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15199 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15201 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
15202 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15203 NDR_PULL_ALLOC(ndr, r->in.req);
15205 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15206 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15207 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15208 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15210 NDR_PULL_ALLOC(ndr, r->out.info_type);
15211 ZERO_STRUCTP(r->out.info_type);
15212 NDR_PULL_ALLOC(ndr, r->out.info);
15213 ZERO_STRUCTP(r->out.info);
15215 if (flags & NDR_OUT) {
15216 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15217 NDR_PULL_ALLOC(ndr, r->out.info_type);
15219 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
15220 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
15221 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
15222 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
15223 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15224 NDR_PULL_ALLOC(ndr, r->out.info);
15226 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15227 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
15228 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
15229 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
15230 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
15231 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15233 return NDR_ERR_SUCCESS;
15236 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
15238 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
15240 if (flags & NDR_SET_VALUES) {
15241 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15243 if (flags & NDR_IN) {
15244 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
15246 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15248 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15250 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
15251 ndr_print_ptr(ndr, "req", r->in.req);
15253 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15254 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
15258 if (flags & NDR_OUT) {
15259 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
15261 ndr_print_ptr(ndr, "info_type", r->out.info_type);
15263 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
15265 ndr_print_ptr(ndr, "info", r->out.info);
15267 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
15268 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
15270 ndr_print_WERROR(ndr, "result", r->out.result);
15276 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15278 if (flags & NDR_IN) {
15280 if (flags & NDR_OUT) {
15281 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15283 return NDR_ERR_SUCCESS;
15286 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
15288 if (flags & NDR_IN) {
15290 if (flags & NDR_OUT) {
15291 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15293 return NDR_ERR_SUCCESS;
15296 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
15298 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
15300 if (flags & NDR_SET_VALUES) {
15301 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15303 if (flags & NDR_IN) {
15304 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
15308 if (flags & NDR_OUT) {
15309 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
15311 ndr_print_WERROR(ndr, "result", r->out.result);
15317 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
15319 if (flags & NDR_IN) {
15320 if (r->in.bind_handle == NULL) {
15321 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15323 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15324 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15325 if (r->in.req == NULL) {
15326 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15328 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15329 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15331 if (flags & NDR_OUT) {
15332 if (r->out.level_out == NULL) {
15333 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15335 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15336 if (r->out.ctr == NULL) {
15337 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15339 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15340 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15341 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15343 return NDR_ERR_SUCCESS;
15346 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
15348 TALLOC_CTX *_mem_save_bind_handle_0;
15349 TALLOC_CTX *_mem_save_req_0;
15350 TALLOC_CTX *_mem_save_level_out_0;
15351 TALLOC_CTX *_mem_save_ctr_0;
15352 if (flags & NDR_IN) {
15353 ZERO_STRUCT(r->out);
15355 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15356 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15358 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15359 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15360 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15361 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15362 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15363 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15364 NDR_PULL_ALLOC(ndr, r->in.req);
15366 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15367 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15368 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15369 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15370 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15371 NDR_PULL_ALLOC(ndr, r->out.level_out);
15372 ZERO_STRUCTP(r->out.level_out);
15373 NDR_PULL_ALLOC(ndr, r->out.ctr);
15374 ZERO_STRUCTP(r->out.ctr);
15376 if (flags & NDR_OUT) {
15377 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15378 NDR_PULL_ALLOC(ndr, r->out.level_out);
15380 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15381 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15382 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15384 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15385 NDR_PULL_ALLOC(ndr, r->out.ctr);
15387 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15388 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15389 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15390 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15392 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15394 return NDR_ERR_SUCCESS;
15397 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
15399 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
15401 if (flags & NDR_SET_VALUES) {
15402 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15404 if (flags & NDR_IN) {
15405 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
15407 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15409 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15411 ndr_print_int32(ndr, "level", r->in.level);
15412 ndr_print_ptr(ndr, "req", r->in.req);
15414 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15415 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
15419 if (flags & NDR_OUT) {
15420 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
15422 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15424 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15426 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15428 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15429 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
15431 ndr_print_WERROR(ndr, "result", r->out.result);
15437 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15439 if (flags & NDR_IN) {
15441 if (flags & NDR_OUT) {
15442 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15444 return NDR_ERR_SUCCESS;
15447 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15449 if (flags & NDR_IN) {
15451 if (flags & NDR_OUT) {
15452 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15454 return NDR_ERR_SUCCESS;
15457 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15459 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15461 if (flags & NDR_SET_VALUES) {
15462 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15464 if (flags & NDR_IN) {
15465 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15469 if (flags & NDR_OUT) {
15470 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15472 ndr_print_WERROR(ndr, "result", r->out.result);
15478 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15480 if (flags & NDR_IN) {
15482 if (flags & NDR_OUT) {
15483 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15485 return NDR_ERR_SUCCESS;
15488 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15490 if (flags & NDR_IN) {
15492 if (flags & NDR_OUT) {
15493 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15495 return NDR_ERR_SUCCESS;
15498 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15500 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15502 if (flags & NDR_SET_VALUES) {
15503 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15505 if (flags & NDR_IN) {
15506 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15510 if (flags & NDR_OUT) {
15511 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15513 ndr_print_WERROR(ndr, "result", r->out.result);
15519 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15521 if (flags & NDR_IN) {
15522 if (r->in.bind_handle == NULL) {
15523 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15525 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15526 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15527 if (r->in.req == NULL) {
15528 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15530 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15531 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15533 if (flags & NDR_OUT) {
15534 if (r->out.level_out == NULL) {
15535 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15537 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15538 if (r->out.ctr == NULL) {
15539 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15541 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15542 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15543 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15545 return NDR_ERR_SUCCESS;
15548 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15550 TALLOC_CTX *_mem_save_bind_handle_0;
15551 TALLOC_CTX *_mem_save_req_0;
15552 TALLOC_CTX *_mem_save_level_out_0;
15553 TALLOC_CTX *_mem_save_ctr_0;
15554 if (flags & NDR_IN) {
15555 ZERO_STRUCT(r->out);
15557 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15558 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15560 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15561 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15562 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15564 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15565 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15566 NDR_PULL_ALLOC(ndr, r->in.req);
15568 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15569 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15570 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15571 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15573 NDR_PULL_ALLOC(ndr, r->out.level_out);
15574 ZERO_STRUCTP(r->out.level_out);
15575 NDR_PULL_ALLOC(ndr, r->out.ctr);
15576 ZERO_STRUCTP(r->out.ctr);
15578 if (flags & NDR_OUT) {
15579 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15580 NDR_PULL_ALLOC(ndr, r->out.level_out);
15582 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15583 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15584 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15586 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15587 NDR_PULL_ALLOC(ndr, r->out.ctr);
15589 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15590 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15591 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15592 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15594 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15596 return NDR_ERR_SUCCESS;
15599 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15601 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15603 if (flags & NDR_SET_VALUES) {
15604 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15606 if (flags & NDR_IN) {
15607 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15609 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15611 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15613 ndr_print_int32(ndr, "level", r->in.level);
15614 ndr_print_ptr(ndr, "req", r->in.req);
15616 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15617 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15621 if (flags & NDR_OUT) {
15622 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15624 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15626 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15628 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15630 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15631 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15633 ndr_print_WERROR(ndr, "result", r->out.result);
15639 static const struct ndr_interface_call drsuapi_calls[] = {
15642 sizeof(struct drsuapi_DsBind),
15643 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15644 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15645 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15649 "drsuapi_DsUnbind",
15650 sizeof(struct drsuapi_DsUnbind),
15651 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15652 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15653 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15657 "drsuapi_DsReplicaSync",
15658 sizeof(struct drsuapi_DsReplicaSync),
15659 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15660 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15661 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15665 "drsuapi_DsGetNCChanges",
15666 sizeof(struct drsuapi_DsGetNCChanges),
15667 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15668 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15669 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15673 "drsuapi_DsReplicaUpdateRefs",
15674 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15675 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15676 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15677 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15681 "drsuapi_DsReplicaAdd",
15682 sizeof(struct drsuapi_DsReplicaAdd),
15683 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15684 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15685 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15689 "drsuapi_DsReplicaDel",
15690 sizeof(struct drsuapi_DsReplicaDel),
15691 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15692 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15693 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15697 "drsuapi_DsReplicaMod",
15698 sizeof(struct drsuapi_DsReplicaMod),
15699 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15700 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15701 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15705 "DRSUAPI_VERIFY_NAMES",
15706 sizeof(struct DRSUAPI_VERIFY_NAMES),
15707 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15708 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15709 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15713 "drsuapi_DsGetMemberships",
15714 sizeof(struct drsuapi_DsGetMemberships),
15715 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15716 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15717 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15721 "DRSUAPI_INTER_DOMAIN_MOVE",
15722 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15723 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15724 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15725 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15729 "drsuapi_DsGetNT4ChangeLog",
15730 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15731 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15732 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15733 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15737 "drsuapi_DsCrackNames",
15738 sizeof(struct drsuapi_DsCrackNames),
15739 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15740 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15741 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15745 "drsuapi_DsWriteAccountSpn",
15746 sizeof(struct drsuapi_DsWriteAccountSpn),
15747 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15748 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15749 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15753 "drsuapi_DsRemoveDSServer",
15754 sizeof(struct drsuapi_DsRemoveDSServer),
15755 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15756 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15757 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15761 "DRSUAPI_REMOVE_DS_DOMAIN",
15762 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15763 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15764 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15765 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15769 "drsuapi_DsGetDomainControllerInfo",
15770 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15771 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15772 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15773 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15777 "drsuapi_DsAddEntry",
15778 sizeof(struct drsuapi_DsAddEntry),
15779 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15780 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15781 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15785 "drsuapi_DsExecuteKCC",
15786 sizeof(struct drsuapi_DsExecuteKCC),
15787 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15788 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15789 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15793 "drsuapi_DsReplicaGetInfo",
15794 sizeof(struct drsuapi_DsReplicaGetInfo),
15795 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15796 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15797 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15801 "DRSUAPI_ADD_SID_HISTORY",
15802 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15803 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15804 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15805 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15809 "drsuapi_DsGetMemberships2",
15810 sizeof(struct drsuapi_DsGetMemberships2),
15811 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15812 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15813 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15817 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15818 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15819 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15820 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15821 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15825 "DRSUAPI_GET_OBJECT_EXISTENCE",
15826 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15827 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15828 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15829 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15833 "drsuapi_QuerySitesByCost",
15834 sizeof(struct drsuapi_QuerySitesByCost),
15835 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15836 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15837 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15840 { NULL, 0, NULL, NULL, NULL, false }
15843 static const char * const drsuapi_endpoint_strings[] = {
15844 "ncacn_np:[\\pipe\\lsass]",
15845 "ncacn_np:[\\pipe\\protected_storage]",
15850 static const struct ndr_interface_string_array drsuapi_endpoints = {
15852 .names = drsuapi_endpoint_strings
15855 static const char * const drsuapi_authservice_strings[] = {
15859 static const struct ndr_interface_string_array drsuapi_authservices = {
15861 .names = drsuapi_authservice_strings
15865 const struct ndr_interface_table ndr_table_drsuapi = {
15868 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15869 NDR_DRSUAPI_VERSION
15871 .helpstring = NDR_DRSUAPI_HELPSTRING,
15873 .calls = drsuapi_calls,
15874 .endpoints = &drsuapi_endpoints,
15875 .authservices = &drsuapi_authservices