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));
96 if (ndr_flags & NDR_BUFFERS) {
98 return NDR_ERR_SUCCESS;
101 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r)
103 if (ndr_flags & NDR_SCALARS) {
104 NDR_CHECK(ndr_pull_align(ndr, 4));
105 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
106 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
109 if (ndr_flags & NDR_BUFFERS) {
111 return NDR_ERR_SUCCESS;
114 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r)
116 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24");
118 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
119 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
120 ndr_print_uint32(ndr, "pid", r->pid);
124 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r)
126 if (ndr_flags & NDR_SCALARS) {
127 NDR_CHECK(ndr_push_align(ndr, 4));
128 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
129 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
133 if (ndr_flags & NDR_BUFFERS) {
135 return NDR_ERR_SUCCESS;
138 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r)
140 if (ndr_flags & NDR_SCALARS) {
141 NDR_CHECK(ndr_pull_align(ndr, 4));
142 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
143 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
144 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
145 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
147 if (ndr_flags & NDR_BUFFERS) {
149 return NDR_ERR_SUCCESS;
152 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r)
154 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28");
156 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
157 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
158 ndr_print_uint32(ndr, "pid", r->pid);
159 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
163 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r)
165 if (ndr_flags & NDR_SCALARS) {
166 NDR_CHECK(ndr_push_align(ndr, 4));
167 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions));
168 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid));
170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch));
171 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext));
172 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
174 if (ndr_flags & NDR_BUFFERS) {
176 return NDR_ERR_SUCCESS;
179 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r)
181 if (ndr_flags & NDR_SCALARS) {
182 NDR_CHECK(ndr_pull_align(ndr, 4));
183 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions));
184 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
185 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid));
186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch));
187 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext));
188 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid));
190 if (ndr_flags & NDR_BUFFERS) {
192 return NDR_ERR_SUCCESS;
195 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r)
197 ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48");
199 ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions);
200 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
201 ndr_print_uint32(ndr, "pid", r->pid);
202 ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch);
203 ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext);
204 ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid);
208 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r)
210 if (ndr_flags & NDR_SCALARS) {
211 NDR_CHECK(ndr_push_align(ndr, 4));
213 uint32_t _flags_save_DATA_BLOB = ndr->flags;
214 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
215 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info));
216 ndr->flags = _flags_save_DATA_BLOB;
219 if (ndr_flags & NDR_BUFFERS) {
221 return NDR_ERR_SUCCESS;
224 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r)
226 if (ndr_flags & NDR_SCALARS) {
227 NDR_CHECK(ndr_pull_align(ndr, 4));
229 uint32_t _flags_save_DATA_BLOB = ndr->flags;
230 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
231 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info));
232 ndr->flags = _flags_save_DATA_BLOB;
235 if (ndr_flags & NDR_BUFFERS) {
237 return NDR_ERR_SUCCESS;
240 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r)
242 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack");
244 ndr_print_DATA_BLOB(ndr, "info", r->info);
248 static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r)
250 if (ndr_flags & NDR_SCALARS) {
251 int level = ndr_push_get_switch_value(ndr, r);
255 struct ndr_push *_ndr_info24;
256 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1));
257 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
258 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1));
264 struct ndr_push *_ndr_info28;
265 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1));
266 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
267 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1));
273 struct ndr_push *_ndr_info48;
274 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1));
275 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
276 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1));
282 struct ndr_push *_ndr_FallBack;
283 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
284 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
285 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1));
291 if (ndr_flags & NDR_BUFFERS) {
292 int level = ndr_push_get_switch_value(ndr, r);
308 return NDR_ERR_SUCCESS;
311 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r)
314 level = ndr_pull_get_switch_value(ndr, r);
315 if (ndr_flags & NDR_SCALARS) {
319 struct ndr_pull *_ndr_info24;
320 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1));
321 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24));
322 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1));
328 struct ndr_pull *_ndr_info28;
329 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1));
330 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28));
331 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1));
337 struct ndr_pull *_ndr_info48;
338 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1));
339 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48));
340 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1));
346 struct ndr_pull *_ndr_FallBack;
347 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1));
348 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack));
349 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1));
355 if (ndr_flags & NDR_BUFFERS) {
371 return NDR_ERR_SUCCESS;
374 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
377 level = ndr_print_get_switch_value(ndr, r);
378 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
381 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
385 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
389 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
393 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
399 static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r)
401 if (ndr_flags & NDR_SCALARS) {
402 NDR_CHECK(ndr_push_align(ndr, 4));
403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
404 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length));
405 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
407 if (ndr_flags & NDR_BUFFERS) {
409 return NDR_ERR_SUCCESS;
412 static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r)
414 if (ndr_flags & NDR_SCALARS) {
415 NDR_CHECK(ndr_pull_align(ndr, 4));
416 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
417 if (r->length < 1 || r->length > 10000) {
418 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
420 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length));
421 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info));
423 if (ndr_flags & NDR_BUFFERS) {
425 return NDR_ERR_SUCCESS;
428 _PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r)
430 ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr");
432 ndr_print_uint32(ndr, "length", r->length);
433 ndr_print_set_switch_value(ndr, &r->info, r->length);
434 ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info);
438 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r)
440 if (ndr_flags & NDR_SCALARS) {
441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn) + 1));
442 NDR_CHECK(ndr_push_align(ndr, 4));
443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags) - 4));
444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
445 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
446 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
448 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
450 if (ndr_flags & NDR_BUFFERS) {
451 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
453 return NDR_ERR_SUCCESS;
456 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r)
458 if (ndr_flags & NDR_SCALARS) {
459 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
460 NDR_CHECK(ndr_pull_align(ndr, 4));
461 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
462 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
463 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
464 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
465 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
466 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, ndr_get_array_size(ndr, &r->dn), sizeof(uint16_t), CH_UTF16));
468 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
471 if (ndr_flags & NDR_BUFFERS) {
472 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
474 return NDR_ERR_SUCCESS;
477 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
479 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
481 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags) - 4:r->__ndr_size);
482 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);
483 ndr_print_GUID(ndr, "guid", &r->guid);
484 ndr_print_dom_sid28(ndr, "sid", &r->sid);
485 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
486 ndr_print_string(ndr, "dn", r->dn);
490 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, int flags)
492 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier);
495 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
497 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
498 return NDR_ERR_SUCCESS;
501 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
506 return NDR_ERR_SUCCESS;
509 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print *ndr, const char *name, uint32_t r)
511 ndr_print_uint32(ndr, name, r);
513 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION, r);
514 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE, r);
515 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC, r);
516 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING, r);
517 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES, r);
518 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL, r);
519 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT, r);
520 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD, r);
521 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE, r);
522 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE, r);
523 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED, r);
524 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY, r);
525 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY, r);
526 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL, r);
527 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION, r);
528 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED, r);
529 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS, r);
530 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET, r);
531 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE, r);
532 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION, r);
533 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA, r);
534 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL, r);
535 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS, r);
536 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED, r);
540 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
542 if (ndr_flags & NDR_SCALARS) {
543 NDR_CHECK(ndr_push_align(ndr, 4));
544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
545 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
547 uint32_t _flags_save_string = ndr->flags;
548 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
549 NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_info));
550 ndr->flags = _flags_save_string;
552 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->options));
554 if (ndr_flags & NDR_BUFFERS) {
555 if (r->naming_context) {
556 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
559 uint32_t _flags_save_string = ndr->flags;
560 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
562 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->other_info));
564 ndr->flags = _flags_save_string;
567 return NDR_ERR_SUCCESS;
570 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
572 uint32_t _ptr_naming_context;
573 TALLOC_CTX *_mem_save_naming_context_0;
574 uint32_t _ptr_other_info;
575 TALLOC_CTX *_mem_save_other_info_0;
576 if (ndr_flags & NDR_SCALARS) {
577 NDR_CHECK(ndr_pull_align(ndr, 4));
578 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
579 if (_ptr_naming_context) {
580 NDR_PULL_ALLOC(ndr, r->naming_context);
582 r->naming_context = NULL;
584 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
586 uint32_t _flags_save_string = ndr->flags;
587 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
588 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
589 if (_ptr_other_info) {
590 NDR_PULL_ALLOC(ndr, r->other_info);
592 r->other_info = NULL;
594 ndr->flags = _flags_save_string;
596 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->options));
598 if (ndr_flags & NDR_BUFFERS) {
599 if (r->naming_context) {
600 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
601 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
602 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
606 uint32_t _flags_save_string = ndr->flags;
607 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
609 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
610 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
611 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->other_info));
612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
614 ndr->flags = _flags_save_string;
617 return NDR_ERR_SUCCESS;
620 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
622 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
624 ndr_print_ptr(ndr, "naming_context", r->naming_context);
626 if (r->naming_context) {
627 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
630 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
631 ndr_print_ptr(ndr, "other_info", r->other_info);
634 ndr_print_string(ndr, "other_info", r->other_info);
637 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "options", r->options);
641 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
643 if (ndr_flags & NDR_SCALARS) {
644 int level = ndr_push_get_switch_value(ndr, r);
645 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
648 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
652 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
655 if (ndr_flags & NDR_BUFFERS) {
656 int level = ndr_push_get_switch_value(ndr, r);
659 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
663 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
666 return NDR_ERR_SUCCESS;
669 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
673 level = ndr_pull_get_switch_value(ndr, r);
674 if (ndr_flags & NDR_SCALARS) {
675 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
676 if (_level != level) {
677 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
681 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
685 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
688 if (ndr_flags & NDR_BUFFERS) {
691 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
695 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
698 return NDR_ERR_SUCCESS;
701 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
704 level = ndr_print_get_switch_value(ndr, r);
705 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
708 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
712 ndr_print_bad_level(ndr, name, level);
716 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
718 if (ndr_flags & NDR_SCALARS) {
719 NDR_CHECK(ndr_push_align(ndr, 8));
720 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
721 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
722 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
724 if (ndr_flags & NDR_BUFFERS) {
726 return NDR_ERR_SUCCESS;
729 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
731 if (ndr_flags & NDR_SCALARS) {
732 NDR_CHECK(ndr_pull_align(ndr, 8));
733 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
734 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
735 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
737 if (ndr_flags & NDR_BUFFERS) {
739 return NDR_ERR_SUCCESS;
742 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
744 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
746 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
747 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
748 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
752 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
754 if (ndr_flags & NDR_SCALARS) {
755 NDR_CHECK(ndr_push_align(ndr, 8));
756 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
757 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
759 if (ndr_flags & NDR_BUFFERS) {
761 return NDR_ERR_SUCCESS;
764 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
766 if (ndr_flags & NDR_SCALARS) {
767 NDR_CHECK(ndr_pull_align(ndr, 8));
768 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
769 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
771 if (ndr_flags & NDR_BUFFERS) {
773 return NDR_ERR_SUCCESS;
776 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
778 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
780 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
781 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
785 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
787 uint32_t cntr_cursors_0;
788 if (ndr_flags & NDR_SCALARS) {
789 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
790 NDR_CHECK(ndr_push_align(ndr, 8));
791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
795 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
796 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
799 if (ndr_flags & NDR_BUFFERS) {
801 return NDR_ERR_SUCCESS;
804 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
806 uint32_t cntr_cursors_0;
807 TALLOC_CTX *_mem_save_cursors_0;
808 if (ndr_flags & NDR_SCALARS) {
809 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
810 NDR_CHECK(ndr_pull_align(ndr, 8));
811 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
812 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
813 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
814 if (r->count < 0 || r->count > 0x100000) {
815 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
817 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
818 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
819 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
820 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
821 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
822 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
826 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
829 if (ndr_flags & NDR_BUFFERS) {
831 return NDR_ERR_SUCCESS;
834 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
836 uint32_t cntr_cursors_0;
837 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
839 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
840 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
841 ndr_print_uint32(ndr, "count", r->count);
842 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
843 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
845 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
847 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
848 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
856 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
859 return NDR_ERR_SUCCESS;
862 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
865 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
867 return NDR_ERR_SUCCESS;
870 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourFlags(struct ndr_print *ndr, const char *name, uint32_t r)
872 ndr_print_uint32(ndr, name, r);
874 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE", DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE, r);
875 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP", DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP, r);
876 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS", DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS, r);
877 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);
878 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC, r);
879 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS", DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS, r);
880 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS, r);
881 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET, r);
882 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED", DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED, r);
883 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED", DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED, r);
884 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS, r);
885 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC, r);
886 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES", DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES, r);
887 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS, r);
888 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET, r);
892 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
895 uint32_t _flags_save_ENUM = ndr->flags;
896 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
898 ndr->flags = _flags_save_ENUM;
900 return NDR_ERR_SUCCESS;
903 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
907 uint32_t _flags_save_ENUM = ndr->flags;
908 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
909 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
911 ndr->flags = _flags_save_ENUM;
913 return NDR_ERR_SUCCESS;
916 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
918 const char *val = NULL;
921 uint32_t _flags_save_ENUM = ndr->flags;
922 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
924 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
925 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
926 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
927 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
928 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
929 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
930 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
931 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
933 ndr_print_enum(ndr, name, "ENUM", val, r);
934 ndr->flags = _flags_save_ENUM;
938 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
941 uint32_t _flags_save_ENUM = ndr->flags;
942 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
944 ndr->flags = _flags_save_ENUM;
946 return NDR_ERR_SUCCESS;
949 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
953 uint32_t _flags_save_ENUM = ndr->flags;
954 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
955 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
957 ndr->flags = _flags_save_ENUM;
959 return NDR_ERR_SUCCESS;
962 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
964 const char *val = NULL;
967 uint32_t _flags_save_ENUM = ndr->flags;
968 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
970 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
971 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
972 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
973 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
974 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
975 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
976 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
977 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
978 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
979 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
980 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
981 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
982 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
983 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
984 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
985 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
986 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
988 ndr_print_enum(ndr, name, "ENUM", val, r);
989 ndr->flags = _flags_save_ENUM;
993 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
995 if (ndr_flags & NDR_SCALARS) {
996 NDR_CHECK(ndr_push_align(ndr, 8));
997 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
998 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
999 if (r->naming_context == NULL) {
1000 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1002 NDR_CHECK(ndr_push_ref_ptr(ndr));
1003 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1004 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1005 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1008 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1009 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1011 if (ndr_flags & NDR_BUFFERS) {
1012 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1013 if (r->uptodateness_vector) {
1014 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1017 return NDR_ERR_SUCCESS;
1020 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1022 uint32_t _ptr_naming_context;
1023 TALLOC_CTX *_mem_save_naming_context_0;
1024 uint32_t _ptr_uptodateness_vector;
1025 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1026 if (ndr_flags & NDR_SCALARS) {
1027 NDR_CHECK(ndr_pull_align(ndr, 8));
1028 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1029 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1030 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1031 if (_ptr_naming_context) {
1032 NDR_PULL_ALLOC(ndr, r->naming_context);
1034 r->naming_context = NULL;
1036 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1037 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1038 if (_ptr_uptodateness_vector) {
1039 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1041 r->uptodateness_vector = NULL;
1043 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1044 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1045 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1046 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1047 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1049 if (ndr_flags & NDR_BUFFERS) {
1050 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1051 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1052 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1053 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1054 if (r->uptodateness_vector) {
1055 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1056 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1057 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1058 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1061 return NDR_ERR_SUCCESS;
1064 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1066 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1068 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1069 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1070 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1072 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1074 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1075 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1077 if (r->uptodateness_vector) {
1078 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1081 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1082 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1083 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1084 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1085 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1089 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOID(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOID *r)
1091 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOID");
1093 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaOID_oid(r->oid, 0):r->__ndr_size);
1094 ndr_print_ptr(ndr, "oid", r->oid);
1097 ndr_print_string(ndr, "oid", r->oid);
1103 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1105 if (ndr_flags & NDR_SCALARS) {
1106 NDR_CHECK(ndr_push_align(ndr, 4));
1107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1108 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1110 if (ndr_flags & NDR_BUFFERS) {
1111 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1113 return NDR_ERR_SUCCESS;
1116 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1118 if (ndr_flags & NDR_SCALARS) {
1119 NDR_CHECK(ndr_pull_align(ndr, 4));
1120 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1121 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1123 if (ndr_flags & NDR_BUFFERS) {
1124 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1126 return NDR_ERR_SUCCESS;
1129 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1131 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1133 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1134 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1138 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1140 uint32_t cntr_mappings_1;
1141 if (ndr_flags & NDR_SCALARS) {
1142 NDR_CHECK(ndr_push_align(ndr, 4));
1143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1144 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1146 if (ndr_flags & NDR_BUFFERS) {
1148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1149 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1150 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1152 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1153 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1157 return NDR_ERR_SUCCESS;
1160 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1162 uint32_t _ptr_mappings;
1163 uint32_t cntr_mappings_1;
1164 TALLOC_CTX *_mem_save_mappings_0;
1165 TALLOC_CTX *_mem_save_mappings_1;
1166 if (ndr_flags & NDR_SCALARS) {
1167 NDR_CHECK(ndr_pull_align(ndr, 4));
1168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1169 if (r->num_mappings < 0 || r->num_mappings > 0x100000) {
1170 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1172 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1173 if (_ptr_mappings) {
1174 NDR_PULL_ALLOC(ndr, r->mappings);
1179 if (ndr_flags & NDR_BUFFERS) {
1181 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1182 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1183 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1184 NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings));
1185 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1186 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1187 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1188 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1190 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1191 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1197 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1200 return NDR_ERR_SUCCESS;
1203 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1205 uint32_t cntr_mappings_1;
1206 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1208 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1209 ndr_print_ptr(ndr, "mappings", r->mappings);
1212 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1214 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1216 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1217 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1227 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1230 uint32_t _flags_save_ENUM = ndr->flags;
1231 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1233 ndr->flags = _flags_save_ENUM;
1235 return NDR_ERR_SUCCESS;
1238 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1242 uint32_t _flags_save_ENUM = ndr->flags;
1243 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1244 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1246 ndr->flags = _flags_save_ENUM;
1248 return NDR_ERR_SUCCESS;
1251 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1253 const char *val = NULL;
1256 uint32_t _flags_save_ENUM = ndr->flags;
1257 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1259 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1260 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1261 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1262 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1263 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1264 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1265 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1266 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1267 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1268 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1269 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1270 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1271 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1272 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1273 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1274 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1275 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1276 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1277 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1278 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1279 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1280 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1281 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1282 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1283 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1284 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1285 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1286 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1287 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1288 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1289 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1290 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1291 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1292 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1293 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1294 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1295 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1296 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1297 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1298 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1299 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1300 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1301 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1302 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1303 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1304 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1305 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1306 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1307 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1308 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1309 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1310 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1311 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1312 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1313 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1314 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1315 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1316 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1317 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1318 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1319 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1321 ndr_print_enum(ndr, name, "ENUM", val, r);
1322 ndr->flags = _flags_save_ENUM;
1326 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1328 uint32_t cntr_attids_0;
1329 if (ndr_flags & NDR_SCALARS) {
1330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1331 NDR_CHECK(ndr_push_align(ndr, 4));
1332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1335 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1336 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1339 if (ndr_flags & NDR_BUFFERS) {
1341 return NDR_ERR_SUCCESS;
1344 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1346 uint32_t cntr_attids_0;
1347 TALLOC_CTX *_mem_save_attids_0;
1348 if (ndr_flags & NDR_SCALARS) {
1349 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1350 NDR_CHECK(ndr_pull_align(ndr, 4));
1351 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1352 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1353 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1354 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1355 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1357 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1358 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1359 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1360 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1361 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1365 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1368 if (ndr_flags & NDR_BUFFERS) {
1370 return NDR_ERR_SUCCESS;
1373 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1375 uint32_t cntr_attids_0;
1376 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1378 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1379 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1380 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1381 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1383 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1385 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1386 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1394 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1396 if (ndr_flags & NDR_SCALARS) {
1397 NDR_CHECK(ndr_push_align(ndr, 8));
1398 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1399 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1400 if (r->naming_context == NULL) {
1401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1403 NDR_CHECK(ndr_push_ref_ptr(ndr));
1404 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1405 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1406 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1409 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1410 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1411 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1412 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1413 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1415 if (ndr_flags & NDR_BUFFERS) {
1416 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1417 if (r->uptodateness_vector) {
1418 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1420 if (r->partial_attribute_set) {
1421 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1423 if (r->partial_attribute_set_ex) {
1424 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1426 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1428 return NDR_ERR_SUCCESS;
1431 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1433 uint32_t _ptr_naming_context;
1434 TALLOC_CTX *_mem_save_naming_context_0;
1435 uint32_t _ptr_uptodateness_vector;
1436 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1437 uint32_t _ptr_partial_attribute_set;
1438 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1439 uint32_t _ptr_partial_attribute_set_ex;
1440 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1441 if (ndr_flags & NDR_SCALARS) {
1442 NDR_CHECK(ndr_pull_align(ndr, 8));
1443 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1444 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1445 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1446 if (_ptr_naming_context) {
1447 NDR_PULL_ALLOC(ndr, r->naming_context);
1449 r->naming_context = NULL;
1451 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1453 if (_ptr_uptodateness_vector) {
1454 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1456 r->uptodateness_vector = NULL;
1458 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1459 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1460 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1461 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1462 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1463 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1464 if (_ptr_partial_attribute_set) {
1465 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1467 r->partial_attribute_set = NULL;
1469 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1470 if (_ptr_partial_attribute_set_ex) {
1471 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1473 r->partial_attribute_set_ex = NULL;
1475 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1477 if (ndr_flags & NDR_BUFFERS) {
1478 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1479 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1480 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1481 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1482 if (r->uptodateness_vector) {
1483 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1484 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1485 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1488 if (r->partial_attribute_set) {
1489 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1490 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1491 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1494 if (r->partial_attribute_set_ex) {
1495 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1496 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1497 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1500 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1502 return NDR_ERR_SUCCESS;
1505 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1507 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1509 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1510 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1511 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1513 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1515 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1516 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1518 if (r->uptodateness_vector) {
1519 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1522 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1523 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1524 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1525 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1526 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1527 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1529 if (r->partial_attribute_set) {
1530 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1533 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1535 if (r->partial_attribute_set_ex) {
1536 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1539 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1543 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1545 if (ndr_flags & NDR_SCALARS) {
1546 int level = ndr_push_get_switch_value(ndr, r);
1547 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1550 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1554 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1558 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1561 if (ndr_flags & NDR_BUFFERS) {
1562 int level = ndr_push_get_switch_value(ndr, r);
1565 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1569 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1573 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1576 return NDR_ERR_SUCCESS;
1579 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1583 level = ndr_pull_get_switch_value(ndr, r);
1584 if (ndr_flags & NDR_SCALARS) {
1585 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1586 if (_level != level) {
1587 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1591 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1595 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1599 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1602 if (ndr_flags & NDR_BUFFERS) {
1605 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1609 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1613 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1616 return NDR_ERR_SUCCESS;
1619 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1622 level = ndr_print_get_switch_value(ndr, r);
1623 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1626 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1630 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1634 ndr_print_bad_level(ndr, name, level);
1638 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1640 if (ndr_flags & NDR_SCALARS) {
1641 NDR_CHECK(ndr_push_align(ndr, 8));
1642 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1643 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1644 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1646 if (ndr_flags & NDR_BUFFERS) {
1648 return NDR_ERR_SUCCESS;
1651 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1653 if (ndr_flags & NDR_SCALARS) {
1654 NDR_CHECK(ndr_pull_align(ndr, 8));
1655 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1656 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1657 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1659 if (ndr_flags & NDR_BUFFERS) {
1661 return NDR_ERR_SUCCESS;
1664 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1666 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1668 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1669 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1670 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1674 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1676 uint32_t cntr_cursors_0;
1677 if (ndr_flags & NDR_SCALARS) {
1678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1679 NDR_CHECK(ndr_push_align(ndr, 8));
1680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1682 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1684 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1685 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1688 if (ndr_flags & NDR_BUFFERS) {
1690 return NDR_ERR_SUCCESS;
1693 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1695 uint32_t cntr_cursors_0;
1696 TALLOC_CTX *_mem_save_cursors_0;
1697 if (ndr_flags & NDR_SCALARS) {
1698 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1699 NDR_CHECK(ndr_pull_align(ndr, 8));
1700 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1701 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1702 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1703 if (r->count < 0 || r->count > 0x100000) {
1704 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1707 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1708 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1709 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1710 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1711 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
1715 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
1718 if (ndr_flags & NDR_BUFFERS) {
1720 return NDR_ERR_SUCCESS;
1723 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1725 uint32_t cntr_cursors_0;
1726 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
1728 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
1729 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1730 ndr_print_uint32(ndr, "count", r->count);
1731 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1732 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
1734 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
1736 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
1737 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
1745 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
1747 if (ndr_flags & NDR_SCALARS) {
1748 NDR_CHECK(ndr_push_align(ndr, 4));
1749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
1750 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
1752 if (ndr_flags & NDR_BUFFERS) {
1754 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
1757 return NDR_ERR_SUCCESS;
1760 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
1763 TALLOC_CTX *_mem_save_blob_0;
1764 if (ndr_flags & NDR_SCALARS) {
1765 NDR_CHECK(ndr_pull_align(ndr, 4));
1766 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1767 if (r->__ndr_size < 0 || r->__ndr_size > 10485760) {
1768 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1770 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
1772 NDR_PULL_ALLOC(ndr, r->blob);
1777 if (ndr_flags & NDR_BUFFERS) {
1779 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
1780 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
1781 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
1782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
1785 return NDR_ERR_SUCCESS;
1788 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
1790 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
1792 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
1793 ndr_print_ptr(ndr, "blob", r->blob);
1796 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
1802 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
1804 uint32_t cntr_values_1;
1805 if (ndr_flags & NDR_SCALARS) {
1806 NDR_CHECK(ndr_push_align(ndr, 4));
1807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
1808 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
1810 if (ndr_flags & NDR_BUFFERS) {
1812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
1813 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1814 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
1816 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1817 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
1821 return NDR_ERR_SUCCESS;
1824 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
1826 uint32_t _ptr_values;
1827 uint32_t cntr_values_1;
1828 TALLOC_CTX *_mem_save_values_0;
1829 TALLOC_CTX *_mem_save_values_1;
1830 if (ndr_flags & NDR_SCALARS) {
1831 NDR_CHECK(ndr_pull_align(ndr, 4));
1832 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
1833 if (r->num_values < 0 || r->num_values > 10485760) {
1834 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1836 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
1838 NDR_PULL_ALLOC(ndr, r->values);
1843 if (ndr_flags & NDR_BUFFERS) {
1845 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
1846 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
1847 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
1848 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
1849 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
1850 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
1851 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1852 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
1854 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1855 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
1857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
1858 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
1861 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
1864 return NDR_ERR_SUCCESS;
1867 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
1869 uint32_t cntr_values_1;
1870 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
1872 ndr_print_uint32(ndr, "num_values", r->num_values);
1873 ndr_print_ptr(ndr, "values", r->values);
1876 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
1878 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
1880 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
1881 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
1891 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
1893 if (ndr_flags & NDR_SCALARS) {
1894 NDR_CHECK(ndr_push_align(ndr, 4));
1895 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags)));
1896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
1897 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
1898 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1899 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
1900 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
1902 if (ndr_flags & NDR_BUFFERS) {
1903 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1905 return NDR_ERR_SUCCESS;
1908 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
1910 if (ndr_flags & NDR_SCALARS) {
1911 NDR_CHECK(ndr_pull_align(ndr, 4));
1912 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
1914 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
1915 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1916 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
1917 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
1919 if (ndr_flags & NDR_BUFFERS) {
1920 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1922 return NDR_ERR_SUCCESS;
1925 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
1927 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
1929 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags):r->__ndr_size);
1930 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);
1931 ndr_print_GUID(ndr, "guid", &r->guid);
1932 ndr_print_dom_sid28(ndr, "sid", &r->sid);
1933 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
1934 ndr_print_string(ndr, "dn", r->dn);
1938 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, int flags)
1940 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3);
1943 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
1945 if (ndr_flags & NDR_SCALARS) {
1946 NDR_CHECK(ndr_push_align(ndr, 4));
1947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r, ndr->flags)));
1948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
1949 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
1950 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1951 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
1952 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
1953 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
1955 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1956 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1957 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
1958 ndr->flags = _flags_save_DATA_BLOB;
1961 if (ndr_flags & NDR_BUFFERS) {
1962 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1964 return NDR_ERR_SUCCESS;
1967 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
1969 if (ndr_flags & NDR_SCALARS) {
1970 NDR_CHECK(ndr_pull_align(ndr, 4));
1971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1972 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
1973 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
1974 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1975 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
1976 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
1977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
1979 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1980 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1981 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
1982 ndr->flags = _flags_save_DATA_BLOB;
1985 if (ndr_flags & NDR_BUFFERS) {
1986 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1988 return NDR_ERR_SUCCESS;
1991 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
1993 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
1995 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r, ndr->flags):r->__ndr_size);
1996 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);
1997 ndr_print_GUID(ndr, "guid", &r->guid);
1998 ndr_print_dom_sid28(ndr, "sid", &r->sid);
1999 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2000 ndr_print_string(ndr, "dn", r->dn);
2001 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2002 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2006 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, int flags)
2008 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary);
2011 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2013 if (ndr_flags & NDR_SCALARS) {
2014 NDR_CHECK(ndr_push_align(ndr, 4));
2015 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2016 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2018 if (ndr_flags & NDR_BUFFERS) {
2019 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2021 return NDR_ERR_SUCCESS;
2024 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2026 if (ndr_flags & NDR_SCALARS) {
2027 NDR_CHECK(ndr_pull_align(ndr, 4));
2028 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2029 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2031 if (ndr_flags & NDR_BUFFERS) {
2032 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2034 return NDR_ERR_SUCCESS;
2037 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2039 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2041 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2042 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2046 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2048 uint32_t cntr_attributes_1;
2049 if (ndr_flags & NDR_SCALARS) {
2050 NDR_CHECK(ndr_push_align(ndr, 4));
2051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2052 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2054 if (ndr_flags & NDR_BUFFERS) {
2055 if (r->attributes) {
2056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2057 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2058 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2060 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2061 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2065 return NDR_ERR_SUCCESS;
2068 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2070 uint32_t _ptr_attributes;
2071 uint32_t cntr_attributes_1;
2072 TALLOC_CTX *_mem_save_attributes_0;
2073 TALLOC_CTX *_mem_save_attributes_1;
2074 if (ndr_flags & NDR_SCALARS) {
2075 NDR_CHECK(ndr_pull_align(ndr, 4));
2076 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2077 if (r->num_attributes < 0 || r->num_attributes > 1048576) {
2078 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2080 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2081 if (_ptr_attributes) {
2082 NDR_PULL_ALLOC(ndr, r->attributes);
2084 r->attributes = NULL;
2087 if (ndr_flags & NDR_BUFFERS) {
2088 if (r->attributes) {
2089 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2090 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2091 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2092 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2093 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2094 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2095 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2096 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2098 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2099 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2104 if (r->attributes) {
2105 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2108 return NDR_ERR_SUCCESS;
2111 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2113 uint32_t cntr_attributes_1;
2114 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2116 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2117 ndr_print_ptr(ndr, "attributes", r->attributes);
2119 if (r->attributes) {
2120 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2122 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2124 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2125 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2135 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2138 return NDR_ERR_SUCCESS;
2141 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2144 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2146 return NDR_ERR_SUCCESS;
2149 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2151 ndr_print_uint32(ndr, name, r);
2153 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2154 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2155 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2159 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2161 if (ndr_flags & NDR_SCALARS) {
2162 NDR_CHECK(ndr_push_align(ndr, 4));
2163 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2164 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2165 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2167 if (ndr_flags & NDR_BUFFERS) {
2168 if (r->identifier) {
2169 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2171 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2173 return NDR_ERR_SUCCESS;
2176 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2178 uint32_t _ptr_identifier;
2179 TALLOC_CTX *_mem_save_identifier_0;
2180 if (ndr_flags & NDR_SCALARS) {
2181 NDR_CHECK(ndr_pull_align(ndr, 4));
2182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2183 if (_ptr_identifier) {
2184 NDR_PULL_ALLOC(ndr, r->identifier);
2186 r->identifier = NULL;
2188 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2189 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2191 if (ndr_flags & NDR_BUFFERS) {
2192 if (r->identifier) {
2193 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2194 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2195 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2198 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2200 return NDR_ERR_SUCCESS;
2203 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2205 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2207 ndr_print_ptr(ndr, "identifier", r->identifier);
2209 if (r->identifier) {
2210 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2213 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2214 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2218 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2220 if (ndr_flags & NDR_SCALARS) {
2221 NDR_CHECK(ndr_push_align(ndr, 8));
2222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2223 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2224 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2225 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2227 if (ndr_flags & NDR_BUFFERS) {
2229 return NDR_ERR_SUCCESS;
2232 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2234 if (ndr_flags & NDR_SCALARS) {
2235 NDR_CHECK(ndr_pull_align(ndr, 8));
2236 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2237 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2238 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2239 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2241 if (ndr_flags & NDR_BUFFERS) {
2243 return NDR_ERR_SUCCESS;
2246 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2248 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2250 ndr_print_uint32(ndr, "version", r->version);
2251 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2252 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2253 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2257 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2259 uint32_t cntr_meta_data_0;
2260 if (ndr_flags & NDR_SCALARS) {
2261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2262 NDR_CHECK(ndr_push_align(ndr, 8));
2263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2264 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2265 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2268 if (ndr_flags & NDR_BUFFERS) {
2270 return NDR_ERR_SUCCESS;
2273 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2275 uint32_t cntr_meta_data_0;
2276 TALLOC_CTX *_mem_save_meta_data_0;
2277 if (ndr_flags & NDR_SCALARS) {
2278 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2279 NDR_CHECK(ndr_pull_align(ndr, 8));
2280 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2281 if (r->count < 0 || r->count > 1048576) {
2282 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2284 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2285 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2286 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2287 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2288 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2290 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2292 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2295 if (ndr_flags & NDR_BUFFERS) {
2297 return NDR_ERR_SUCCESS;
2300 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2302 uint32_t cntr_meta_data_0;
2303 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2305 ndr_print_uint32(ndr, "count", r->count);
2306 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2308 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2310 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2311 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2319 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2321 if (ndr_flags & NDR_SCALARS) {
2322 NDR_CHECK(ndr_push_align(ndr, 4));
2323 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2324 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2326 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2327 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2329 if (ndr_flags & NDR_BUFFERS) {
2330 if (r->next_object) {
2331 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2333 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2334 if (r->parent_object_guid) {
2335 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2337 if (r->meta_data_ctr) {
2338 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2341 return NDR_ERR_SUCCESS;
2344 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2346 uint32_t _ptr_next_object;
2347 TALLOC_CTX *_mem_save_next_object_0;
2348 uint32_t _ptr_parent_object_guid;
2349 TALLOC_CTX *_mem_save_parent_object_guid_0;
2350 uint32_t _ptr_meta_data_ctr;
2351 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2352 if (ndr_flags & NDR_SCALARS) {
2353 NDR_CHECK(ndr_pull_align(ndr, 4));
2354 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2355 if (_ptr_next_object) {
2356 NDR_PULL_ALLOC(ndr, r->next_object);
2358 r->next_object = NULL;
2360 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2362 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2363 if (_ptr_parent_object_guid) {
2364 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2366 r->parent_object_guid = NULL;
2368 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2369 if (_ptr_meta_data_ctr) {
2370 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2372 r->meta_data_ctr = NULL;
2375 if (ndr_flags & NDR_BUFFERS) {
2376 if (r->next_object) {
2377 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2378 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2379 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2382 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2383 if (r->parent_object_guid) {
2384 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2385 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2386 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2389 if (r->meta_data_ctr) {
2390 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2391 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2392 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2393 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2396 return NDR_ERR_SUCCESS;
2399 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2401 if (ndr_flags & NDR_SCALARS) {
2402 NDR_CHECK(ndr_push_align(ndr, 8));
2403 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2404 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2405 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2406 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2407 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2408 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2409 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2410 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->flags) + 55));
2413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2416 if (ndr_flags & NDR_BUFFERS) {
2417 if (r->naming_context) {
2418 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2420 if (r->uptodateness_vector) {
2421 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2423 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2424 if (r->first_object) {
2425 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2428 return NDR_ERR_SUCCESS;
2431 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2433 uint32_t _ptr_naming_context;
2434 TALLOC_CTX *_mem_save_naming_context_0;
2435 uint32_t _ptr_uptodateness_vector;
2436 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2437 uint32_t _ptr_first_object;
2438 TALLOC_CTX *_mem_save_first_object_0;
2439 if (ndr_flags & NDR_SCALARS) {
2440 NDR_CHECK(ndr_pull_align(ndr, 8));
2441 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2442 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2443 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2444 if (_ptr_naming_context) {
2445 NDR_PULL_ALLOC(ndr, r->naming_context);
2447 r->naming_context = NULL;
2449 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2450 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2451 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2452 if (_ptr_uptodateness_vector) {
2453 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2455 r->uptodateness_vector = NULL;
2457 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2458 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2459 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2460 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2461 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2462 if (_ptr_first_object) {
2463 NDR_PULL_ALLOC(ndr, r->first_object);
2465 r->first_object = NULL;
2467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2469 if (ndr_flags & NDR_BUFFERS) {
2470 if (r->naming_context) {
2471 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2472 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2473 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2474 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2476 if (r->uptodateness_vector) {
2477 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2478 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2479 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2482 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2483 if (r->first_object) {
2484 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2485 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2486 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2490 return NDR_ERR_SUCCESS;
2493 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2495 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2497 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2498 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2499 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2501 if (r->naming_context) {
2502 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2505 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2506 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2507 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2509 if (r->uptodateness_vector) {
2510 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2513 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2514 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2515 ndr_print_uint32(ndr, "object_count", r->object_count);
2516 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->flags) + 55:r->__ndr_size);
2517 ndr_print_ptr(ndr, "first_object", r->first_object);
2519 if (r->first_object) {
2520 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2523 ndr_print_uint32(ndr, "more_data", r->more_data);
2527 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, int flags)
2529 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1);
2532 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2535 return NDR_ERR_SUCCESS;
2538 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2541 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2543 return NDR_ERR_SUCCESS;
2546 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2548 ndr_print_uint32(ndr, name, r);
2550 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2554 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2556 if (ndr_flags & NDR_SCALARS) {
2557 NDR_CHECK(ndr_push_align(ndr, 8));
2558 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2559 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2560 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2561 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2562 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2563 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2565 if (ndr_flags & NDR_BUFFERS) {
2566 if (r->identifier) {
2567 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2569 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2571 return NDR_ERR_SUCCESS;
2574 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2576 uint32_t _ptr_identifier;
2577 TALLOC_CTX *_mem_save_identifier_0;
2578 if (ndr_flags & NDR_SCALARS) {
2579 NDR_CHECK(ndr_pull_align(ndr, 8));
2580 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2581 if (_ptr_identifier) {
2582 NDR_PULL_ALLOC(ndr, r->identifier);
2584 r->identifier = NULL;
2586 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2587 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2588 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2589 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2590 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2592 if (ndr_flags & NDR_BUFFERS) {
2593 if (r->identifier) {
2594 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2595 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2596 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2599 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2601 return NDR_ERR_SUCCESS;
2604 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2606 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2608 ndr_print_ptr(ndr, "identifier", r->identifier);
2610 if (r->identifier) {
2611 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2614 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2615 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2616 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2617 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2618 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2622 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2624 uint32_t cntr_linked_attributes_1;
2625 if (ndr_flags & NDR_SCALARS) {
2626 NDR_CHECK(ndr_push_align(ndr, 8));
2627 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2628 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2629 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2630 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2631 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2632 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2633 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2634 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->flags) + 55));
2637 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2638 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2640 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2641 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2642 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2643 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2645 if (ndr_flags & NDR_BUFFERS) {
2646 if (r->naming_context) {
2647 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2649 if (r->uptodateness_vector) {
2650 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2652 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2653 if (r->first_object) {
2654 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2656 if (r->linked_attributes) {
2657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2658 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2659 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2661 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2662 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2666 return NDR_ERR_SUCCESS;
2669 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2671 uint32_t _ptr_naming_context;
2672 TALLOC_CTX *_mem_save_naming_context_0;
2673 uint32_t _ptr_uptodateness_vector;
2674 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2675 uint32_t _ptr_first_object;
2676 TALLOC_CTX *_mem_save_first_object_0;
2677 uint32_t _ptr_linked_attributes;
2678 uint32_t cntr_linked_attributes_1;
2679 TALLOC_CTX *_mem_save_linked_attributes_0;
2680 TALLOC_CTX *_mem_save_linked_attributes_1;
2681 if (ndr_flags & NDR_SCALARS) {
2682 NDR_CHECK(ndr_pull_align(ndr, 8));
2683 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2684 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2685 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2686 if (_ptr_naming_context) {
2687 NDR_PULL_ALLOC(ndr, r->naming_context);
2689 r->naming_context = NULL;
2691 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2692 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2693 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2694 if (_ptr_uptodateness_vector) {
2695 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2697 r->uptodateness_vector = NULL;
2699 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2700 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2701 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2702 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2703 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2704 if (_ptr_first_object) {
2705 NDR_PULL_ALLOC(ndr, r->first_object);
2707 r->first_object = NULL;
2709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
2711 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
2712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
2713 if (r->linked_attributes_count < 0 || r->linked_attributes_count > 1048576) {
2714 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2716 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
2717 if (_ptr_linked_attributes) {
2718 NDR_PULL_ALLOC(ndr, r->linked_attributes);
2720 r->linked_attributes = NULL;
2722 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
2724 if (ndr_flags & NDR_BUFFERS) {
2725 if (r->naming_context) {
2726 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2727 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2728 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2729 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2731 if (r->uptodateness_vector) {
2732 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2733 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2734 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2735 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2737 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2738 if (r->first_object) {
2739 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2740 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2741 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2744 if (r->linked_attributes) {
2745 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2746 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
2747 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
2748 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
2749 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2750 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
2751 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2752 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2754 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
2758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
2760 if (r->linked_attributes) {
2761 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
2764 return NDR_ERR_SUCCESS;
2767 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
2769 uint32_t cntr_linked_attributes_1;
2770 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
2772 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2773 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2774 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2776 if (r->naming_context) {
2777 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2780 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2781 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2782 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2784 if (r->uptodateness_vector) {
2785 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2788 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2789 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2790 ndr_print_uint32(ndr, "object_count", r->object_count);
2791 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->flags) + 55:r->__ndr_size);
2792 ndr_print_ptr(ndr, "first_object", r->first_object);
2794 if (r->first_object) {
2795 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2798 ndr_print_uint32(ndr, "more_data", r->more_data);
2799 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
2800 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
2801 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
2802 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
2804 if (r->linked_attributes) {
2805 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
2807 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
2809 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
2810 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
2817 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
2821 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, int flags)
2823 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6);
2826 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
2828 if (ndr_flags & NDR_SCALARS) {
2829 NDR_CHECK(ndr_push_align(ndr, 4));
2830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->decompressed_length));
2831 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->compressed_length));
2832 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
2834 if (ndr_flags & NDR_BUFFERS) {
2837 struct ndr_push *_ndr_ctr1;
2838 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 4, r->compressed_length));
2840 struct ndr_push *_ndr_ctr1_compressed;
2841 NDR_CHECK(ndr_push_compression_start(_ndr_ctr1, &_ndr_ctr1_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2842 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
2843 NDR_CHECK(ndr_push_compression_end(_ndr_ctr1, _ndr_ctr1_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2845 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 4, r->compressed_length));
2849 return NDR_ERR_SUCCESS;
2852 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
2855 TALLOC_CTX *_mem_save_ctr1_0;
2856 if (ndr_flags & NDR_SCALARS) {
2857 NDR_CHECK(ndr_pull_align(ndr, 4));
2858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
2859 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
2860 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
2862 NDR_PULL_ALLOC(ndr, r->ctr1);
2867 if (ndr_flags & NDR_BUFFERS) {
2869 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
2870 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
2872 struct ndr_pull *_ndr_ctr1;
2873 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 4, r->compressed_length));
2875 struct ndr_pull *_ndr_ctr1_compressed;
2876 NDR_CHECK(ndr_pull_compression_start(_ndr_ctr1, &_ndr_ctr1_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2877 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
2878 NDR_CHECK(ndr_pull_compression_end(_ndr_ctr1, _ndr_ctr1_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2880 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 4, r->compressed_length));
2882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
2885 return NDR_ERR_SUCCESS;
2888 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
2890 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
2892 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
2893 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
2894 ndr_print_ptr(ndr, "ctr1", r->ctr1);
2897 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", r->ctr1);
2903 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
2905 if (ndr_flags & NDR_SCALARS) {
2906 NDR_CHECK(ndr_push_align(ndr, 4));
2907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->decompressed_length));
2908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->compressed_length));
2909 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr6));
2911 if (ndr_flags & NDR_BUFFERS) {
2914 struct ndr_push *_ndr_ctr6;
2915 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 4, r->compressed_length));
2917 struct ndr_push *_ndr_ctr6_compressed;
2918 NDR_CHECK(ndr_push_compression_start(_ndr_ctr6, &_ndr_ctr6_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2919 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr6));
2920 NDR_CHECK(ndr_push_compression_end(_ndr_ctr6, _ndr_ctr6_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2922 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 4, r->compressed_length));
2926 return NDR_ERR_SUCCESS;
2929 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
2932 TALLOC_CTX *_mem_save_ctr6_0;
2933 if (ndr_flags & NDR_SCALARS) {
2934 NDR_CHECK(ndr_pull_align(ndr, 4));
2935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
2936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
2937 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr6));
2939 NDR_PULL_ALLOC(ndr, r->ctr6);
2944 if (ndr_flags & NDR_BUFFERS) {
2946 _mem_save_ctr6_0 = NDR_PULL_GET_MEM_CTX(ndr);
2947 NDR_PULL_SET_MEM_CTX(ndr, r->ctr6, 0);
2949 struct ndr_pull *_ndr_ctr6;
2950 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 4, r->compressed_length));
2952 struct ndr_pull *_ndr_ctr6_compressed;
2953 NDR_CHECK(ndr_pull_compression_start(_ndr_ctr6, &_ndr_ctr6_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2954 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr6));
2955 NDR_CHECK(ndr_pull_compression_end(_ndr_ctr6, _ndr_ctr6_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2957 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 4, r->compressed_length));
2959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr6_0, 0);
2962 return NDR_ERR_SUCCESS;
2965 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
2967 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
2969 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
2970 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
2971 ndr_print_ptr(ndr, "ctr6", r->ctr6);
2974 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", r->ctr6);
2980 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
2982 if (ndr_flags & NDR_SCALARS) {
2983 NDR_CHECK(ndr_push_align(ndr, 4));
2984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->decompressed_length));
2985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->compressed_length));
2986 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
2988 if (ndr_flags & NDR_BUFFERS) {
2991 struct ndr_push *_ndr_ctr1;
2992 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 4, r->compressed_length));
2994 struct ndr_push *_ndr_ctr1_compressed;
2995 NDR_CHECK(ndr_push_compression_start(_ndr_ctr1, &_ndr_ctr1_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
2996 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
2997 NDR_CHECK(ndr_push_compression_end(_ndr_ctr1, _ndr_ctr1_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
2999 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 4, r->compressed_length));
3003 return NDR_ERR_SUCCESS;
3006 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3009 TALLOC_CTX *_mem_save_ctr1_0;
3010 if (ndr_flags & NDR_SCALARS) {
3011 NDR_CHECK(ndr_pull_align(ndr, 4));
3012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3014 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
3016 NDR_PULL_ALLOC(ndr, r->ctr1);
3021 if (ndr_flags & NDR_BUFFERS) {
3023 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
3024 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
3026 struct ndr_pull *_ndr_ctr1;
3027 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 4, r->compressed_length));
3029 struct ndr_pull *_ndr_ctr1_compressed;
3030 NDR_CHECK(ndr_pull_compression_start(_ndr_ctr1, &_ndr_ctr1_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3031 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
3032 NDR_CHECK(ndr_pull_compression_end(_ndr_ctr1, _ndr_ctr1_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3034 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 4, r->compressed_length));
3036 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
3039 return NDR_ERR_SUCCESS;
3042 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3044 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3046 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3047 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3048 ndr_print_ptr(ndr, "ctr1", r->ctr1);
3051 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", r->ctr1);
3057 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3059 if (ndr_flags & NDR_SCALARS) {
3060 NDR_CHECK(ndr_push_align(ndr, 4));
3061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->decompressed_length));
3062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->compressed_length));
3063 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr6));
3065 if (ndr_flags & NDR_BUFFERS) {
3068 struct ndr_push *_ndr_ctr6;
3069 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 4, r->compressed_length));
3071 struct ndr_push *_ndr_ctr6_compressed;
3072 NDR_CHECK(ndr_push_compression_start(_ndr_ctr6, &_ndr_ctr6_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3073 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr6));
3074 NDR_CHECK(ndr_push_compression_end(_ndr_ctr6, _ndr_ctr6_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3076 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 4, r->compressed_length));
3080 return NDR_ERR_SUCCESS;
3083 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3086 TALLOC_CTX *_mem_save_ctr6_0;
3087 if (ndr_flags & NDR_SCALARS) {
3088 NDR_CHECK(ndr_pull_align(ndr, 4));
3089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3090 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr6));
3093 NDR_PULL_ALLOC(ndr, r->ctr6);
3098 if (ndr_flags & NDR_BUFFERS) {
3100 _mem_save_ctr6_0 = NDR_PULL_GET_MEM_CTX(ndr);
3101 NDR_PULL_SET_MEM_CTX(ndr, r->ctr6, 0);
3103 struct ndr_pull *_ndr_ctr6;
3104 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 4, r->compressed_length));
3106 struct ndr_pull *_ndr_ctr6_compressed;
3107 NDR_CHECK(ndr_pull_compression_start(_ndr_ctr6, &_ndr_ctr6_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3108 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6_compressed, NDR_SCALARS|NDR_BUFFERS, r->ctr6));
3109 NDR_CHECK(ndr_pull_compression_end(_ndr_ctr6, _ndr_ctr6_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3111 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 4, r->compressed_length));
3113 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr6_0, 0);
3116 return NDR_ERR_SUCCESS;
3119 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3121 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3123 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3124 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3125 ndr_print_ptr(ndr, "ctr6", r->ctr6);
3128 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", r->ctr6);
3134 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3136 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3137 return NDR_ERR_SUCCESS;
3140 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3143 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3145 return NDR_ERR_SUCCESS;
3148 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3150 const char *val = NULL;
3153 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3154 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3156 ndr_print_enum(ndr, name, "ENUM", val, r);
3159 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3162 uint32_t _flags_save_UNION = ndr->flags;
3163 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3164 if (ndr_flags & NDR_SCALARS) {
3165 int level = ndr_push_get_switch_value(ndr, r);
3167 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3168 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3171 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3172 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3175 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3176 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3179 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3180 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3184 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3187 if (ndr_flags & NDR_BUFFERS) {
3188 int level = ndr_push_get_switch_value(ndr, r);
3190 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3191 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3194 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3195 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3198 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3199 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3202 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3203 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3207 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3210 ndr->flags = _flags_save_UNION;
3212 return NDR_ERR_SUCCESS;
3215 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3219 uint32_t _flags_save_UNION = ndr->flags;
3220 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3221 level = ndr_pull_get_switch_value(ndr, r);
3222 if (ndr_flags & NDR_SCALARS) {
3224 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3225 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3228 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3229 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3232 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3233 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3236 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3237 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3241 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3244 if (ndr_flags & NDR_BUFFERS) {
3246 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3247 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3250 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3251 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3254 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3255 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3258 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3259 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3263 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3266 ndr->flags = _flags_save_UNION;
3268 return NDR_ERR_SUCCESS;
3271 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3275 uint32_t _flags_save_UNION = ndr->flags;
3276 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3277 level = ndr_print_get_switch_value(ndr, r);
3278 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3280 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3281 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3284 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3285 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3288 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3289 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3292 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3293 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3297 ndr_print_bad_level(ndr, name, level);
3299 ndr->flags = _flags_save_UNION;
3303 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3305 if (ndr_flags & NDR_SCALARS) {
3306 NDR_CHECK(ndr_push_align(ndr, 4));
3307 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, 1 | (DRSUAPI_COMPRESSION_TYPE_MSZIP << 16)));
3308 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3310 if (ndr_flags & NDR_BUFFERS) {
3311 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3313 return NDR_ERR_SUCCESS;
3316 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3318 if (ndr_flags & NDR_SCALARS) {
3319 NDR_CHECK(ndr_pull_align(ndr, 4));
3320 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, 1 | (DRSUAPI_COMPRESSION_TYPE_MSZIP << 16)));
3321 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3323 if (ndr_flags & NDR_BUFFERS) {
3324 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3326 return NDR_ERR_SUCCESS;
3329 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3331 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3333 ndr_print_set_switch_value(ndr, &r->ctr, 1 | (DRSUAPI_COMPRESSION_TYPE_MSZIP << 16));
3334 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3338 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3340 if (ndr_flags & NDR_SCALARS) {
3341 NDR_CHECK(ndr_push_align(ndr, 4));
3342 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3343 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3344 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3345 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3347 if (ndr_flags & NDR_BUFFERS) {
3348 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3350 return NDR_ERR_SUCCESS;
3353 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3355 if (ndr_flags & NDR_SCALARS) {
3356 NDR_CHECK(ndr_pull_align(ndr, 4));
3357 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3358 if (r->level < 0 || r->level > 6) {
3359 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3361 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3362 if (r->type < 2 || r->type > 3) {
3363 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3365 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3366 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3368 if (ndr_flags & NDR_BUFFERS) {
3369 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3371 return NDR_ERR_SUCCESS;
3374 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3376 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3378 ndr_print_int32(ndr, "level", r->level);
3379 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3380 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3381 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3385 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3387 if (ndr_flags & NDR_SCALARS) {
3388 int level = ndr_push_get_switch_value(ndr, r);
3389 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3392 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3396 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3400 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3404 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3408 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3411 if (ndr_flags & NDR_BUFFERS) {
3412 int level = ndr_push_get_switch_value(ndr, r);
3415 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3419 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3423 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3427 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3431 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3434 return NDR_ERR_SUCCESS;
3437 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3441 level = ndr_pull_get_switch_value(ndr, r);
3442 if (ndr_flags & NDR_SCALARS) {
3443 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3444 if (_level != level) {
3445 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3449 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3453 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3457 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3461 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3465 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3468 if (ndr_flags & NDR_BUFFERS) {
3471 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3475 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3479 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3483 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3487 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3490 return NDR_ERR_SUCCESS;
3493 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3496 level = ndr_print_get_switch_value(ndr, r);
3497 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3500 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3504 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3508 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3512 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3516 ndr_print_bad_level(ndr, name, level);
3520 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3523 return NDR_ERR_SUCCESS;
3526 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3529 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3531 return NDR_ERR_SUCCESS;
3534 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3536 ndr_print_uint32(ndr, name, r);
3538 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3539 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3540 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3541 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3542 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_0x00000010", DRSUAPI_DS_REPLICA_UPDATE_0x00000010, r);
3546 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3548 if (ndr_flags & NDR_SCALARS) {
3549 NDR_CHECK(ndr_push_align(ndr, 4));
3550 if (r->naming_context == NULL) {
3551 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3553 NDR_CHECK(ndr_push_ref_ptr(ndr));
3554 if (r->dest_dsa_dns_name == NULL) {
3555 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3557 NDR_CHECK(ndr_push_ref_ptr(ndr));
3558 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3559 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3561 if (ndr_flags & NDR_BUFFERS) {
3562 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3566 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));
3568 return NDR_ERR_SUCCESS;
3571 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3573 uint32_t _ptr_naming_context;
3574 TALLOC_CTX *_mem_save_naming_context_0;
3575 uint32_t _ptr_dest_dsa_dns_name;
3576 if (ndr_flags & NDR_SCALARS) {
3577 NDR_CHECK(ndr_pull_align(ndr, 4));
3578 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3579 if (_ptr_naming_context) {
3580 NDR_PULL_ALLOC(ndr, r->naming_context);
3582 r->naming_context = NULL;
3584 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3585 if (_ptr_dest_dsa_dns_name) {
3586 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3588 r->dest_dsa_dns_name = NULL;
3590 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3591 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3593 if (ndr_flags & NDR_BUFFERS) {
3594 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3595 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3596 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3598 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3599 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3600 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3601 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));
3603 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3604 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));
3606 return NDR_ERR_SUCCESS;
3609 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3611 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3613 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3615 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3617 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3619 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3621 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3622 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3626 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3628 if (ndr_flags & NDR_SCALARS) {
3629 int level = ndr_push_get_switch_value(ndr, r);
3630 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3633 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3637 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3640 if (ndr_flags & NDR_BUFFERS) {
3641 int level = ndr_push_get_switch_value(ndr, r);
3644 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3648 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3651 return NDR_ERR_SUCCESS;
3654 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3658 level = ndr_pull_get_switch_value(ndr, r);
3659 if (ndr_flags & NDR_SCALARS) {
3660 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3661 if (_level != level) {
3662 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3666 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3670 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3673 if (ndr_flags & NDR_BUFFERS) {
3676 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3680 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3683 return NDR_ERR_SUCCESS;
3686 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3689 level = ndr_print_get_switch_value(ndr, r);
3690 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3693 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3697 ndr_print_bad_level(ndr, name, level);
3701 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3703 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3704 return NDR_ERR_SUCCESS;
3707 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3712 return NDR_ERR_SUCCESS;
3715 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3717 ndr_print_uint32(ndr, name, r);
3719 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
3720 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
3724 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3727 return NDR_ERR_SUCCESS;
3730 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3733 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3735 return NDR_ERR_SUCCESS;
3738 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3740 ndr_print_uint32(ndr, name, r);
3742 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION, r);
3743 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_DELETE_WRITEABLE", DRSUAPI_DS_REPLICA_DELETE_WRITEABLE, r);
3747 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3750 return NDR_ERR_SUCCESS;
3753 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3756 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3758 return NDR_ERR_SUCCESS;
3761 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3763 ndr_print_uint32(ndr, name, r);
3765 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION, r);
3766 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE", DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE, r);
3770 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
3772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3773 return NDR_ERR_SUCCESS;
3776 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
3779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3781 return NDR_ERR_SUCCESS;
3784 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
3786 const char *val = NULL;
3789 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
3790 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
3791 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
3792 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
3793 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
3794 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
3795 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
3797 ndr_print_enum(ndr, name, "ENUM", val, r);
3800 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
3802 uint32_t cntr_info_array_1;
3803 uint32_t cntr_group_attrs_1;
3804 uint32_t cntr_sids_1;
3805 if (ndr_flags & NDR_SCALARS) {
3806 NDR_CHECK(ndr_push_align(ndr, 4));
3807 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
3808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
3809 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
3810 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
3811 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
3812 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
3814 if (ndr_flags & NDR_BUFFERS) {
3815 if (r->info_array) {
3816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
3817 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
3818 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
3820 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
3821 if (r->info_array[cntr_info_array_1]) {
3822 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
3826 if (r->group_attrs) {
3827 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
3828 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
3829 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
3833 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
3834 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
3835 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
3837 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
3838 if (r->sids[cntr_sids_1]) {
3839 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
3844 return NDR_ERR_SUCCESS;
3847 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
3849 uint32_t _ptr_info_array;
3850 uint32_t cntr_info_array_1;
3851 TALLOC_CTX *_mem_save_info_array_0;
3852 TALLOC_CTX *_mem_save_info_array_1;
3853 TALLOC_CTX *_mem_save_info_array_2;
3854 uint32_t _ptr_group_attrs;
3855 uint32_t cntr_group_attrs_1;
3856 TALLOC_CTX *_mem_save_group_attrs_0;
3857 TALLOC_CTX *_mem_save_group_attrs_1;
3859 uint32_t cntr_sids_1;
3860 TALLOC_CTX *_mem_save_sids_0;
3861 TALLOC_CTX *_mem_save_sids_1;
3862 TALLOC_CTX *_mem_save_sids_2;
3863 if (ndr_flags & NDR_SCALARS) {
3864 NDR_CHECK(ndr_pull_align(ndr, 4));
3865 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
3866 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
3867 if (r->num_memberships < 0 || r->num_memberships > 10000) {
3868 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3870 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
3871 if (r->num_sids < 0 || r->num_sids > 10000) {
3872 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3874 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
3875 if (_ptr_info_array) {
3876 NDR_PULL_ALLOC(ndr, r->info_array);
3878 r->info_array = NULL;
3880 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
3881 if (_ptr_group_attrs) {
3882 NDR_PULL_ALLOC(ndr, r->group_attrs);
3884 r->group_attrs = NULL;
3886 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
3888 NDR_PULL_ALLOC(ndr, r->sids);
3893 if (ndr_flags & NDR_BUFFERS) {
3894 if (r->info_array) {
3895 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
3896 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
3897 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
3898 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
3899 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
3900 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
3901 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
3902 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
3903 if (_ptr_info_array) {
3904 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
3906 r->info_array[cntr_info_array_1] = NULL;
3909 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
3910 if (r->info_array[cntr_info_array_1]) {
3911 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
3912 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
3913 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
3914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
3917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
3918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
3920 if (r->group_attrs) {
3921 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
3922 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
3923 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
3924 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
3925 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
3926 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
3927 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
3928 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
3930 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
3931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
3934 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
3935 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
3936 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
3937 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
3938 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
3939 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
3940 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
3941 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
3943 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
3945 r->sids[cntr_sids_1] = NULL;
3948 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
3949 if (r->sids[cntr_sids_1]) {
3950 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
3951 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
3952 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
3953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
3956 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
3957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
3959 if (r->info_array) {
3960 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
3962 if (r->group_attrs) {
3963 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
3966 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
3969 return NDR_ERR_SUCCESS;
3972 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
3974 uint32_t cntr_info_array_1;
3975 uint32_t cntr_group_attrs_1;
3976 uint32_t cntr_sids_1;
3977 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
3979 ndr_print_NTSTATUS(ndr, "status", r->status);
3980 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
3981 ndr_print_uint32(ndr, "num_sids", r->num_sids);
3982 ndr_print_ptr(ndr, "info_array", r->info_array);
3984 if (r->info_array) {
3985 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
3987 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
3989 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
3990 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
3992 if (r->info_array[cntr_info_array_1]) {
3993 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4002 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4004 if (r->group_attrs) {
4005 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4007 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4009 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4010 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4017 ndr_print_ptr(ndr, "sids", r->sids);
4020 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4022 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4024 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4025 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4027 if (r->sids[cntr_sids_1]) {
4028 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4040 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4042 if (ndr_flags & NDR_SCALARS) {
4043 int level = ndr_push_get_switch_value(ndr, r);
4044 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4047 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4051 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4054 if (ndr_flags & NDR_BUFFERS) {
4055 int level = ndr_push_get_switch_value(ndr, r);
4058 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4062 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4065 return NDR_ERR_SUCCESS;
4068 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4072 level = ndr_pull_get_switch_value(ndr, r);
4073 if (ndr_flags & NDR_SCALARS) {
4074 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4075 if (_level != level) {
4076 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4080 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4084 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4087 if (ndr_flags & NDR_BUFFERS) {
4090 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4094 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4097 return NDR_ERR_SUCCESS;
4100 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
4103 level = ndr_print_get_switch_value(ndr, r);
4104 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
4107 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
4111 ndr_print_bad_level(ndr, name, level);
4115 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
4117 uint32_t cntr_info_array_1;
4118 if (ndr_flags & NDR_SCALARS) {
4119 NDR_CHECK(ndr_push_align(ndr, 4));
4120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4121 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4123 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
4124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4126 if (ndr_flags & NDR_BUFFERS) {
4127 if (r->info_array) {
4128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4129 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4130 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4132 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4133 if (r->info_array[cntr_info_array_1]) {
4134 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4139 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4142 return NDR_ERR_SUCCESS;
4145 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
4147 uint32_t _ptr_info_array;
4148 uint32_t cntr_info_array_1;
4149 TALLOC_CTX *_mem_save_info_array_0;
4150 TALLOC_CTX *_mem_save_info_array_1;
4151 TALLOC_CTX *_mem_save_info_array_2;
4152 uint32_t _ptr_domain;
4153 TALLOC_CTX *_mem_save_domain_0;
4154 if (ndr_flags & NDR_SCALARS) {
4155 NDR_CHECK(ndr_pull_align(ndr, 4));
4156 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4157 if (r->count < 1 || r->count > 10000) {
4158 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4160 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4161 if (_ptr_info_array) {
4162 NDR_PULL_ALLOC(ndr, r->info_array);
4164 r->info_array = NULL;
4166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4167 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
4168 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4170 NDR_PULL_ALLOC(ndr, r->domain);
4175 if (ndr_flags & NDR_BUFFERS) {
4176 if (r->info_array) {
4177 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4178 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4179 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4180 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4181 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4182 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4183 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4185 if (_ptr_info_array) {
4186 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4188 r->info_array[cntr_info_array_1] = NULL;
4191 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4192 if (r->info_array[cntr_info_array_1]) {
4193 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4194 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4195 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4199 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4203 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4204 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4205 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4208 if (r->info_array) {
4209 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
4212 return NDR_ERR_SUCCESS;
4215 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
4217 uint32_t cntr_info_array_1;
4218 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
4220 ndr_print_uint32(ndr, "count", r->count);
4221 ndr_print_ptr(ndr, "info_array", r->info_array);
4223 if (r->info_array) {
4224 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
4226 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
4228 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4229 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4231 if (r->info_array[cntr_info_array_1]) {
4232 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4241 ndr_print_uint32(ndr, "flags", r->flags);
4242 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
4243 ndr_print_ptr(ndr, "domain", r->domain);
4246 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
4252 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
4254 if (ndr_flags & NDR_SCALARS) {
4255 int level = ndr_push_get_switch_value(ndr, r);
4256 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4259 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
4263 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4266 if (ndr_flags & NDR_BUFFERS) {
4267 int level = ndr_push_get_switch_value(ndr, r);
4270 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
4274 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4277 return NDR_ERR_SUCCESS;
4280 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
4284 level = ndr_pull_get_switch_value(ndr, r);
4285 if (ndr_flags & NDR_SCALARS) {
4286 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4287 if (_level != level) {
4288 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4292 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
4296 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4299 if (ndr_flags & NDR_BUFFERS) {
4302 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
4306 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4309 return NDR_ERR_SUCCESS;
4312 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
4315 level = ndr_print_get_switch_value(ndr, r);
4316 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
4319 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
4323 ndr_print_bad_level(ndr, name, level);
4327 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
4329 if (ndr_flags & NDR_SCALARS) {
4330 NDR_CHECK(ndr_push_align(ndr, 4));
4331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
4332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4334 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
4336 if (ndr_flags & NDR_BUFFERS) {
4338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4339 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
4342 return NDR_ERR_SUCCESS;
4345 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
4348 TALLOC_CTX *_mem_save_data_0;
4349 if (ndr_flags & NDR_SCALARS) {
4350 NDR_CHECK(ndr_pull_align(ndr, 4));
4351 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
4352 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4353 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
4354 if (r->length < 0 || r->length > 0x00A00000) {
4355 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4357 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
4359 NDR_PULL_ALLOC(ndr, r->data);
4364 if (ndr_flags & NDR_BUFFERS) {
4366 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4367 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
4368 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
4369 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
4370 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
4371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
4374 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
4377 return NDR_ERR_SUCCESS;
4380 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
4382 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
4384 ndr_print_uint32(ndr, "unknown1", r->unknown1);
4385 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4386 ndr_print_uint32(ndr, "length", r->length);
4387 ndr_print_ptr(ndr, "data", r->data);
4390 ndr_print_array_uint8(ndr, "data", r->data, r->length);
4396 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
4398 if (ndr_flags & NDR_SCALARS) {
4399 int level = ndr_push_get_switch_value(ndr, r);
4400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4403 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
4407 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4410 if (ndr_flags & NDR_BUFFERS) {
4411 int level = ndr_push_get_switch_value(ndr, r);
4414 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
4418 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4421 return NDR_ERR_SUCCESS;
4424 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
4428 level = ndr_pull_get_switch_value(ndr, r);
4429 if (ndr_flags & NDR_SCALARS) {
4430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4431 if (_level != level) {
4432 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4436 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
4440 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4443 if (ndr_flags & NDR_BUFFERS) {
4446 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
4450 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4453 return NDR_ERR_SUCCESS;
4456 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
4459 level = ndr_print_get_switch_value(ndr, r);
4460 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
4463 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
4467 ndr_print_bad_level(ndr, name, level);
4471 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
4473 if (ndr_flags & NDR_SCALARS) {
4474 NDR_CHECK(ndr_push_align(ndr, 8));
4475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
4476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
4477 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
4478 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
4479 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
4480 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
4481 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
4482 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
4483 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4484 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
4485 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
4487 if (ndr_flags & NDR_BUFFERS) {
4489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
4490 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
4493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
4494 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
4497 return NDR_ERR_SUCCESS;
4500 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
4502 uint32_t _ptr_data1;
4503 TALLOC_CTX *_mem_save_data1_0;
4504 uint32_t _ptr_data2;
4505 TALLOC_CTX *_mem_save_data2_0;
4506 if (ndr_flags & NDR_SCALARS) {
4507 NDR_CHECK(ndr_pull_align(ndr, 8));
4508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
4509 if (r->length1 < 0 || r->length1 > 0x00A00000) {
4510 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4512 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
4513 if (r->length2 < 0 || r->length2 > 0x00A00000) {
4514 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4516 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
4517 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
4518 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
4519 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
4520 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
4521 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
4522 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4523 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
4525 NDR_PULL_ALLOC(ndr, r->data1);
4529 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
4531 NDR_PULL_ALLOC(ndr, r->data2);
4536 if (ndr_flags & NDR_BUFFERS) {
4538 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
4539 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
4540 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
4541 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
4542 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
4543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
4546 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
4547 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
4548 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
4549 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
4550 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
4551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
4554 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
4557 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
4560 return NDR_ERR_SUCCESS;
4563 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
4565 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
4567 ndr_print_uint32(ndr, "length1", r->length1);
4568 ndr_print_uint32(ndr, "length2", r->length2);
4569 ndr_print_hyper(ndr, "unknown1", r->unknown1);
4570 ndr_print_NTTIME(ndr, "time2", r->time2);
4571 ndr_print_hyper(ndr, "unknown3", r->unknown3);
4572 ndr_print_NTTIME(ndr, "time4", r->time4);
4573 ndr_print_hyper(ndr, "unknown5", r->unknown5);
4574 ndr_print_NTTIME(ndr, "time6", r->time6);
4575 ndr_print_NTSTATUS(ndr, "status", r->status);
4576 ndr_print_ptr(ndr, "data1", r->data1);
4579 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
4582 ndr_print_ptr(ndr, "data2", r->data2);
4585 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
4591 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
4593 if (ndr_flags & NDR_SCALARS) {
4594 int level = ndr_push_get_switch_value(ndr, r);
4595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4598 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
4602 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4605 if (ndr_flags & NDR_BUFFERS) {
4606 int level = ndr_push_get_switch_value(ndr, r);
4609 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
4613 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4616 return NDR_ERR_SUCCESS;
4619 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
4623 level = ndr_pull_get_switch_value(ndr, r);
4624 if (ndr_flags & NDR_SCALARS) {
4625 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4626 if (_level != level) {
4627 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4631 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
4635 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4638 if (ndr_flags & NDR_BUFFERS) {
4641 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
4645 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4648 return NDR_ERR_SUCCESS;
4651 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
4654 level = ndr_print_get_switch_value(ndr, r);
4655 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
4658 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
4662 ndr_print_bad_level(ndr, name, level);
4666 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
4668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4669 return NDR_ERR_SUCCESS;
4672 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
4675 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4677 return NDR_ERR_SUCCESS;
4680 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
4682 const char *val = NULL;
4685 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
4686 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
4687 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
4688 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
4689 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
4690 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
4691 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
4692 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
4694 ndr_print_enum(ndr, name, "ENUM", val, r);
4697 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
4699 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4700 return NDR_ERR_SUCCESS;
4703 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
4706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4708 return NDR_ERR_SUCCESS;
4711 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
4713 const char *val = NULL;
4716 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
4717 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
4718 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
4719 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
4720 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
4722 ndr_print_enum(ndr, name, "ENUM", val, r);
4725 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
4727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4728 return NDR_ERR_SUCCESS;
4731 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
4734 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4736 return NDR_ERR_SUCCESS;
4739 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
4741 const char *val = NULL;
4744 case DRSUAPI_DS_NAME_FORMAT_UKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UKNOWN"; break;
4745 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
4746 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
4747 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
4748 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
4749 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
4750 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
4751 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
4752 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
4753 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
4754 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
4756 ndr_print_enum(ndr, name, "ENUM", val, r);
4759 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
4761 if (ndr_flags & NDR_SCALARS) {
4762 NDR_CHECK(ndr_push_align(ndr, 4));
4763 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
4765 if (ndr_flags & NDR_BUFFERS) {
4767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
4768 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
4770 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4773 return NDR_ERR_SUCCESS;
4776 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
4779 TALLOC_CTX *_mem_save_str_0;
4780 if (ndr_flags & NDR_SCALARS) {
4781 NDR_CHECK(ndr_pull_align(ndr, 4));
4782 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
4784 NDR_PULL_ALLOC(ndr, r->str);
4789 if (ndr_flags & NDR_BUFFERS) {
4791 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
4792 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
4793 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
4794 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
4795 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
4796 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));
4798 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
4799 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
4800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
4803 return NDR_ERR_SUCCESS;
4806 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
4808 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
4810 ndr_print_ptr(ndr, "str", r->str);
4813 ndr_print_string(ndr, "str", r->str);
4819 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
4821 uint32_t cntr_names_1;
4822 if (ndr_flags & NDR_SCALARS) {
4823 NDR_CHECK(ndr_push_align(ndr, 4));
4824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
4825 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
4826 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
4827 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
4828 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
4829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4830 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
4832 if (ndr_flags & NDR_BUFFERS) {
4834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4835 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4836 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
4838 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4839 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
4843 return NDR_ERR_SUCCESS;
4846 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
4848 uint32_t _ptr_names;
4849 uint32_t cntr_names_1;
4850 TALLOC_CTX *_mem_save_names_0;
4851 TALLOC_CTX *_mem_save_names_1;
4852 if (ndr_flags & NDR_SCALARS) {
4853 NDR_CHECK(ndr_pull_align(ndr, 4));
4854 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
4855 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
4856 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
4857 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
4858 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
4859 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4860 if (r->count < 1 || r->count > 10000) {
4861 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4863 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
4865 NDR_PULL_ALLOC(ndr, r->names);
4870 if (ndr_flags & NDR_BUFFERS) {
4872 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4873 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
4874 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
4875 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
4876 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
4877 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
4878 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4879 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
4881 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4882 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
4884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
4885 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
4888 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
4891 return NDR_ERR_SUCCESS;
4894 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
4896 uint32_t cntr_names_1;
4897 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
4899 ndr_print_uint32(ndr, "codepage", r->codepage);
4900 ndr_print_uint32(ndr, "language", r->language);
4901 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
4902 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
4903 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
4904 ndr_print_uint32(ndr, "count", r->count);
4905 ndr_print_ptr(ndr, "names", r->names);
4908 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
4910 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
4912 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
4913 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
4923 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
4925 if (ndr_flags & NDR_SCALARS) {
4926 int level = ndr_push_get_switch_value(ndr, r);
4927 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4930 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
4934 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4937 if (ndr_flags & NDR_BUFFERS) {
4938 int level = ndr_push_get_switch_value(ndr, r);
4941 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
4945 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4948 return NDR_ERR_SUCCESS;
4951 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
4955 level = ndr_pull_get_switch_value(ndr, r);
4956 if (ndr_flags & NDR_SCALARS) {
4957 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4958 if (_level != level) {
4959 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4963 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
4967 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4970 if (ndr_flags & NDR_BUFFERS) {
4973 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
4977 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4980 return NDR_ERR_SUCCESS;
4983 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
4986 level = ndr_print_get_switch_value(ndr, r);
4987 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
4990 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
4994 ndr_print_bad_level(ndr, name, level);
4998 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5000 if (ndr_flags & NDR_SCALARS) {
5001 NDR_CHECK(ndr_push_align(ndr, 4));
5002 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5003 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5004 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5006 if (ndr_flags & NDR_BUFFERS) {
5007 if (r->dns_domain_name) {
5008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5009 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5011 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));
5013 if (r->result_name) {
5014 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5015 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5016 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5017 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5020 return NDR_ERR_SUCCESS;
5023 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5025 uint32_t _ptr_dns_domain_name;
5026 TALLOC_CTX *_mem_save_dns_domain_name_0;
5027 uint32_t _ptr_result_name;
5028 TALLOC_CTX *_mem_save_result_name_0;
5029 if (ndr_flags & NDR_SCALARS) {
5030 NDR_CHECK(ndr_pull_align(ndr, 4));
5031 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5032 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5033 if (_ptr_dns_domain_name) {
5034 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5036 r->dns_domain_name = NULL;
5038 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5039 if (_ptr_result_name) {
5040 NDR_PULL_ALLOC(ndr, r->result_name);
5042 r->result_name = NULL;
5045 if (ndr_flags & NDR_BUFFERS) {
5046 if (r->dns_domain_name) {
5047 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5048 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5049 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5050 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5051 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5052 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));
5054 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5055 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));
5056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5058 if (r->result_name) {
5059 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5060 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5061 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5062 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5063 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5064 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));
5066 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5067 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5071 return NDR_ERR_SUCCESS;
5074 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5076 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5078 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5079 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5081 if (r->dns_domain_name) {
5082 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5085 ndr_print_ptr(ndr, "result_name", r->result_name);
5087 if (r->result_name) {
5088 ndr_print_string(ndr, "result_name", r->result_name);
5094 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5096 uint32_t cntr_array_1;
5097 if (ndr_flags & NDR_SCALARS) {
5098 NDR_CHECK(ndr_push_align(ndr, 4));
5099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5100 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5102 if (ndr_flags & NDR_BUFFERS) {
5104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5105 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5106 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5108 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5109 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5113 return NDR_ERR_SUCCESS;
5116 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
5118 uint32_t _ptr_array;
5119 uint32_t cntr_array_1;
5120 TALLOC_CTX *_mem_save_array_0;
5121 TALLOC_CTX *_mem_save_array_1;
5122 if (ndr_flags & NDR_SCALARS) {
5123 NDR_CHECK(ndr_pull_align(ndr, 4));
5124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5125 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
5127 NDR_PULL_ALLOC(ndr, r->array);
5132 if (ndr_flags & NDR_BUFFERS) {
5134 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5135 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
5136 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
5137 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
5138 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5139 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
5140 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5141 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5143 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5144 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
5147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
5150 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
5153 return NDR_ERR_SUCCESS;
5156 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
5158 uint32_t cntr_array_1;
5159 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
5161 ndr_print_uint32(ndr, "count", r->count);
5162 ndr_print_ptr(ndr, "array", r->array);
5165 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
5167 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
5169 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
5170 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
5180 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
5182 if (ndr_flags & NDR_SCALARS) {
5183 int level = ndr_push_get_switch_value(ndr, r);
5184 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5187 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
5191 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5194 if (ndr_flags & NDR_BUFFERS) {
5195 int level = ndr_push_get_switch_value(ndr, r);
5199 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
5204 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5207 return NDR_ERR_SUCCESS;
5210 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
5214 TALLOC_CTX *_mem_save_ctr1_0;
5215 level = ndr_pull_get_switch_value(ndr, r);
5216 if (ndr_flags & NDR_SCALARS) {
5217 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5218 if (_level != level) {
5219 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5224 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
5226 NDR_PULL_ALLOC(ndr, r->ctr1);
5233 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5236 if (ndr_flags & NDR_BUFFERS) {
5240 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5241 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
5242 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
5243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
5248 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5251 return NDR_ERR_SUCCESS;
5254 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
5257 level = ndr_print_get_switch_value(ndr, r);
5258 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
5261 ndr_print_ptr(ndr, "ctr1", r->ctr1);
5264 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
5270 ndr_print_bad_level(ndr, name, level);
5274 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
5276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5277 return NDR_ERR_SUCCESS;
5280 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
5283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5285 return NDR_ERR_SUCCESS;
5288 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
5290 const char *val = NULL;
5293 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
5294 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
5295 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
5297 ndr_print_enum(ndr, name, "ENUM", val, r);
5300 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
5302 uint32_t cntr_spn_names_1;
5303 if (ndr_flags & NDR_SCALARS) {
5304 NDR_CHECK(ndr_push_align(ndr, 4));
5305 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
5306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5307 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
5308 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5309 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
5311 if (ndr_flags & NDR_BUFFERS) {
5313 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
5314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
5316 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5320 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
5321 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
5323 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
5324 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
5328 return NDR_ERR_SUCCESS;
5331 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
5333 uint32_t _ptr_object_dn;
5334 TALLOC_CTX *_mem_save_object_dn_0;
5335 uint32_t _ptr_spn_names;
5336 uint32_t cntr_spn_names_1;
5337 TALLOC_CTX *_mem_save_spn_names_0;
5338 TALLOC_CTX *_mem_save_spn_names_1;
5339 if (ndr_flags & NDR_SCALARS) {
5340 NDR_CHECK(ndr_pull_align(ndr, 4));
5341 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
5342 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5343 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
5344 if (_ptr_object_dn) {
5345 NDR_PULL_ALLOC(ndr, r->object_dn);
5347 r->object_dn = NULL;
5349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5350 if (r->count < 0 || r->count > 10000) {
5351 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5353 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
5354 if (_ptr_spn_names) {
5355 NDR_PULL_ALLOC(ndr, r->spn_names);
5357 r->spn_names = NULL;
5360 if (ndr_flags & NDR_BUFFERS) {
5362 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
5363 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
5364 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
5365 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
5366 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
5367 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));
5369 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
5370 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
5371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
5374 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5375 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
5376 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
5377 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
5378 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5379 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
5380 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
5381 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
5383 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
5384 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
5386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
5387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
5390 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
5393 return NDR_ERR_SUCCESS;
5396 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
5398 uint32_t cntr_spn_names_1;
5399 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
5401 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
5402 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5403 ndr_print_ptr(ndr, "object_dn", r->object_dn);
5406 ndr_print_string(ndr, "object_dn", r->object_dn);
5409 ndr_print_uint32(ndr, "count", r->count);
5410 ndr_print_ptr(ndr, "spn_names", r->spn_names);
5413 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
5415 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
5417 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
5418 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
5428 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
5430 if (ndr_flags & NDR_SCALARS) {
5431 int level = ndr_push_get_switch_value(ndr, r);
5432 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5435 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
5439 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5442 if (ndr_flags & NDR_BUFFERS) {
5443 int level = ndr_push_get_switch_value(ndr, r);
5446 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
5450 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5453 return NDR_ERR_SUCCESS;
5456 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
5460 level = ndr_pull_get_switch_value(ndr, r);
5461 if (ndr_flags & NDR_SCALARS) {
5462 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5463 if (_level != level) {
5464 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5468 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
5472 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5475 if (ndr_flags & NDR_BUFFERS) {
5478 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
5482 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5485 return NDR_ERR_SUCCESS;
5488 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
5491 level = ndr_print_get_switch_value(ndr, r);
5492 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
5495 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
5499 ndr_print_bad_level(ndr, name, level);
5503 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
5505 if (ndr_flags & NDR_SCALARS) {
5506 NDR_CHECK(ndr_push_align(ndr, 4));
5507 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
5509 if (ndr_flags & NDR_BUFFERS) {
5511 return NDR_ERR_SUCCESS;
5514 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
5516 if (ndr_flags & NDR_SCALARS) {
5517 NDR_CHECK(ndr_pull_align(ndr, 4));
5518 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
5520 if (ndr_flags & NDR_BUFFERS) {
5522 return NDR_ERR_SUCCESS;
5525 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
5527 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
5529 ndr_print_WERROR(ndr, "status", r->status);
5533 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
5535 if (ndr_flags & NDR_SCALARS) {
5536 int level = ndr_push_get_switch_value(ndr, r);
5537 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5540 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
5544 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5547 if (ndr_flags & NDR_BUFFERS) {
5548 int level = ndr_push_get_switch_value(ndr, r);
5554 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5557 return NDR_ERR_SUCCESS;
5560 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
5564 level = ndr_pull_get_switch_value(ndr, r);
5565 if (ndr_flags & NDR_SCALARS) {
5566 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5567 if (_level != level) {
5568 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5572 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
5576 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5579 if (ndr_flags & NDR_BUFFERS) {
5585 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5588 return NDR_ERR_SUCCESS;
5591 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
5594 level = ndr_print_get_switch_value(ndr, r);
5595 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
5598 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
5602 ndr_print_bad_level(ndr, name, level);
5606 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
5608 if (ndr_flags & NDR_SCALARS) {
5609 NDR_CHECK(ndr_push_align(ndr, 4));
5610 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
5611 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
5612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
5614 if (ndr_flags & NDR_BUFFERS) {
5616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
5617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
5619 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
5623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
5625 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5628 return NDR_ERR_SUCCESS;
5631 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
5633 uint32_t _ptr_server_dn;
5634 TALLOC_CTX *_mem_save_server_dn_0;
5635 uint32_t _ptr_domain_dn;
5636 TALLOC_CTX *_mem_save_domain_dn_0;
5637 if (ndr_flags & NDR_SCALARS) {
5638 NDR_CHECK(ndr_pull_align(ndr, 4));
5639 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
5640 if (_ptr_server_dn) {
5641 NDR_PULL_ALLOC(ndr, r->server_dn);
5643 r->server_dn = NULL;
5645 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
5646 if (_ptr_domain_dn) {
5647 NDR_PULL_ALLOC(ndr, r->domain_dn);
5649 r->domain_dn = NULL;
5651 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
5653 if (ndr_flags & NDR_BUFFERS) {
5655 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
5656 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
5657 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
5658 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
5659 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
5660 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));
5662 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
5663 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
5664 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
5667 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
5668 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
5669 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
5670 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
5671 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
5672 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));
5674 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
5675 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
5676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
5679 return NDR_ERR_SUCCESS;
5682 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
5684 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
5686 ndr_print_ptr(ndr, "server_dn", r->server_dn);
5689 ndr_print_string(ndr, "server_dn", r->server_dn);
5692 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
5695 ndr_print_string(ndr, "domain_dn", r->domain_dn);
5698 ndr_print_uint32(ndr, "unknown", r->unknown);
5702 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
5704 if (ndr_flags & NDR_SCALARS) {
5705 int level = ndr_push_get_switch_value(ndr, r);
5706 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5709 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
5713 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5716 if (ndr_flags & NDR_BUFFERS) {
5717 int level = ndr_push_get_switch_value(ndr, r);
5720 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
5724 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5727 return NDR_ERR_SUCCESS;
5730 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
5734 level = ndr_pull_get_switch_value(ndr, r);
5735 if (ndr_flags & NDR_SCALARS) {
5736 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5737 if (_level != level) {
5738 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5742 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
5746 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5749 if (ndr_flags & NDR_BUFFERS) {
5752 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
5756 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5759 return NDR_ERR_SUCCESS;
5762 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
5765 level = ndr_print_get_switch_value(ndr, r);
5766 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
5769 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
5773 ndr_print_bad_level(ndr, name, level);
5777 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
5779 if (ndr_flags & NDR_SCALARS) {
5780 NDR_CHECK(ndr_push_align(ndr, 4));
5781 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
5783 if (ndr_flags & NDR_BUFFERS) {
5785 return NDR_ERR_SUCCESS;
5788 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
5790 if (ndr_flags & NDR_SCALARS) {
5791 NDR_CHECK(ndr_pull_align(ndr, 4));
5792 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
5794 if (ndr_flags & NDR_BUFFERS) {
5796 return NDR_ERR_SUCCESS;
5799 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
5801 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
5803 ndr_print_WERROR(ndr, "status", r->status);
5807 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
5809 if (ndr_flags & NDR_SCALARS) {
5810 int level = ndr_push_get_switch_value(ndr, r);
5811 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5814 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
5818 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5821 if (ndr_flags & NDR_BUFFERS) {
5822 int level = ndr_push_get_switch_value(ndr, r);
5828 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5831 return NDR_ERR_SUCCESS;
5834 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
5838 level = ndr_pull_get_switch_value(ndr, r);
5839 if (ndr_flags & NDR_SCALARS) {
5840 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5841 if (_level != level) {
5842 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5846 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
5850 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5853 if (ndr_flags & NDR_BUFFERS) {
5859 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5862 return NDR_ERR_SUCCESS;
5865 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
5868 level = ndr_print_get_switch_value(ndr, r);
5869 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
5872 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
5876 ndr_print_bad_level(ndr, name, level);
5880 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
5882 if (ndr_flags & NDR_SCALARS) {
5883 NDR_CHECK(ndr_push_align(ndr, 4));
5884 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
5885 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
5887 if (ndr_flags & NDR_BUFFERS) {
5888 if (r->domain_name) {
5889 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
5890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
5892 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5895 return NDR_ERR_SUCCESS;
5898 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
5900 uint32_t _ptr_domain_name;
5901 TALLOC_CTX *_mem_save_domain_name_0;
5902 if (ndr_flags & NDR_SCALARS) {
5903 NDR_CHECK(ndr_pull_align(ndr, 4));
5904 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
5905 if (_ptr_domain_name) {
5906 NDR_PULL_ALLOC(ndr, r->domain_name);
5908 r->domain_name = NULL;
5910 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
5912 if (ndr_flags & NDR_BUFFERS) {
5913 if (r->domain_name) {
5914 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5915 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
5916 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
5917 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
5918 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
5919 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));
5921 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
5922 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
5923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
5926 return NDR_ERR_SUCCESS;
5929 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
5931 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
5933 ndr_print_ptr(ndr, "domain_name", r->domain_name);
5935 if (r->domain_name) {
5936 ndr_print_string(ndr, "domain_name", r->domain_name);
5939 ndr_print_int32(ndr, "level", r->level);
5943 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
5945 if (ndr_flags & NDR_SCALARS) {
5946 int level = ndr_push_get_switch_value(ndr, r);
5947 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5950 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
5954 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5957 if (ndr_flags & NDR_BUFFERS) {
5958 int level = ndr_push_get_switch_value(ndr, r);
5961 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
5965 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5968 return NDR_ERR_SUCCESS;
5971 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
5975 level = ndr_pull_get_switch_value(ndr, r);
5976 if (ndr_flags & NDR_SCALARS) {
5977 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5978 if (_level != level) {
5979 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5983 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
5987 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5990 if (ndr_flags & NDR_BUFFERS) {
5993 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
5997 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6000 return NDR_ERR_SUCCESS;
6003 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6006 level = ndr_print_get_switch_value(ndr, r);
6007 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6010 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6014 ndr_print_bad_level(ndr, name, level);
6018 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6020 if (ndr_flags & NDR_SCALARS) {
6021 NDR_CHECK(ndr_push_align(ndr, 4));
6022 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6023 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6024 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6025 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6026 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6027 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6030 if (ndr_flags & NDR_BUFFERS) {
6031 if (r->netbios_name) {
6032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6033 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6035 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6039 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6041 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6046 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6047 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6049 if (r->computer_dn) {
6050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6053 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6059 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6062 return NDR_ERR_SUCCESS;
6065 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6067 uint32_t _ptr_netbios_name;
6068 TALLOC_CTX *_mem_save_netbios_name_0;
6069 uint32_t _ptr_dns_name;
6070 TALLOC_CTX *_mem_save_dns_name_0;
6071 uint32_t _ptr_site_name;
6072 TALLOC_CTX *_mem_save_site_name_0;
6073 uint32_t _ptr_computer_dn;
6074 TALLOC_CTX *_mem_save_computer_dn_0;
6075 uint32_t _ptr_server_dn;
6076 TALLOC_CTX *_mem_save_server_dn_0;
6077 if (ndr_flags & NDR_SCALARS) {
6078 NDR_CHECK(ndr_pull_align(ndr, 4));
6079 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6080 if (_ptr_netbios_name) {
6081 NDR_PULL_ALLOC(ndr, r->netbios_name);
6083 r->netbios_name = NULL;
6085 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6086 if (_ptr_dns_name) {
6087 NDR_PULL_ALLOC(ndr, r->dns_name);
6091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6092 if (_ptr_site_name) {
6093 NDR_PULL_ALLOC(ndr, r->site_name);
6095 r->site_name = NULL;
6097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6098 if (_ptr_computer_dn) {
6099 NDR_PULL_ALLOC(ndr, r->computer_dn);
6101 r->computer_dn = NULL;
6103 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6104 if (_ptr_server_dn) {
6105 NDR_PULL_ALLOC(ndr, r->server_dn);
6107 r->server_dn = NULL;
6109 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
6110 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
6112 if (ndr_flags & NDR_BUFFERS) {
6113 if (r->netbios_name) {
6114 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6115 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
6116 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
6117 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
6118 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
6119 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));
6121 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
6122 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
6123 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
6126 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6127 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
6128 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
6129 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
6130 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
6131 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));
6133 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
6134 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
6135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
6138 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6139 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
6140 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
6141 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
6142 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
6143 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));
6145 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
6146 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
6147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
6149 if (r->computer_dn) {
6150 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6151 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
6152 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
6153 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
6154 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
6155 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));
6157 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
6158 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
6159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
6162 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6163 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6164 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6165 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6166 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6167 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));
6169 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6170 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6174 return NDR_ERR_SUCCESS;
6177 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
6179 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
6181 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
6183 if (r->netbios_name) {
6184 ndr_print_string(ndr, "netbios_name", r->netbios_name);
6187 ndr_print_ptr(ndr, "dns_name", r->dns_name);
6190 ndr_print_string(ndr, "dns_name", r->dns_name);
6193 ndr_print_ptr(ndr, "site_name", r->site_name);
6196 ndr_print_string(ndr, "site_name", r->site_name);
6199 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
6201 if (r->computer_dn) {
6202 ndr_print_string(ndr, "computer_dn", r->computer_dn);
6205 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6208 ndr_print_string(ndr, "server_dn", r->server_dn);
6211 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
6212 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
6216 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
6218 uint32_t cntr_array_1;
6219 if (ndr_flags & NDR_SCALARS) {
6220 NDR_CHECK(ndr_push_align(ndr, 4));
6221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6222 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6224 if (ndr_flags & NDR_BUFFERS) {
6226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6227 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6228 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6230 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6231 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6235 return NDR_ERR_SUCCESS;
6238 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
6240 uint32_t _ptr_array;
6241 uint32_t cntr_array_1;
6242 TALLOC_CTX *_mem_save_array_0;
6243 TALLOC_CTX *_mem_save_array_1;
6244 if (ndr_flags & NDR_SCALARS) {
6245 NDR_CHECK(ndr_pull_align(ndr, 4));
6246 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6247 if (r->count < 0 || r->count > 10000) {
6248 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6250 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6252 NDR_PULL_ALLOC(ndr, r->array);
6257 if (ndr_flags & NDR_BUFFERS) {
6259 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6260 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6261 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6262 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6263 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6264 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6265 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6266 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6268 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6269 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6271 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6275 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6278 return NDR_ERR_SUCCESS;
6281 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
6283 uint32_t cntr_array_1;
6284 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
6286 ndr_print_uint32(ndr, "count", r->count);
6287 ndr_print_ptr(ndr, "array", r->array);
6290 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6292 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6294 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6295 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
6305 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
6307 if (ndr_flags & NDR_SCALARS) {
6308 NDR_CHECK(ndr_push_align(ndr, 4));
6309 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6310 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6311 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6312 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
6313 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6314 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6315 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
6316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
6319 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
6320 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6321 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
6322 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6324 if (ndr_flags & NDR_BUFFERS) {
6325 if (r->netbios_name) {
6326 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6327 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6328 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6329 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6335 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6339 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6340 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6341 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6347 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6349 if (r->computer_dn) {
6350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6352 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6353 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6359 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6365 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6368 return NDR_ERR_SUCCESS;
6371 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
6373 uint32_t _ptr_netbios_name;
6374 TALLOC_CTX *_mem_save_netbios_name_0;
6375 uint32_t _ptr_dns_name;
6376 TALLOC_CTX *_mem_save_dns_name_0;
6377 uint32_t _ptr_site_name;
6378 TALLOC_CTX *_mem_save_site_name_0;
6379 uint32_t _ptr_site_dn;
6380 TALLOC_CTX *_mem_save_site_dn_0;
6381 uint32_t _ptr_computer_dn;
6382 TALLOC_CTX *_mem_save_computer_dn_0;
6383 uint32_t _ptr_server_dn;
6384 TALLOC_CTX *_mem_save_server_dn_0;
6385 uint32_t _ptr_ntds_dn;
6386 TALLOC_CTX *_mem_save_ntds_dn_0;
6387 if (ndr_flags & NDR_SCALARS) {
6388 NDR_CHECK(ndr_pull_align(ndr, 4));
6389 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6390 if (_ptr_netbios_name) {
6391 NDR_PULL_ALLOC(ndr, r->netbios_name);
6393 r->netbios_name = NULL;
6395 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6396 if (_ptr_dns_name) {
6397 NDR_PULL_ALLOC(ndr, r->dns_name);
6401 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6402 if (_ptr_site_name) {
6403 NDR_PULL_ALLOC(ndr, r->site_name);
6405 r->site_name = NULL;
6407 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
6409 NDR_PULL_ALLOC(ndr, r->site_dn);
6413 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6414 if (_ptr_computer_dn) {
6415 NDR_PULL_ALLOC(ndr, r->computer_dn);
6417 r->computer_dn = NULL;
6419 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6420 if (_ptr_server_dn) {
6421 NDR_PULL_ALLOC(ndr, r->server_dn);
6423 r->server_dn = NULL;
6425 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
6427 NDR_PULL_ALLOC(ndr, r->ntds_dn);
6431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
6432 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
6433 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
6434 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
6435 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6436 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
6437 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6439 if (ndr_flags & NDR_BUFFERS) {
6440 if (r->netbios_name) {
6441 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6442 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
6443 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
6444 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
6445 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
6446 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));
6448 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
6449 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
6450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
6453 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6454 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
6455 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
6456 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
6457 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
6458 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));
6460 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
6461 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
6462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
6465 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6466 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
6467 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
6468 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
6469 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
6470 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));
6472 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
6473 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
6474 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
6477 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6478 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
6479 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
6480 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
6481 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
6482 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));
6484 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
6485 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
6486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
6488 if (r->computer_dn) {
6489 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6490 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
6491 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
6492 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
6493 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
6494 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));
6496 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
6497 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
6498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
6501 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6502 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6503 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6504 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6505 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6506 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));
6508 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6509 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6513 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6514 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
6515 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
6516 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
6517 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
6518 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));
6520 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
6521 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
6522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
6525 return NDR_ERR_SUCCESS;
6528 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
6530 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
6532 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
6534 if (r->netbios_name) {
6535 ndr_print_string(ndr, "netbios_name", r->netbios_name);
6538 ndr_print_ptr(ndr, "dns_name", r->dns_name);
6541 ndr_print_string(ndr, "dns_name", r->dns_name);
6544 ndr_print_ptr(ndr, "site_name", r->site_name);
6547 ndr_print_string(ndr, "site_name", r->site_name);
6550 ndr_print_ptr(ndr, "site_dn", r->site_dn);
6553 ndr_print_string(ndr, "site_dn", r->site_dn);
6556 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
6558 if (r->computer_dn) {
6559 ndr_print_string(ndr, "computer_dn", r->computer_dn);
6562 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6565 ndr_print_string(ndr, "server_dn", r->server_dn);
6568 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
6571 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
6574 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
6575 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
6576 ndr_print_uint32(ndr, "is_gc", r->is_gc);
6577 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
6578 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
6579 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
6580 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
6584 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
6586 uint32_t cntr_array_1;
6587 if (ndr_flags & NDR_SCALARS) {
6588 NDR_CHECK(ndr_push_align(ndr, 4));
6589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6590 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6592 if (ndr_flags & NDR_BUFFERS) {
6594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6595 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6596 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6598 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6599 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6603 return NDR_ERR_SUCCESS;
6606 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
6608 uint32_t _ptr_array;
6609 uint32_t cntr_array_1;
6610 TALLOC_CTX *_mem_save_array_0;
6611 TALLOC_CTX *_mem_save_array_1;
6612 if (ndr_flags & NDR_SCALARS) {
6613 NDR_CHECK(ndr_pull_align(ndr, 4));
6614 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6615 if (r->count < 0 || r->count > 10000) {
6616 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6618 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6620 NDR_PULL_ALLOC(ndr, r->array);
6625 if (ndr_flags & NDR_BUFFERS) {
6627 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6628 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6629 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6630 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6631 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6632 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6633 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6634 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6636 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6637 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6643 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6646 return NDR_ERR_SUCCESS;
6649 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
6651 uint32_t cntr_array_1;
6652 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
6654 ndr_print_uint32(ndr, "count", r->count);
6655 ndr_print_ptr(ndr, "array", r->array);
6658 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6660 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6662 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6663 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
6673 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
6675 if (ndr_flags & NDR_SCALARS) {
6676 NDR_CHECK(ndr_push_align(ndr, 4));
6677 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6678 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6679 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6680 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
6681 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6682 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6683 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
6684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
6687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
6688 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
6689 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6690 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
6691 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6693 if (ndr_flags & NDR_BUFFERS) {
6694 if (r->netbios_name) {
6695 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6696 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6698 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6701 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6702 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6703 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6704 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6707 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6710 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6715 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6716 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6718 if (r->computer_dn) {
6719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6722 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6728 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6734 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6737 return NDR_ERR_SUCCESS;
6740 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
6742 uint32_t _ptr_netbios_name;
6743 TALLOC_CTX *_mem_save_netbios_name_0;
6744 uint32_t _ptr_dns_name;
6745 TALLOC_CTX *_mem_save_dns_name_0;
6746 uint32_t _ptr_site_name;
6747 TALLOC_CTX *_mem_save_site_name_0;
6748 uint32_t _ptr_site_dn;
6749 TALLOC_CTX *_mem_save_site_dn_0;
6750 uint32_t _ptr_computer_dn;
6751 TALLOC_CTX *_mem_save_computer_dn_0;
6752 uint32_t _ptr_server_dn;
6753 TALLOC_CTX *_mem_save_server_dn_0;
6754 uint32_t _ptr_ntds_dn;
6755 TALLOC_CTX *_mem_save_ntds_dn_0;
6756 if (ndr_flags & NDR_SCALARS) {
6757 NDR_CHECK(ndr_pull_align(ndr, 4));
6758 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6759 if (_ptr_netbios_name) {
6760 NDR_PULL_ALLOC(ndr, r->netbios_name);
6762 r->netbios_name = NULL;
6764 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6765 if (_ptr_dns_name) {
6766 NDR_PULL_ALLOC(ndr, r->dns_name);
6770 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6771 if (_ptr_site_name) {
6772 NDR_PULL_ALLOC(ndr, r->site_name);
6774 r->site_name = NULL;
6776 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
6778 NDR_PULL_ALLOC(ndr, r->site_dn);
6782 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6783 if (_ptr_computer_dn) {
6784 NDR_PULL_ALLOC(ndr, r->computer_dn);
6786 r->computer_dn = NULL;
6788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6789 if (_ptr_server_dn) {
6790 NDR_PULL_ALLOC(ndr, r->server_dn);
6792 r->server_dn = NULL;
6794 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
6796 NDR_PULL_ALLOC(ndr, r->ntds_dn);
6800 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
6801 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
6802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
6803 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
6804 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
6805 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6806 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
6807 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6809 if (ndr_flags & NDR_BUFFERS) {
6810 if (r->netbios_name) {
6811 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6812 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
6813 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
6814 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
6815 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
6816 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));
6818 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
6819 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
6820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
6823 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6824 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
6825 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
6826 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
6827 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
6828 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));
6830 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
6831 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
6832 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
6835 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6836 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
6837 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
6838 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
6839 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
6840 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));
6842 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
6843 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
6844 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
6847 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6848 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
6849 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
6850 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
6851 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
6852 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));
6854 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
6855 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
6856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
6858 if (r->computer_dn) {
6859 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6860 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
6861 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
6862 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
6863 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
6864 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));
6866 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
6867 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
6868 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
6871 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6872 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6873 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6874 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6875 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6876 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));
6878 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6879 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6880 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6883 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6884 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
6885 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
6886 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
6887 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
6888 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));
6890 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
6891 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
6892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
6895 return NDR_ERR_SUCCESS;
6898 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
6900 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
6902 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
6904 if (r->netbios_name) {
6905 ndr_print_string(ndr, "netbios_name", r->netbios_name);
6908 ndr_print_ptr(ndr, "dns_name", r->dns_name);
6911 ndr_print_string(ndr, "dns_name", r->dns_name);
6914 ndr_print_ptr(ndr, "site_name", r->site_name);
6917 ndr_print_string(ndr, "site_name", r->site_name);
6920 ndr_print_ptr(ndr, "site_dn", r->site_dn);
6923 ndr_print_string(ndr, "site_dn", r->site_dn);
6926 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
6928 if (r->computer_dn) {
6929 ndr_print_string(ndr, "computer_dn", r->computer_dn);
6932 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6935 ndr_print_string(ndr, "server_dn", r->server_dn);
6938 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
6941 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
6944 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
6945 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
6946 ndr_print_uint32(ndr, "is_gc", r->is_gc);
6947 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
6948 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
6949 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
6950 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
6951 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
6955 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
6957 uint32_t cntr_array_1;
6958 if (ndr_flags & NDR_SCALARS) {
6959 NDR_CHECK(ndr_push_align(ndr, 4));
6960 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6961 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6963 if (ndr_flags & NDR_BUFFERS) {
6965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6966 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6967 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6969 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6970 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6974 return NDR_ERR_SUCCESS;
6977 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
6979 uint32_t _ptr_array;
6980 uint32_t cntr_array_1;
6981 TALLOC_CTX *_mem_save_array_0;
6982 TALLOC_CTX *_mem_save_array_1;
6983 if (ndr_flags & NDR_SCALARS) {
6984 NDR_CHECK(ndr_pull_align(ndr, 4));
6985 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6986 if (r->count < 0 || r->count > 10000) {
6987 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6989 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6991 NDR_PULL_ALLOC(ndr, r->array);
6996 if (ndr_flags & NDR_BUFFERS) {
6998 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6999 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7000 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7001 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7002 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7003 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7004 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7005 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7007 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7008 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7011 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7014 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7017 return NDR_ERR_SUCCESS;
7020 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7022 uint32_t cntr_array_1;
7023 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7025 ndr_print_uint32(ndr, "count", r->count);
7026 ndr_print_ptr(ndr, "array", r->array);
7029 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7031 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7033 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7034 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7044 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7046 if (ndr_flags & NDR_SCALARS) {
7047 NDR_CHECK(ndr_push_align(ndr, 4));
7049 uint32_t _flags_save_ipv4address = ndr->flags;
7050 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7051 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7052 ndr->flags = _flags_save_ipv4address;
7054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7059 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7061 if (ndr_flags & NDR_BUFFERS) {
7062 if (r->client_account) {
7063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7065 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7066 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7069 return NDR_ERR_SUCCESS;
7072 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
7074 uint32_t _ptr_client_account;
7075 TALLOC_CTX *_mem_save_client_account_0;
7076 if (ndr_flags & NDR_SCALARS) {
7077 NDR_CHECK(ndr_pull_align(ndr, 4));
7079 uint32_t _flags_save_ipv4address = ndr->flags;
7080 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7081 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
7082 ndr->flags = _flags_save_ipv4address;
7084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
7086 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
7087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
7088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
7089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
7090 if (_ptr_client_account) {
7091 NDR_PULL_ALLOC(ndr, r->client_account);
7093 r->client_account = NULL;
7096 if (ndr_flags & NDR_BUFFERS) {
7097 if (r->client_account) {
7098 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
7099 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
7100 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
7101 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
7102 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
7103 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));
7105 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
7106 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
7107 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
7110 return NDR_ERR_SUCCESS;
7113 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
7115 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
7117 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
7118 ndr_print_uint32(ndr, "unknown2", r->unknown2);
7119 ndr_print_uint32(ndr, "connection_time", r->connection_time);
7120 ndr_print_uint32(ndr, "unknown4", r->unknown4);
7121 ndr_print_uint32(ndr, "unknown5", r->unknown5);
7122 ndr_print_uint32(ndr, "unknown6", r->unknown6);
7123 ndr_print_ptr(ndr, "client_account", r->client_account);
7125 if (r->client_account) {
7126 ndr_print_string(ndr, "client_account", r->client_account);
7132 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
7134 uint32_t cntr_array_1;
7135 if (ndr_flags & NDR_SCALARS) {
7136 NDR_CHECK(ndr_push_align(ndr, 4));
7137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7138 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7140 if (ndr_flags & NDR_BUFFERS) {
7142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7143 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7144 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7146 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7147 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7151 return NDR_ERR_SUCCESS;
7154 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
7156 uint32_t _ptr_array;
7157 uint32_t cntr_array_1;
7158 TALLOC_CTX *_mem_save_array_0;
7159 TALLOC_CTX *_mem_save_array_1;
7160 if (ndr_flags & NDR_SCALARS) {
7161 NDR_CHECK(ndr_pull_align(ndr, 4));
7162 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7163 if (r->count < 0 || r->count > 10000) {
7164 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7168 NDR_PULL_ALLOC(ndr, r->array);
7173 if (ndr_flags & NDR_BUFFERS) {
7175 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7176 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7177 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7178 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7179 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7180 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7181 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7182 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7184 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7185 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7188 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7191 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7194 return NDR_ERR_SUCCESS;
7197 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
7199 uint32_t cntr_array_1;
7200 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
7202 ndr_print_uint32(ndr, "count", r->count);
7203 ndr_print_ptr(ndr, "array", r->array);
7206 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7208 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7210 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7211 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
7221 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
7223 if (ndr_flags & NDR_SCALARS) {
7224 int level = ndr_push_get_switch_value(ndr, r);
7225 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
7227 case DRSUAPI_DC_INFO_CTR_1: {
7228 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
7231 case DRSUAPI_DC_INFO_CTR_2: {
7232 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
7235 case DRSUAPI_DC_INFO_CTR_3: {
7236 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
7239 case DRSUAPI_DC_CONNECTION_CTR_01: {
7240 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
7244 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7247 if (ndr_flags & NDR_BUFFERS) {
7248 int level = ndr_push_get_switch_value(ndr, r);
7250 case DRSUAPI_DC_INFO_CTR_1:
7251 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
7254 case DRSUAPI_DC_INFO_CTR_2:
7255 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
7258 case DRSUAPI_DC_INFO_CTR_3:
7259 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
7262 case DRSUAPI_DC_CONNECTION_CTR_01:
7263 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
7267 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7270 return NDR_ERR_SUCCESS;
7273 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
7277 level = ndr_pull_get_switch_value(ndr, r);
7278 if (ndr_flags & NDR_SCALARS) {
7279 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7280 if (_level != level) {
7281 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7284 case DRSUAPI_DC_INFO_CTR_1: {
7285 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
7288 case DRSUAPI_DC_INFO_CTR_2: {
7289 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
7292 case DRSUAPI_DC_INFO_CTR_3: {
7293 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
7296 case DRSUAPI_DC_CONNECTION_CTR_01: {
7297 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
7301 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7304 if (ndr_flags & NDR_BUFFERS) {
7306 case DRSUAPI_DC_INFO_CTR_1:
7307 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
7310 case DRSUAPI_DC_INFO_CTR_2:
7311 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
7314 case DRSUAPI_DC_INFO_CTR_3:
7315 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
7318 case DRSUAPI_DC_CONNECTION_CTR_01:
7319 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
7323 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7326 return NDR_ERR_SUCCESS;
7329 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
7332 level = ndr_print_get_switch_value(ndr, r);
7333 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
7335 case DRSUAPI_DC_INFO_CTR_1:
7336 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
7339 case DRSUAPI_DC_INFO_CTR_2:
7340 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
7343 case DRSUAPI_DC_INFO_CTR_3:
7344 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
7347 case DRSUAPI_DC_CONNECTION_CTR_01:
7348 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
7352 ndr_print_bad_level(ndr, name, level);
7356 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
7358 if (ndr_flags & NDR_SCALARS) {
7359 NDR_CHECK(ndr_push_align(ndr, 4));
7360 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
7361 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
7363 if (ndr_flags & NDR_BUFFERS) {
7364 if (r->next_object) {
7365 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
7367 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
7369 return NDR_ERR_SUCCESS;
7372 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
7374 uint32_t _ptr_next_object;
7375 TALLOC_CTX *_mem_save_next_object_0;
7376 if (ndr_flags & NDR_SCALARS) {
7377 NDR_CHECK(ndr_pull_align(ndr, 4));
7378 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
7379 if (_ptr_next_object) {
7380 NDR_PULL_ALLOC(ndr, r->next_object);
7382 r->next_object = NULL;
7384 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
7386 if (ndr_flags & NDR_BUFFERS) {
7387 if (r->next_object) {
7388 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
7389 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
7390 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
7391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
7393 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
7395 return NDR_ERR_SUCCESS;
7398 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
7400 if (ndr_flags & NDR_SCALARS) {
7401 NDR_CHECK(ndr_push_align(ndr, 4));
7402 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
7404 if (ndr_flags & NDR_BUFFERS) {
7405 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
7407 return NDR_ERR_SUCCESS;
7410 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
7412 if (ndr_flags & NDR_SCALARS) {
7413 NDR_CHECK(ndr_pull_align(ndr, 4));
7414 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
7416 if (ndr_flags & NDR_BUFFERS) {
7417 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
7419 return NDR_ERR_SUCCESS;
7422 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
7424 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
7426 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
7430 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
7432 if (ndr_flags & NDR_SCALARS) {
7433 int level = ndr_push_get_switch_value(ndr, r);
7434 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
7437 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
7441 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7444 if (ndr_flags & NDR_BUFFERS) {
7445 int level = ndr_push_get_switch_value(ndr, r);
7448 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
7452 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7455 return NDR_ERR_SUCCESS;
7458 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
7462 level = ndr_pull_get_switch_value(ndr, r);
7463 if (ndr_flags & NDR_SCALARS) {
7464 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7465 if (_level != level) {
7466 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7470 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
7474 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7477 if (ndr_flags & NDR_BUFFERS) {
7480 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
7484 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7487 return NDR_ERR_SUCCESS;
7490 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
7493 level = ndr_print_get_switch_value(ndr, r);
7494 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
7497 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
7501 ndr_print_bad_level(ndr, name, level);
7505 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
7507 if (ndr_flags & NDR_SCALARS) {
7508 NDR_CHECK(ndr_push_align(ndr, 4));
7509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
7510 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
7511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7512 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
7514 if (ndr_flags & NDR_BUFFERS) {
7516 return NDR_ERR_SUCCESS;
7519 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
7521 if (ndr_flags & NDR_SCALARS) {
7522 NDR_CHECK(ndr_pull_align(ndr, 4));
7523 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
7524 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
7525 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7526 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
7528 if (ndr_flags & NDR_BUFFERS) {
7530 return NDR_ERR_SUCCESS;
7533 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
7535 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
7537 ndr_print_uint32(ndr, "unknown1", r->unknown1);
7538 ndr_print_WERROR(ndr, "status", r->status);
7539 ndr_print_uint32(ndr, "unknown2", r->unknown2);
7540 ndr_print_uint16(ndr, "unknown3", r->unknown3);
7544 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
7546 if (ndr_flags & NDR_SCALARS) {
7547 NDR_CHECK(ndr_push_align(ndr, 4));
7548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7549 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
7551 if (ndr_flags & NDR_BUFFERS) {
7553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7554 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
7557 return NDR_ERR_SUCCESS;
7560 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
7563 TALLOC_CTX *_mem_save_data_0;
7564 if (ndr_flags & NDR_SCALARS) {
7565 NDR_CHECK(ndr_pull_align(ndr, 4));
7566 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7567 if (r->size < 0 || r->size > 10485760) {
7568 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7570 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
7572 NDR_PULL_ALLOC(ndr, r->data);
7577 if (ndr_flags & NDR_BUFFERS) {
7579 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
7580 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
7581 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
7582 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
7583 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
7584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
7587 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
7590 return NDR_ERR_SUCCESS;
7593 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
7595 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
7597 ndr_print_uint32(ndr, "size", r->size);
7598 ndr_print_ptr(ndr, "data", r->data);
7601 ndr_print_array_uint8(ndr, "data", r->data, r->size);
7607 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
7609 if (ndr_flags & NDR_SCALARS) {
7610 NDR_CHECK(ndr_push_align(ndr, 4));
7611 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
7612 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
7613 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7614 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
7616 if (ndr_flags & NDR_BUFFERS) {
7617 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
7619 return NDR_ERR_SUCCESS;
7622 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
7624 if (ndr_flags & NDR_SCALARS) {
7625 NDR_CHECK(ndr_pull_align(ndr, 4));
7626 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
7627 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
7628 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7629 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
7631 if (ndr_flags & NDR_BUFFERS) {
7632 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
7634 return NDR_ERR_SUCCESS;
7637 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
7639 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
7641 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
7642 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
7643 ndr_print_uint32(ndr, "unknown2", r->unknown2);
7644 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
7648 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
7650 if (ndr_flags & NDR_SCALARS) {
7651 NDR_CHECK(ndr_push_align(ndr, 4));
7652 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
7653 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
7655 if (ndr_flags & NDR_BUFFERS) {
7657 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
7659 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
7661 return NDR_ERR_SUCCESS;
7664 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
7667 TALLOC_CTX *_mem_save_next_0;
7668 if (ndr_flags & NDR_SCALARS) {
7669 NDR_CHECK(ndr_pull_align(ndr, 4));
7670 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
7672 NDR_PULL_ALLOC(ndr, r->next);
7676 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
7678 if (ndr_flags & NDR_BUFFERS) {
7680 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
7681 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
7682 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
7683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
7685 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
7687 return NDR_ERR_SUCCESS;
7690 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
7692 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
7694 ndr_print_ptr(ndr, "next", r->next);
7697 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
7700 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
7704 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
7706 if (ndr_flags & NDR_SCALARS) {
7707 NDR_CHECK(ndr_push_align(ndr, 4));
7708 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
7709 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
7710 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
7712 if (ndr_flags & NDR_BUFFERS) {
7714 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
7716 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
7718 return NDR_ERR_SUCCESS;
7721 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
7724 TALLOC_CTX *_mem_save_id_0;
7725 if (ndr_flags & NDR_SCALARS) {
7726 NDR_CHECK(ndr_pull_align(ndr, 4));
7727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
7729 NDR_PULL_ALLOC(ndr, r->id);
7733 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
7734 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
7736 if (ndr_flags & NDR_BUFFERS) {
7738 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
7739 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
7740 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
7741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
7743 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
7745 return NDR_ERR_SUCCESS;
7748 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
7750 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
7752 ndr_print_ptr(ndr, "id", r->id);
7755 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
7758 ndr_print_WERROR(ndr, "status", r->status);
7759 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
7763 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
7765 if (ndr_flags & NDR_SCALARS) {
7766 int level = ndr_push_get_switch_value(ndr, r);
7767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7770 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
7774 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7778 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7782 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7786 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7790 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7793 if (ndr_flags & NDR_BUFFERS) {
7794 int level = ndr_push_get_switch_value(ndr, r);
7797 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
7813 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7816 return NDR_ERR_SUCCESS;
7819 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
7823 level = ndr_pull_get_switch_value(ndr, r);
7824 if (ndr_flags & NDR_SCALARS) {
7825 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7826 if (_level != level) {
7827 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7831 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
7835 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7839 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7843 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7847 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7851 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7854 if (ndr_flags & NDR_BUFFERS) {
7857 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
7873 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7876 return NDR_ERR_SUCCESS;
7879 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
7882 level = ndr_print_get_switch_value(ndr, r);
7883 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
7886 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
7890 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
7894 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
7898 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
7902 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
7906 ndr_print_bad_level(ndr, name, level);
7910 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
7912 if (ndr_flags & NDR_SCALARS) {
7913 NDR_CHECK(ndr_push_align(ndr, 4));
7914 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
7915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
7916 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
7918 if (ndr_flags & NDR_BUFFERS) {
7920 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
7921 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
7924 return NDR_ERR_SUCCESS;
7927 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
7930 TALLOC_CTX *_mem_save_info_0;
7931 if (ndr_flags & NDR_SCALARS) {
7932 NDR_CHECK(ndr_pull_align(ndr, 4));
7933 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
7934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
7935 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7937 NDR_PULL_ALLOC(ndr, r->info);
7942 if (ndr_flags & NDR_BUFFERS) {
7944 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7945 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
7946 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
7947 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
7948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
7951 return NDR_ERR_SUCCESS;
7954 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
7956 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
7958 ndr_print_WERROR(ndr, "status", r->status);
7959 ndr_print_uint32(ndr, "level", r->level);
7960 ndr_print_ptr(ndr, "info", r->info);
7963 ndr_print_set_switch_value(ndr, r->info, r->level);
7964 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
7970 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
7972 if (ndr_flags & NDR_SCALARS) {
7973 int level = ndr_push_get_switch_value(ndr, r);
7974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7977 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
7981 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7984 if (ndr_flags & NDR_BUFFERS) {
7985 int level = ndr_push_get_switch_value(ndr, r);
7988 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
7992 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7995 return NDR_ERR_SUCCESS;
7998 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8002 level = ndr_pull_get_switch_value(ndr, r);
8003 if (ndr_flags & NDR_SCALARS) {
8004 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8005 if (_level != level) {
8006 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8010 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8014 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8017 if (ndr_flags & NDR_BUFFERS) {
8020 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8024 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8027 return NDR_ERR_SUCCESS;
8030 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
8033 level = ndr_print_get_switch_value(ndr, r);
8034 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
8037 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
8041 ndr_print_bad_level(ndr, name, level);
8045 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8047 if (ndr_flags & NDR_SCALARS) {
8048 NDR_CHECK(ndr_push_align(ndr, 4));
8049 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8050 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8052 if (ndr_flags & NDR_BUFFERS) {
8053 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8055 return NDR_ERR_SUCCESS;
8058 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
8060 if (ndr_flags & NDR_SCALARS) {
8061 NDR_CHECK(ndr_pull_align(ndr, 4));
8062 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8063 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8065 if (ndr_flags & NDR_BUFFERS) {
8066 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8068 return NDR_ERR_SUCCESS;
8071 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8073 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
8075 ndr_print_GUID(ndr, "guid", &r->guid);
8076 ndr_print_dom_sid28(ndr, "sid", &r->sid);
8080 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
8082 uint32_t cntr_objects_1;
8083 if (ndr_flags & NDR_SCALARS) {
8084 NDR_CHECK(ndr_push_align(ndr, 4));
8085 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8087 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8088 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8089 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
8091 if (ndr_flags & NDR_BUFFERS) {
8093 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8097 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8098 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8100 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8101 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8105 return NDR_ERR_SUCCESS;
8108 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
8111 TALLOC_CTX *_mem_save_id_0;
8112 uint32_t _ptr_objects;
8113 uint32_t cntr_objects_1;
8114 TALLOC_CTX *_mem_save_objects_0;
8115 TALLOC_CTX *_mem_save_objects_1;
8116 if (ndr_flags & NDR_SCALARS) {
8117 NDR_CHECK(ndr_pull_align(ndr, 4));
8118 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8120 NDR_PULL_ALLOC(ndr, r->id);
8124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8125 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8127 if (r->count < 0 || r->count > 10000) {
8128 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8130 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
8132 NDR_PULL_ALLOC(ndr, r->objects);
8137 if (ndr_flags & NDR_BUFFERS) {
8139 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8140 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8141 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8145 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
8146 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8147 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
8148 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
8149 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
8150 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8151 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8152 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8154 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8155 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
8158 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
8161 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
8164 return NDR_ERR_SUCCESS;
8167 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
8169 uint32_t cntr_objects_1;
8170 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
8172 ndr_print_ptr(ndr, "id", r->id);
8175 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8178 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8179 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8180 ndr_print_uint32(ndr, "count", r->count);
8181 ndr_print_ptr(ndr, "objects", r->objects);
8184 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
8186 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
8188 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
8189 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
8199 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
8201 uint32_t cntr_objects_1;
8202 if (ndr_flags & NDR_SCALARS) {
8203 NDR_CHECK(ndr_push_align(ndr, 4));
8204 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8205 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8206 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
8207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
8210 if (ndr_flags & NDR_BUFFERS) {
8212 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8215 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
8216 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
8219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8220 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8221 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8223 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8224 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8228 return NDR_ERR_SUCCESS;
8231 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
8234 TALLOC_CTX *_mem_save_id_0;
8235 uint32_t _ptr_error;
8236 TALLOC_CTX *_mem_save_error_0;
8237 uint32_t _ptr_objects;
8238 uint32_t cntr_objects_1;
8239 TALLOC_CTX *_mem_save_objects_0;
8240 TALLOC_CTX *_mem_save_objects_1;
8241 if (ndr_flags & NDR_SCALARS) {
8242 NDR_CHECK(ndr_pull_align(ndr, 4));
8243 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8245 NDR_PULL_ALLOC(ndr, r->id);
8249 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8250 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
8252 NDR_PULL_ALLOC(ndr, r->error);
8256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8257 if (r->count < 0 || r->count > 10000) {
8258 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8260 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
8262 NDR_PULL_ALLOC(ndr, r->objects);
8267 if (ndr_flags & NDR_BUFFERS) {
8269 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8270 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8271 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8275 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
8276 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
8277 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
8278 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
8279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
8282 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
8283 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8284 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
8285 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
8286 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
8287 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8288 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8289 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8291 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8292 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
8295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
8298 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
8301 return NDR_ERR_SUCCESS;
8304 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
8306 uint32_t cntr_objects_1;
8307 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
8309 ndr_print_ptr(ndr, "id", r->id);
8312 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8315 ndr_print_uint32(ndr, "level", r->level);
8316 ndr_print_ptr(ndr, "error", r->error);
8319 ndr_print_set_switch_value(ndr, r->error, r->level);
8320 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
8323 ndr_print_uint32(ndr, "count", r->count);
8324 ndr_print_ptr(ndr, "objects", r->objects);
8327 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
8329 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
8331 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
8332 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
8342 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
8344 if (ndr_flags & NDR_SCALARS) {
8345 int level = ndr_push_get_switch_value(ndr, r);
8346 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8349 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
8353 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
8357 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8360 if (ndr_flags & NDR_BUFFERS) {
8361 int level = ndr_push_get_switch_value(ndr, r);
8364 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8368 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8372 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8375 return NDR_ERR_SUCCESS;
8378 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
8382 level = ndr_pull_get_switch_value(ndr, r);
8383 if (ndr_flags & NDR_SCALARS) {
8384 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8385 if (_level != level) {
8386 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8390 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
8394 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
8398 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8401 if (ndr_flags & NDR_BUFFERS) {
8404 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8408 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8412 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8415 return NDR_ERR_SUCCESS;
8418 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
8421 level = ndr_print_get_switch_value(ndr, r);
8422 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
8425 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
8429 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
8433 ndr_print_bad_level(ndr, name, level);
8437 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
8439 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8440 return NDR_ERR_SUCCESS;
8443 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
8446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8448 return NDR_ERR_SUCCESS;
8451 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
8453 const char *val = NULL;
8456 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
8457 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
8459 ndr_print_enum(ndr, name, "ENUM", val, r);
8462 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
8464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8465 return NDR_ERR_SUCCESS;
8468 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
8471 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8473 return NDR_ERR_SUCCESS;
8476 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
8478 const char *val = NULL;
8481 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
8482 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
8483 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
8484 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
8485 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
8486 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
8487 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
8488 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
8489 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
8490 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
8491 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
8492 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
8493 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
8494 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
8495 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
8497 ndr_print_enum(ndr, name, "ENUM", val, r);
8500 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
8502 if (ndr_flags & NDR_SCALARS) {
8503 NDR_CHECK(ndr_push_align(ndr, 4));
8504 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
8505 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
8506 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
8508 if (ndr_flags & NDR_BUFFERS) {
8510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
8511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
8513 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8516 return NDR_ERR_SUCCESS;
8519 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
8521 uint32_t _ptr_object_dn;
8522 TALLOC_CTX *_mem_save_object_dn_0;
8523 if (ndr_flags & NDR_SCALARS) {
8524 NDR_CHECK(ndr_pull_align(ndr, 4));
8525 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
8526 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
8527 if (_ptr_object_dn) {
8528 NDR_PULL_ALLOC(ndr, r->object_dn);
8530 r->object_dn = NULL;
8532 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
8534 if (ndr_flags & NDR_BUFFERS) {
8536 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8537 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
8538 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
8539 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
8540 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
8541 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));
8543 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
8544 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
8545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
8548 return NDR_ERR_SUCCESS;
8551 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
8553 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
8555 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
8556 ndr_print_ptr(ndr, "object_dn", r->object_dn);
8559 ndr_print_string(ndr, "object_dn", r->object_dn);
8562 ndr_print_GUID(ndr, "guid1", &r->guid1);
8566 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
8568 if (ndr_flags & NDR_SCALARS) {
8569 NDR_CHECK(ndr_push_align(ndr, 4));
8570 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
8571 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
8572 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
8573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8574 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
8575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
8576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8578 if (ndr_flags & NDR_BUFFERS) {
8580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
8581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
8583 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
8587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
8589 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
8593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
8595 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8598 return NDR_ERR_SUCCESS;
8601 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
8603 uint32_t _ptr_object_dn;
8604 TALLOC_CTX *_mem_save_object_dn_0;
8605 uint32_t _ptr_string1;
8606 TALLOC_CTX *_mem_save_string1_0;
8607 uint32_t _ptr_string2;
8608 TALLOC_CTX *_mem_save_string2_0;
8609 if (ndr_flags & NDR_SCALARS) {
8610 NDR_CHECK(ndr_pull_align(ndr, 4));
8611 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
8612 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
8613 if (_ptr_object_dn) {
8614 NDR_PULL_ALLOC(ndr, r->object_dn);
8616 r->object_dn = NULL;
8618 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
8619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
8622 NDR_PULL_ALLOC(ndr, r->string1);
8626 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
8628 NDR_PULL_ALLOC(ndr, r->string2);
8632 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8634 if (ndr_flags & NDR_BUFFERS) {
8636 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8637 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
8638 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
8639 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
8640 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
8641 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));
8643 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
8644 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
8645 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
8648 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
8649 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
8650 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
8651 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
8652 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
8653 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));
8655 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
8656 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
8657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
8660 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
8661 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
8662 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
8663 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
8664 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
8665 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));
8667 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
8668 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
8669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
8672 return NDR_ERR_SUCCESS;
8675 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
8677 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
8679 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
8680 ndr_print_ptr(ndr, "object_dn", r->object_dn);
8683 ndr_print_string(ndr, "object_dn", r->object_dn);
8686 ndr_print_GUID(ndr, "guid1", &r->guid1);
8687 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8688 ndr_print_ptr(ndr, "string1", r->string1);
8691 ndr_print_string(ndr, "string1", r->string1);
8694 ndr_print_ptr(ndr, "string2", r->string2);
8697 ndr_print_string(ndr, "string2", r->string2);
8700 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8704 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
8706 if (ndr_flags & NDR_SCALARS) {
8707 int level = ndr_push_get_switch_value(ndr, r);
8708 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
8710 case DRSUAPI_DS_REPLICA_GET_INFO: {
8711 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
8714 case DRSUAPI_DS_REPLICA_GET_INFO2: {
8715 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
8719 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8722 if (ndr_flags & NDR_BUFFERS) {
8723 int level = ndr_push_get_switch_value(ndr, r);
8725 case DRSUAPI_DS_REPLICA_GET_INFO:
8726 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
8729 case DRSUAPI_DS_REPLICA_GET_INFO2:
8730 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
8734 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8737 return NDR_ERR_SUCCESS;
8740 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
8744 level = ndr_pull_get_switch_value(ndr, r);
8745 if (ndr_flags & NDR_SCALARS) {
8746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8747 if (_level != level) {
8748 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8751 case DRSUAPI_DS_REPLICA_GET_INFO: {
8752 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
8755 case DRSUAPI_DS_REPLICA_GET_INFO2: {
8756 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
8760 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8763 if (ndr_flags & NDR_BUFFERS) {
8765 case DRSUAPI_DS_REPLICA_GET_INFO:
8766 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
8769 case DRSUAPI_DS_REPLICA_GET_INFO2:
8770 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
8774 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8777 return NDR_ERR_SUCCESS;
8780 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
8783 level = ndr_print_get_switch_value(ndr, r);
8784 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
8786 case DRSUAPI_DS_REPLICA_GET_INFO:
8787 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
8790 case DRSUAPI_DS_REPLICA_GET_INFO2:
8791 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
8795 ndr_print_bad_level(ndr, name, level);
8799 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
8801 if (ndr_flags & NDR_SCALARS) {
8802 NDR_CHECK(ndr_push_align(ndr, 8));
8803 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
8804 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
8805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
8806 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
8807 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
8808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
8809 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
8810 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
8811 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
8812 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
8813 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
8814 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
8815 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
8816 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
8817 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
8818 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
8820 if (ndr_flags & NDR_BUFFERS) {
8821 if (r->naming_context_dn) {
8822 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
8823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
8825 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));
8827 if (r->source_dsa_obj_dn) {
8828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
8829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
8831 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));
8833 if (r->source_dsa_address) {
8834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
8835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
8837 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));
8839 if (r->transport_obj_dn) {
8840 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
8841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
8843 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));
8846 return NDR_ERR_SUCCESS;
8849 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
8851 uint32_t _ptr_naming_context_dn;
8852 TALLOC_CTX *_mem_save_naming_context_dn_0;
8853 uint32_t _ptr_source_dsa_obj_dn;
8854 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
8855 uint32_t _ptr_source_dsa_address;
8856 TALLOC_CTX *_mem_save_source_dsa_address_0;
8857 uint32_t _ptr_transport_obj_dn;
8858 TALLOC_CTX *_mem_save_transport_obj_dn_0;
8859 if (ndr_flags & NDR_SCALARS) {
8860 NDR_CHECK(ndr_pull_align(ndr, 8));
8861 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
8862 if (_ptr_naming_context_dn) {
8863 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
8865 r->naming_context_dn = NULL;
8867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
8868 if (_ptr_source_dsa_obj_dn) {
8869 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
8871 r->source_dsa_obj_dn = NULL;
8873 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
8874 if (_ptr_source_dsa_address) {
8875 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
8877 r->source_dsa_address = NULL;
8879 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
8880 if (_ptr_transport_obj_dn) {
8881 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
8883 r->transport_obj_dn = NULL;
8885 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
8886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
8887 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
8888 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
8889 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
8890 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
8891 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
8892 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
8893 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
8894 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
8895 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
8896 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
8898 if (ndr_flags & NDR_BUFFERS) {
8899 if (r->naming_context_dn) {
8900 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8901 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
8902 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
8903 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
8904 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
8905 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));
8907 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
8908 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));
8909 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
8911 if (r->source_dsa_obj_dn) {
8912 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8913 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
8914 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
8915 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
8916 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
8917 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));
8919 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
8920 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));
8921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
8923 if (r->source_dsa_address) {
8924 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
8925 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
8926 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
8927 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
8928 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
8929 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));
8931 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
8932 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));
8933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
8935 if (r->transport_obj_dn) {
8936 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8937 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
8938 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
8939 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
8940 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
8941 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));
8943 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
8944 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));
8945 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
8948 return NDR_ERR_SUCCESS;
8951 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
8953 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
8955 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
8957 if (r->naming_context_dn) {
8958 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
8961 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
8963 if (r->source_dsa_obj_dn) {
8964 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
8967 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
8969 if (r->source_dsa_address) {
8970 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
8973 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
8975 if (r->transport_obj_dn) {
8976 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
8979 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
8980 ndr_print_uint32(ndr, "reserved", r->reserved);
8981 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
8982 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
8983 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
8984 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
8985 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
8986 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
8987 ndr_print_NTTIME(ndr, "last_success", r->last_success);
8988 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
8989 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
8990 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
8994 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
8996 uint32_t cntr_array_0;
8997 if (ndr_flags & NDR_SCALARS) {
8998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8999 NDR_CHECK(ndr_push_align(ndr, 8));
9000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9002 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9003 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9006 if (ndr_flags & NDR_BUFFERS) {
9007 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9008 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9011 return NDR_ERR_SUCCESS;
9014 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
9016 uint32_t cntr_array_0;
9017 TALLOC_CTX *_mem_save_array_0;
9018 if (ndr_flags & NDR_SCALARS) {
9019 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9020 NDR_CHECK(ndr_pull_align(ndr, 8));
9021 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9022 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9023 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9024 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9025 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9026 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9027 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9031 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9034 if (ndr_flags & NDR_BUFFERS) {
9035 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9036 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9037 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9038 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9040 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9042 return NDR_ERR_SUCCESS;
9045 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
9047 uint32_t cntr_array_0;
9048 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
9050 ndr_print_uint32(ndr, "count", r->count);
9051 ndr_print_uint32(ndr, "reserved", r->reserved);
9052 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9054 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9056 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9057 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
9065 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
9067 uint32_t cntr_array_0;
9068 if (ndr_flags & NDR_SCALARS) {
9069 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9070 NDR_CHECK(ndr_push_align(ndr, 8));
9071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9073 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9074 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9077 if (ndr_flags & NDR_BUFFERS) {
9079 return NDR_ERR_SUCCESS;
9082 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
9084 uint32_t cntr_array_0;
9085 TALLOC_CTX *_mem_save_array_0;
9086 if (ndr_flags & NDR_SCALARS) {
9087 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9088 NDR_CHECK(ndr_pull_align(ndr, 8));
9089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9090 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9091 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9092 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9093 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9094 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9095 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9099 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9102 if (ndr_flags & NDR_BUFFERS) {
9104 return NDR_ERR_SUCCESS;
9107 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
9109 uint32_t cntr_array_0;
9110 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
9112 ndr_print_uint32(ndr, "count", r->count);
9113 ndr_print_uint32(ndr, "reserved", r->reserved);
9114 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9116 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9118 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9119 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
9127 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
9129 if (ndr_flags & NDR_SCALARS) {
9130 NDR_CHECK(ndr_push_align(ndr, 8));
9131 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
9132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
9133 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
9134 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
9135 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
9136 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
9138 if (ndr_flags & NDR_BUFFERS) {
9139 if (r->attribute_name) {
9140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9143 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9146 return NDR_ERR_SUCCESS;
9149 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
9151 uint32_t _ptr_attribute_name;
9152 TALLOC_CTX *_mem_save_attribute_name_0;
9153 if (ndr_flags & NDR_SCALARS) {
9154 NDR_CHECK(ndr_pull_align(ndr, 8));
9155 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
9156 if (_ptr_attribute_name) {
9157 NDR_PULL_ALLOC(ndr, r->attribute_name);
9159 r->attribute_name = NULL;
9161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
9162 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
9163 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
9164 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
9165 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
9167 if (ndr_flags & NDR_BUFFERS) {
9168 if (r->attribute_name) {
9169 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9170 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
9171 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
9172 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
9173 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
9174 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));
9176 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
9177 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
9178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
9181 return NDR_ERR_SUCCESS;
9184 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
9186 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
9188 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
9190 if (r->attribute_name) {
9191 ndr_print_string(ndr, "attribute_name", r->attribute_name);
9194 ndr_print_uint32(ndr, "version", r->version);
9195 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
9196 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
9197 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
9198 ndr_print_hyper(ndr, "local_usn", r->local_usn);
9202 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
9204 uint32_t cntr_array_0;
9205 if (ndr_flags & NDR_SCALARS) {
9206 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9207 NDR_CHECK(ndr_push_align(ndr, 8));
9208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9210 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9211 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9214 if (ndr_flags & NDR_BUFFERS) {
9215 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9216 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9219 return NDR_ERR_SUCCESS;
9222 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
9224 uint32_t cntr_array_0;
9225 TALLOC_CTX *_mem_save_array_0;
9226 if (ndr_flags & NDR_SCALARS) {
9227 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9228 NDR_CHECK(ndr_pull_align(ndr, 8));
9229 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9230 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9231 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9232 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9233 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9234 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9235 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9237 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9239 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9242 if (ndr_flags & NDR_BUFFERS) {
9243 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9244 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9245 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9246 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9248 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9250 return NDR_ERR_SUCCESS;
9253 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
9255 uint32_t cntr_array_0;
9256 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
9258 ndr_print_uint32(ndr, "count", r->count);
9259 ndr_print_uint32(ndr, "reserved", r->reserved);
9260 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9262 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9264 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9265 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
9273 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
9275 if (ndr_flags & NDR_SCALARS) {
9276 NDR_CHECK(ndr_push_align(ndr, 4));
9277 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
9278 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
9279 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
9280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
9281 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
9283 if (ndr_flags & NDR_BUFFERS) {
9284 if (r->dsa_obj_dn) {
9285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
9286 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
9288 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));
9291 return NDR_ERR_SUCCESS;
9294 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
9296 uint32_t _ptr_dsa_obj_dn;
9297 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
9298 if (ndr_flags & NDR_SCALARS) {
9299 NDR_CHECK(ndr_pull_align(ndr, 4));
9300 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
9301 if (_ptr_dsa_obj_dn) {
9302 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
9304 r->dsa_obj_dn = NULL;
9306 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
9307 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
9308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
9309 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
9311 if (ndr_flags & NDR_BUFFERS) {
9312 if (r->dsa_obj_dn) {
9313 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9314 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
9315 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
9316 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
9317 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
9318 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));
9320 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
9321 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));
9322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
9325 return NDR_ERR_SUCCESS;
9328 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
9330 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
9332 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
9334 if (r->dsa_obj_dn) {
9335 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
9338 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
9339 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
9340 ndr_print_uint32(ndr, "num_failures", r->num_failures);
9341 ndr_print_WERROR(ndr, "last_result", r->last_result);
9345 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
9347 uint32_t cntr_array_0;
9348 if (ndr_flags & NDR_SCALARS) {
9349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9350 NDR_CHECK(ndr_push_align(ndr, 4));
9351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9352 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9353 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9354 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9357 if (ndr_flags & NDR_BUFFERS) {
9358 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9359 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9362 return NDR_ERR_SUCCESS;
9365 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
9367 uint32_t cntr_array_0;
9368 TALLOC_CTX *_mem_save_array_0;
9369 if (ndr_flags & NDR_SCALARS) {
9370 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9371 NDR_CHECK(ndr_pull_align(ndr, 4));
9372 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9373 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9374 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9375 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9376 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9377 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9378 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9382 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9385 if (ndr_flags & NDR_BUFFERS) {
9386 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9387 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9388 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9389 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9393 return NDR_ERR_SUCCESS;
9396 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
9398 uint32_t cntr_array_0;
9399 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
9401 ndr_print_uint32(ndr, "count", r->count);
9402 ndr_print_uint32(ndr, "reserved", r->reserved);
9403 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9405 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9407 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9408 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
9416 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
9418 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
9419 return NDR_ERR_SUCCESS;
9422 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
9425 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
9427 return NDR_ERR_SUCCESS;
9430 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
9432 const char *val = NULL;
9435 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
9436 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
9437 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
9438 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
9439 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
9441 ndr_print_enum(ndr, name, "ENUM", val, r);
9444 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
9446 if (ndr_flags & NDR_SCALARS) {
9447 int level = ndr_push_get_switch_value(ndr, r);
9448 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
9450 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
9451 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
9454 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
9455 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
9458 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
9459 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
9462 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
9463 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
9466 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
9467 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
9471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
9476 if (ndr_flags & NDR_BUFFERS) {
9477 int level = ndr_push_get_switch_value(ndr, r);
9479 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
9482 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
9485 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
9488 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
9491 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
9499 return NDR_ERR_SUCCESS;
9502 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
9506 level = ndr_pull_get_switch_value(ndr, r);
9507 if (ndr_flags & NDR_SCALARS) {
9508 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
9509 if (_level != level) {
9510 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
9513 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
9514 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
9517 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
9518 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
9521 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
9522 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
9525 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
9526 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
9529 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
9530 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
9534 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
9539 if (ndr_flags & NDR_BUFFERS) {
9541 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
9544 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
9547 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
9550 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
9553 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
9561 return NDR_ERR_SUCCESS;
9564 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
9567 level = ndr_print_get_switch_value(ndr, r);
9568 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
9570 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
9571 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
9574 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
9575 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
9578 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
9579 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
9582 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
9583 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
9586 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
9587 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
9591 ndr_print_uint32(ndr, "unknown", r->unknown);
9597 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
9599 if (ndr_flags & NDR_SCALARS) {
9600 NDR_CHECK(ndr_push_align(ndr, 4));
9601 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
9602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
9603 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
9604 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
9605 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
9606 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
9607 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
9608 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
9609 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
9610 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
9611 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
9613 if (ndr_flags & NDR_BUFFERS) {
9615 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
9616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
9618 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9620 if (r->remote_dsa_obj_dn) {
9621 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
9622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
9624 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));
9626 if (r->remote_dsa_address) {
9627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
9628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
9630 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));
9633 return NDR_ERR_SUCCESS;
9636 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
9638 uint32_t _ptr_nc_dn;
9639 TALLOC_CTX *_mem_save_nc_dn_0;
9640 uint32_t _ptr_remote_dsa_obj_dn;
9641 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
9642 uint32_t _ptr_remote_dsa_address;
9643 TALLOC_CTX *_mem_save_remote_dsa_address_0;
9644 if (ndr_flags & NDR_SCALARS) {
9645 NDR_CHECK(ndr_pull_align(ndr, 4));
9646 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
9647 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
9648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
9649 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
9650 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
9651 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
9652 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
9654 NDR_PULL_ALLOC(ndr, r->nc_dn);
9658 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
9659 if (_ptr_remote_dsa_obj_dn) {
9660 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
9662 r->remote_dsa_obj_dn = NULL;
9664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
9665 if (_ptr_remote_dsa_address) {
9666 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
9668 r->remote_dsa_address = NULL;
9670 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
9671 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
9673 if (ndr_flags & NDR_BUFFERS) {
9675 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9676 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
9677 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
9678 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
9679 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
9680 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));
9682 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
9683 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
9684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
9686 if (r->remote_dsa_obj_dn) {
9687 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9688 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
9689 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
9690 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
9691 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
9692 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));
9694 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
9695 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));
9696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
9698 if (r->remote_dsa_address) {
9699 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
9700 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
9701 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
9702 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
9703 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
9704 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));
9706 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
9707 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));
9708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
9711 return NDR_ERR_SUCCESS;
9714 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
9716 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
9718 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
9719 ndr_print_uint32(ndr, "serial_num", r->serial_num);
9720 ndr_print_uint32(ndr, "priority", r->priority);
9721 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
9722 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
9723 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
9724 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
9727 ndr_print_string(ndr, "nc_dn", r->nc_dn);
9730 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
9732 if (r->remote_dsa_obj_dn) {
9733 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
9736 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
9738 if (r->remote_dsa_address) {
9739 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
9742 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
9743 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
9747 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
9749 uint32_t cntr_array_0;
9750 if (ndr_flags & NDR_SCALARS) {
9751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9752 NDR_CHECK(ndr_push_align(ndr, 4));
9753 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
9754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9755 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9756 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9759 if (ndr_flags & NDR_BUFFERS) {
9760 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9761 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9764 return NDR_ERR_SUCCESS;
9767 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
9769 uint32_t cntr_array_0;
9770 TALLOC_CTX *_mem_save_array_0;
9771 if (ndr_flags & NDR_SCALARS) {
9772 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9773 NDR_CHECK(ndr_pull_align(ndr, 4));
9774 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
9775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9776 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9777 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9778 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9779 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9780 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9784 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9787 if (ndr_flags & NDR_BUFFERS) {
9788 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9789 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9790 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9791 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9793 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9795 return NDR_ERR_SUCCESS;
9798 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
9800 uint32_t cntr_array_0;
9801 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
9803 ndr_print_NTTIME(ndr, "time", r->time);
9804 ndr_print_uint32(ndr, "count", r->count);
9805 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9807 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9809 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9810 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
9818 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
9820 if (ndr_flags & NDR_SCALARS) {
9821 NDR_CHECK(ndr_push_align(ndr, 8));
9822 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
9823 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
9825 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
9826 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
9827 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
9828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
9829 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
9830 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
9831 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
9832 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
9834 if (ndr_flags & NDR_BUFFERS) {
9835 if (r->attribute_name) {
9836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9839 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9844 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9845 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9848 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
9851 return NDR_ERR_SUCCESS;
9854 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
9856 uint32_t _ptr_attribute_name;
9857 TALLOC_CTX *_mem_save_attribute_name_0;
9858 uint32_t _ptr_object_dn;
9859 TALLOC_CTX *_mem_save_object_dn_0;
9860 uint32_t _ptr_binary;
9861 TALLOC_CTX *_mem_save_binary_0;
9862 if (ndr_flags & NDR_SCALARS) {
9863 NDR_CHECK(ndr_pull_align(ndr, 8));
9864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
9865 if (_ptr_attribute_name) {
9866 NDR_PULL_ALLOC(ndr, r->attribute_name);
9868 r->attribute_name = NULL;
9870 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9871 if (_ptr_object_dn) {
9872 NDR_PULL_ALLOC(ndr, r->object_dn);
9874 r->object_dn = NULL;
9876 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
9877 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
9879 NDR_PULL_ALLOC(ndr, r->binary);
9883 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
9884 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
9885 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
9886 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
9887 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
9888 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
9889 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
9891 if (ndr_flags & NDR_BUFFERS) {
9892 if (r->attribute_name) {
9893 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9894 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
9895 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
9896 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
9897 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
9898 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));
9900 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
9901 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
9902 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
9905 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9906 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9907 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9908 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9909 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9910 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));
9912 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9913 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9917 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
9918 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
9919 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
9920 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
9923 return NDR_ERR_SUCCESS;
9926 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
9928 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
9930 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
9932 if (r->attribute_name) {
9933 ndr_print_string(ndr, "attribute_name", r->attribute_name);
9936 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9939 ndr_print_string(ndr, "object_dn", r->object_dn);
9942 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);
9943 ndr_print_ptr(ndr, "binary", r->binary);
9946 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
9949 ndr_print_NTTIME(ndr, "deleted", r->deleted);
9950 ndr_print_NTTIME(ndr, "created", r->created);
9951 ndr_print_uint32(ndr, "version", r->version);
9952 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
9953 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
9954 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
9955 ndr_print_hyper(ndr, "local_usn", r->local_usn);
9959 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
9961 uint32_t cntr_array_0;
9962 if (ndr_flags & NDR_SCALARS) {
9963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9964 NDR_CHECK(ndr_push_align(ndr, 8));
9965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9966 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
9967 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9968 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9971 if (ndr_flags & NDR_BUFFERS) {
9972 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9973 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9976 return NDR_ERR_SUCCESS;
9979 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
9981 uint32_t cntr_array_0;
9982 TALLOC_CTX *_mem_save_array_0;
9983 if (ndr_flags & NDR_SCALARS) {
9984 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9985 NDR_CHECK(ndr_pull_align(ndr, 8));
9986 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9987 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
9988 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9989 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9990 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9991 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9992 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9996 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9999 if (ndr_flags & NDR_BUFFERS) {
10000 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10001 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10002 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10003 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10007 return NDR_ERR_SUCCESS;
10010 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10012 uint32_t cntr_array_0;
10013 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
10015 ndr_print_uint32(ndr, "count", r->count);
10016 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10017 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10019 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10021 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10022 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
10030 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
10032 uint32_t cntr_array_0;
10033 if (ndr_flags & NDR_SCALARS) {
10034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10035 NDR_CHECK(ndr_push_align(ndr, 8));
10036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10037 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10038 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10039 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10042 if (ndr_flags & NDR_BUFFERS) {
10044 return NDR_ERR_SUCCESS;
10047 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
10049 uint32_t cntr_array_0;
10050 TALLOC_CTX *_mem_save_array_0;
10051 if (ndr_flags & NDR_SCALARS) {
10052 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10053 NDR_CHECK(ndr_pull_align(ndr, 8));
10054 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10055 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10056 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10057 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10058 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10059 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10060 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10064 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10067 if (ndr_flags & NDR_BUFFERS) {
10069 return NDR_ERR_SUCCESS;
10072 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
10074 uint32_t cntr_array_0;
10075 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
10077 ndr_print_uint32(ndr, "count", r->count);
10078 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10079 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10081 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10083 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10084 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
10092 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
10094 if (ndr_flags & NDR_SCALARS) {
10095 NDR_CHECK(ndr_push_align(ndr, 8));
10096 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10097 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10098 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
10099 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
10101 if (ndr_flags & NDR_BUFFERS) {
10102 if (r->source_dsa_obj_dn) {
10103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10106 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));
10109 return NDR_ERR_SUCCESS;
10112 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
10114 uint32_t _ptr_source_dsa_obj_dn;
10115 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10116 if (ndr_flags & NDR_SCALARS) {
10117 NDR_CHECK(ndr_pull_align(ndr, 8));
10118 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10119 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10120 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
10121 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10122 if (_ptr_source_dsa_obj_dn) {
10123 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10125 r->source_dsa_obj_dn = NULL;
10128 if (ndr_flags & NDR_BUFFERS) {
10129 if (r->source_dsa_obj_dn) {
10130 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10131 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10132 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10133 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10134 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10135 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));
10137 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10138 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));
10139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10142 return NDR_ERR_SUCCESS;
10145 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
10147 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
10149 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10150 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10151 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
10152 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10154 if (r->source_dsa_obj_dn) {
10155 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10161 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
10163 uint32_t cntr_array_0;
10164 if (ndr_flags & NDR_SCALARS) {
10165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10166 NDR_CHECK(ndr_push_align(ndr, 8));
10167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10168 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10169 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10170 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10173 if (ndr_flags & NDR_BUFFERS) {
10174 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10175 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10178 return NDR_ERR_SUCCESS;
10181 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
10183 uint32_t cntr_array_0;
10184 TALLOC_CTX *_mem_save_array_0;
10185 if (ndr_flags & NDR_SCALARS) {
10186 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10187 NDR_CHECK(ndr_pull_align(ndr, 8));
10188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10189 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10190 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10191 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10192 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10193 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10194 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10198 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10201 if (ndr_flags & NDR_BUFFERS) {
10202 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10203 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10204 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10205 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10209 return NDR_ERR_SUCCESS;
10212 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
10214 uint32_t cntr_array_0;
10215 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
10217 ndr_print_uint32(ndr, "count", r->count);
10218 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10219 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10221 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10223 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10224 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
10232 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
10234 if (ndr_flags & NDR_SCALARS) {
10235 NDR_CHECK(ndr_push_align(ndr, 8));
10236 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10238 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10239 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10240 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10241 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10242 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
10244 if (ndr_flags & NDR_BUFFERS) {
10245 if (r->attribute_name) {
10246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10249 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10251 if (r->originating_dsa_dn) {
10252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
10253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
10255 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));
10258 return NDR_ERR_SUCCESS;
10261 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
10263 uint32_t _ptr_attribute_name;
10264 TALLOC_CTX *_mem_save_attribute_name_0;
10265 uint32_t _ptr_originating_dsa_dn;
10266 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
10267 if (ndr_flags & NDR_SCALARS) {
10268 NDR_CHECK(ndr_pull_align(ndr, 8));
10269 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10270 if (_ptr_attribute_name) {
10271 NDR_PULL_ALLOC(ndr, r->attribute_name);
10273 r->attribute_name = NULL;
10275 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10276 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10277 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10278 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10279 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10280 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
10281 if (_ptr_originating_dsa_dn) {
10282 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
10284 r->originating_dsa_dn = NULL;
10287 if (ndr_flags & NDR_BUFFERS) {
10288 if (r->attribute_name) {
10289 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10290 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10291 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10292 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10293 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10294 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));
10296 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10297 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10298 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10300 if (r->originating_dsa_dn) {
10301 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10302 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
10303 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
10304 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
10305 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
10306 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));
10308 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
10309 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));
10310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
10313 return NDR_ERR_SUCCESS;
10316 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
10318 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
10320 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10322 if (r->attribute_name) {
10323 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10326 ndr_print_uint32(ndr, "version", r->version);
10327 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10328 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10329 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10330 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10331 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
10333 if (r->originating_dsa_dn) {
10334 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
10340 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
10342 uint32_t cntr_array_0;
10343 if (ndr_flags & NDR_SCALARS) {
10344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10345 NDR_CHECK(ndr_push_align(ndr, 8));
10346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10347 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10348 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10349 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10352 if (ndr_flags & NDR_BUFFERS) {
10353 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10354 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10357 return NDR_ERR_SUCCESS;
10360 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
10362 uint32_t cntr_array_0;
10363 TALLOC_CTX *_mem_save_array_0;
10364 if (ndr_flags & NDR_SCALARS) {
10365 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10366 NDR_CHECK(ndr_pull_align(ndr, 8));
10367 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10368 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10369 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10370 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10371 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10372 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10373 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10375 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10377 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10380 if (ndr_flags & NDR_BUFFERS) {
10381 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10382 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10383 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10384 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10388 return NDR_ERR_SUCCESS;
10391 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
10393 uint32_t cntr_array_0;
10394 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
10396 ndr_print_uint32(ndr, "count", r->count);
10397 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10398 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10400 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10402 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10403 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
10411 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
10413 if (ndr_flags & NDR_SCALARS) {
10414 NDR_CHECK(ndr_push_align(ndr, 8));
10415 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10416 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10417 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10418 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10419 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10420 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10422 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10423 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10424 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10425 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10426 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
10428 if (ndr_flags & NDR_BUFFERS) {
10429 if (r->attribute_name) {
10430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10433 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10435 if (r->object_dn) {
10436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10439 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10442 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10444 if (r->originating_dsa_dn) {
10445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
10446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
10448 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));
10451 return NDR_ERR_SUCCESS;
10454 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
10456 uint32_t _ptr_attribute_name;
10457 TALLOC_CTX *_mem_save_attribute_name_0;
10458 uint32_t _ptr_object_dn;
10459 TALLOC_CTX *_mem_save_object_dn_0;
10460 uint32_t _ptr_binary;
10461 TALLOC_CTX *_mem_save_binary_0;
10462 uint32_t _ptr_originating_dsa_dn;
10463 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
10464 if (ndr_flags & NDR_SCALARS) {
10465 NDR_CHECK(ndr_pull_align(ndr, 8));
10466 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10467 if (_ptr_attribute_name) {
10468 NDR_PULL_ALLOC(ndr, r->attribute_name);
10470 r->attribute_name = NULL;
10472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10473 if (_ptr_object_dn) {
10474 NDR_PULL_ALLOC(ndr, r->object_dn);
10476 r->object_dn = NULL;
10478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10479 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10481 NDR_PULL_ALLOC(ndr, r->binary);
10485 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10486 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10488 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10489 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10490 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10491 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10492 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
10493 if (_ptr_originating_dsa_dn) {
10494 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
10496 r->originating_dsa_dn = NULL;
10499 if (ndr_flags & NDR_BUFFERS) {
10500 if (r->attribute_name) {
10501 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10502 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10503 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10504 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10505 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10506 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));
10508 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10509 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10512 if (r->object_dn) {
10513 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10514 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10515 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10516 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10517 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10518 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));
10520 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10521 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10525 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10526 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10527 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10528 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10530 if (r->originating_dsa_dn) {
10531 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10532 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
10533 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
10534 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
10535 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
10536 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));
10538 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
10539 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));
10540 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
10543 return NDR_ERR_SUCCESS;
10546 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
10548 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
10550 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10552 if (r->attribute_name) {
10553 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10556 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10558 if (r->object_dn) {
10559 ndr_print_string(ndr, "object_dn", r->object_dn);
10562 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);
10563 ndr_print_ptr(ndr, "binary", r->binary);
10566 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10569 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10570 ndr_print_NTTIME(ndr, "created", r->created);
10571 ndr_print_uint32(ndr, "version", r->version);
10572 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10573 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10574 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10575 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10576 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
10578 if (r->originating_dsa_dn) {
10579 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
10585 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
10587 uint32_t cntr_array_0;
10588 if (ndr_flags & NDR_SCALARS) {
10589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10590 NDR_CHECK(ndr_push_align(ndr, 8));
10591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10592 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10593 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10594 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10597 if (ndr_flags & NDR_BUFFERS) {
10598 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10599 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10602 return NDR_ERR_SUCCESS;
10605 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
10607 uint32_t cntr_array_0;
10608 TALLOC_CTX *_mem_save_array_0;
10609 if (ndr_flags & NDR_SCALARS) {
10610 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10611 NDR_CHECK(ndr_pull_align(ndr, 8));
10612 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10613 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10614 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10615 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10616 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10617 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10618 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10622 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10625 if (ndr_flags & NDR_BUFFERS) {
10626 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10627 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10628 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10629 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10633 return NDR_ERR_SUCCESS;
10636 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
10638 uint32_t cntr_array_0;
10639 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
10641 ndr_print_uint32(ndr, "count", r->count);
10642 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10643 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10645 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10647 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10648 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
10656 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
10658 if (ndr_flags & NDR_SCALARS) {
10659 NDR_CHECK(ndr_push_align(ndr, 8));
10660 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
10661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
10662 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
10663 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
10664 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
10666 uint32_t _flags_save_ipv4address = ndr->flags;
10667 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
10668 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
10669 ndr->flags = _flags_save_ipv4address;
10671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
10673 if (ndr_flags & NDR_BUFFERS) {
10675 return NDR_ERR_SUCCESS;
10678 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
10680 if (ndr_flags & NDR_SCALARS) {
10681 NDR_CHECK(ndr_pull_align(ndr, 8));
10682 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
10683 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
10684 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
10685 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
10686 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
10688 uint32_t _flags_save_ipv4address = ndr->flags;
10689 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
10690 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
10691 ndr->flags = _flags_save_ipv4address;
10693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
10695 if (ndr_flags & NDR_BUFFERS) {
10697 return NDR_ERR_SUCCESS;
10700 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
10702 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
10704 ndr_print_hyper(ndr, "u1", r->u1);
10705 ndr_print_uint32(ndr, "u2", r->u2);
10706 ndr_print_uint32(ndr, "u3", r->u3);
10707 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
10708 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
10709 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
10710 ndr_print_uint32(ndr, "u5", r->u5);
10714 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
10716 uint32_t cntr_array_0;
10717 if (ndr_flags & NDR_SCALARS) {
10718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10719 NDR_CHECK(ndr_push_align(ndr, 8));
10720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10722 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10723 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10726 if (ndr_flags & NDR_BUFFERS) {
10728 return NDR_ERR_SUCCESS;
10731 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
10733 uint32_t cntr_array_0;
10734 TALLOC_CTX *_mem_save_array_0;
10735 if (ndr_flags & NDR_SCALARS) {
10736 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10737 NDR_CHECK(ndr_pull_align(ndr, 8));
10738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10739 if (r->count < 0 || r->count > 10000) {
10740 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
10742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10743 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10744 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10745 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10746 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10747 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10749 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10751 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10754 if (ndr_flags & NDR_BUFFERS) {
10756 return NDR_ERR_SUCCESS;
10759 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
10761 uint32_t cntr_array_0;
10762 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
10764 ndr_print_uint32(ndr, "count", r->count);
10765 ndr_print_uint32(ndr, "reserved", r->reserved);
10766 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10768 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10770 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10771 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
10779 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
10781 if (ndr_flags & NDR_SCALARS) {
10782 NDR_CHECK(ndr_push_align(ndr, 8));
10783 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
10784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
10785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
10786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
10787 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
10788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
10789 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
10790 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
10792 if (ndr_flags & NDR_BUFFERS) {
10794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
10795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
10797 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10800 return NDR_ERR_SUCCESS;
10803 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
10805 uint32_t _ptr_str1;
10806 TALLOC_CTX *_mem_save_str1_0;
10807 if (ndr_flags & NDR_SCALARS) {
10808 NDR_CHECK(ndr_pull_align(ndr, 8));
10809 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
10811 NDR_PULL_ALLOC(ndr, r->str1);
10815 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
10816 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
10817 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
10818 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
10819 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
10820 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
10821 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
10823 if (ndr_flags & NDR_BUFFERS) {
10825 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
10826 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
10827 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
10828 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
10829 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
10830 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));
10832 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
10833 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
10834 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
10837 return NDR_ERR_SUCCESS;
10840 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
10842 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
10844 ndr_print_ptr(ndr, "str1", r->str1);
10847 ndr_print_string(ndr, "str1", r->str1);
10850 ndr_print_uint32(ndr, "u1", r->u1);
10851 ndr_print_uint32(ndr, "u2", r->u2);
10852 ndr_print_uint32(ndr, "u3", r->u3);
10853 ndr_print_uint32(ndr, "u4", r->u4);
10854 ndr_print_uint32(ndr, "u5", r->u5);
10855 ndr_print_hyper(ndr, "u6", r->u6);
10856 ndr_print_uint32(ndr, "u7", r->u7);
10860 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
10862 uint32_t cntr_array_0;
10863 if (ndr_flags & NDR_SCALARS) {
10864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10865 NDR_CHECK(ndr_push_align(ndr, 8));
10866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10868 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10869 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10872 if (ndr_flags & NDR_BUFFERS) {
10873 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10874 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10877 return NDR_ERR_SUCCESS;
10880 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
10882 uint32_t cntr_array_0;
10883 TALLOC_CTX *_mem_save_array_0;
10884 if (ndr_flags & NDR_SCALARS) {
10885 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10886 NDR_CHECK(ndr_pull_align(ndr, 8));
10887 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10888 if (r->count < 0 || r->count > 256) {
10889 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
10891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10892 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10893 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10894 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10895 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10896 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10900 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10903 if (ndr_flags & NDR_BUFFERS) {
10904 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10905 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10906 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10907 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10909 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10911 return NDR_ERR_SUCCESS;
10914 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
10916 uint32_t cntr_array_0;
10917 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
10919 ndr_print_uint32(ndr, "count", r->count);
10920 ndr_print_uint32(ndr, "reserved", r->reserved);
10921 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10923 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10925 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10926 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
10934 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
10936 if (ndr_flags & NDR_SCALARS) {
10937 int level = ndr_push_get_switch_value(ndr, r);
10938 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
10940 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
10941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
10944 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
10945 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
10948 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
10949 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
10952 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
10953 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
10956 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
10957 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
10960 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
10961 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
10964 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
10965 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
10968 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
10969 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
10972 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
10973 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
10976 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
10977 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
10980 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
10981 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
10984 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
10985 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
10988 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
10989 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
10992 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
10993 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
10996 case DRSUAPI_DS_REPLICA_INFO_06: {
10997 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
11001 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11004 if (ndr_flags & NDR_BUFFERS) {
11005 int level = ndr_push_get_switch_value(ndr, r);
11007 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11008 if (r->neighbours) {
11009 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
11013 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11015 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
11019 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11020 if (r->objmetadata) {
11021 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
11025 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11026 if (r->connectfailures) {
11027 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
11031 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
11032 if (r->linkfailures) {
11033 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
11037 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
11038 if (r->pendingops) {
11039 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
11043 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
11044 if (r->attrvalmetadata) {
11045 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
11049 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
11051 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
11055 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
11057 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
11061 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
11062 if (r->objmetadata2) {
11063 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
11067 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
11068 if (r->attrvalmetadata2) {
11069 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
11073 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
11074 if (r->neighbours02) {
11075 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
11079 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
11080 if (r->connections04) {
11081 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
11085 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
11086 if (r->cursors05) {
11087 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
11091 case DRSUAPI_DS_REPLICA_INFO_06:
11093 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
11098 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11101 return NDR_ERR_SUCCESS;
11104 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
11108 TALLOC_CTX *_mem_save_neighbours_0;
11109 TALLOC_CTX *_mem_save_cursors_0;
11110 TALLOC_CTX *_mem_save_objmetadata_0;
11111 TALLOC_CTX *_mem_save_connectfailures_0;
11112 TALLOC_CTX *_mem_save_linkfailures_0;
11113 TALLOC_CTX *_mem_save_pendingops_0;
11114 TALLOC_CTX *_mem_save_attrvalmetadata_0;
11115 TALLOC_CTX *_mem_save_cursors2_0;
11116 TALLOC_CTX *_mem_save_cursors3_0;
11117 TALLOC_CTX *_mem_save_objmetadata2_0;
11118 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
11119 TALLOC_CTX *_mem_save_neighbours02_0;
11120 TALLOC_CTX *_mem_save_connections04_0;
11121 TALLOC_CTX *_mem_save_cursors05_0;
11122 TALLOC_CTX *_mem_save_i06_0;
11123 level = ndr_pull_get_switch_value(ndr, r);
11124 if (ndr_flags & NDR_SCALARS) {
11125 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
11126 if (_level != level) {
11127 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
11130 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11131 uint32_t _ptr_neighbours;
11132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
11133 if (_ptr_neighbours) {
11134 NDR_PULL_ALLOC(ndr, r->neighbours);
11136 r->neighbours = NULL;
11140 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11141 uint32_t _ptr_cursors;
11142 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
11143 if (_ptr_cursors) {
11144 NDR_PULL_ALLOC(ndr, r->cursors);
11150 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11151 uint32_t _ptr_objmetadata;
11152 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
11153 if (_ptr_objmetadata) {
11154 NDR_PULL_ALLOC(ndr, r->objmetadata);
11156 r->objmetadata = NULL;
11160 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11161 uint32_t _ptr_connectfailures;
11162 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
11163 if (_ptr_connectfailures) {
11164 NDR_PULL_ALLOC(ndr, r->connectfailures);
11166 r->connectfailures = NULL;
11170 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11171 uint32_t _ptr_linkfailures;
11172 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
11173 if (_ptr_linkfailures) {
11174 NDR_PULL_ALLOC(ndr, r->linkfailures);
11176 r->linkfailures = NULL;
11180 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11181 uint32_t _ptr_pendingops;
11182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
11183 if (_ptr_pendingops) {
11184 NDR_PULL_ALLOC(ndr, r->pendingops);
11186 r->pendingops = NULL;
11190 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11191 uint32_t _ptr_attrvalmetadata;
11192 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
11193 if (_ptr_attrvalmetadata) {
11194 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
11196 r->attrvalmetadata = NULL;
11200 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11201 uint32_t _ptr_cursors2;
11202 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
11203 if (_ptr_cursors2) {
11204 NDR_PULL_ALLOC(ndr, r->cursors2);
11206 r->cursors2 = NULL;
11210 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11211 uint32_t _ptr_cursors3;
11212 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
11213 if (_ptr_cursors3) {
11214 NDR_PULL_ALLOC(ndr, r->cursors3);
11216 r->cursors3 = NULL;
11220 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11221 uint32_t _ptr_objmetadata2;
11222 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
11223 if (_ptr_objmetadata2) {
11224 NDR_PULL_ALLOC(ndr, r->objmetadata2);
11226 r->objmetadata2 = NULL;
11230 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11231 uint32_t _ptr_attrvalmetadata2;
11232 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
11233 if (_ptr_attrvalmetadata2) {
11234 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
11236 r->attrvalmetadata2 = NULL;
11240 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
11241 uint32_t _ptr_neighbours02;
11242 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
11243 if (_ptr_neighbours02) {
11244 NDR_PULL_ALLOC(ndr, r->neighbours02);
11246 r->neighbours02 = NULL;
11250 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
11251 uint32_t _ptr_connections04;
11252 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
11253 if (_ptr_connections04) {
11254 NDR_PULL_ALLOC(ndr, r->connections04);
11256 r->connections04 = NULL;
11260 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
11261 uint32_t _ptr_cursors05;
11262 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
11263 if (_ptr_cursors05) {
11264 NDR_PULL_ALLOC(ndr, r->cursors05);
11266 r->cursors05 = NULL;
11270 case DRSUAPI_DS_REPLICA_INFO_06: {
11272 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
11274 NDR_PULL_ALLOC(ndr, r->i06);
11281 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11284 if (ndr_flags & NDR_BUFFERS) {
11286 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11287 if (r->neighbours) {
11288 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
11289 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
11290 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
11291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
11295 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11297 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
11298 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
11299 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
11300 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
11304 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11305 if (r->objmetadata) {
11306 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
11307 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
11308 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
11309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
11313 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11314 if (r->connectfailures) {
11315 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
11316 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
11317 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
11318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
11322 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
11323 if (r->linkfailures) {
11324 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
11325 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
11326 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
11327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
11331 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
11332 if (r->pendingops) {
11333 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
11334 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
11335 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
11336 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
11340 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
11341 if (r->attrvalmetadata) {
11342 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
11343 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
11344 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
11345 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
11349 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
11351 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
11352 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
11353 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
11354 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
11358 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
11360 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
11361 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
11362 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
11363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
11367 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
11368 if (r->objmetadata2) {
11369 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
11370 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
11371 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
11372 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
11376 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
11377 if (r->attrvalmetadata2) {
11378 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
11379 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
11380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
11381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
11385 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
11386 if (r->neighbours02) {
11387 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
11388 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
11389 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
11390 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
11394 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
11395 if (r->connections04) {
11396 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
11397 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
11398 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
11399 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
11403 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
11404 if (r->cursors05) {
11405 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
11406 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
11407 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
11408 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
11412 case DRSUAPI_DS_REPLICA_INFO_06:
11414 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
11415 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
11416 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
11417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
11422 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11425 return NDR_ERR_SUCCESS;
11428 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
11431 level = ndr_print_get_switch_value(ndr, r);
11432 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
11434 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11435 ndr_print_ptr(ndr, "neighbours", r->neighbours);
11437 if (r->neighbours) {
11438 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
11443 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11444 ndr_print_ptr(ndr, "cursors", r->cursors);
11447 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
11452 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11453 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
11455 if (r->objmetadata) {
11456 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
11461 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11462 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
11464 if (r->connectfailures) {
11465 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
11470 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
11471 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
11473 if (r->linkfailures) {
11474 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
11479 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
11480 ndr_print_ptr(ndr, "pendingops", r->pendingops);
11482 if (r->pendingops) {
11483 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
11488 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
11489 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
11491 if (r->attrvalmetadata) {
11492 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
11497 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
11498 ndr_print_ptr(ndr, "cursors2", r->cursors2);
11501 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
11506 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
11507 ndr_print_ptr(ndr, "cursors3", r->cursors3);
11510 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
11515 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
11516 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
11518 if (r->objmetadata2) {
11519 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
11524 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
11525 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
11527 if (r->attrvalmetadata2) {
11528 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
11533 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
11534 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
11536 if (r->neighbours02) {
11537 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
11542 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
11543 ndr_print_ptr(ndr, "connections04", r->connections04);
11545 if (r->connections04) {
11546 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
11551 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
11552 ndr_print_ptr(ndr, "cursors05", r->cursors05);
11554 if (r->cursors05) {
11555 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
11560 case DRSUAPI_DS_REPLICA_INFO_06:
11561 ndr_print_ptr(ndr, "i06", r->i06);
11564 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
11570 ndr_print_bad_level(ndr, name, level);
11574 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
11576 if (ndr_flags & NDR_SCALARS) {
11577 int level = ndr_push_get_switch_value(ndr, r);
11578 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
11581 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
11585 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11588 if (ndr_flags & NDR_BUFFERS) {
11589 int level = ndr_push_get_switch_value(ndr, r);
11592 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
11596 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11599 return NDR_ERR_SUCCESS;
11602 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
11606 level = ndr_pull_get_switch_value(ndr, r);
11607 if (ndr_flags & NDR_SCALARS) {
11608 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
11609 if (_level != level) {
11610 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
11614 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
11618 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11621 if (ndr_flags & NDR_BUFFERS) {
11624 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
11628 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11631 return NDR_ERR_SUCCESS;
11634 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
11637 level = ndr_print_get_switch_value(ndr, r);
11638 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
11641 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
11645 ndr_print_bad_level(ndr, name, level);
11649 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
11651 uint32_t cntr_req_array_1;
11652 if (ndr_flags & NDR_SCALARS) {
11653 NDR_CHECK(ndr_push_align(ndr, 4));
11654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
11655 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
11657 if (ndr_flags & NDR_BUFFERS) {
11658 if (r->req_array) {
11659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
11660 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
11661 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
11663 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
11664 if (r->req_array[cntr_req_array_1]) {
11665 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
11670 return NDR_ERR_SUCCESS;
11673 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
11675 uint32_t _ptr_req_array;
11676 uint32_t cntr_req_array_1;
11677 TALLOC_CTX *_mem_save_req_array_0;
11678 TALLOC_CTX *_mem_save_req_array_1;
11679 TALLOC_CTX *_mem_save_req_array_2;
11680 if (ndr_flags & NDR_SCALARS) {
11681 NDR_CHECK(ndr_pull_align(ndr, 4));
11682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
11683 if (r->num_req < 1 || r->num_req > 10000) {
11684 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11686 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
11687 if (_ptr_req_array) {
11688 NDR_PULL_ALLOC(ndr, r->req_array);
11690 r->req_array = NULL;
11693 if (ndr_flags & NDR_BUFFERS) {
11694 if (r->req_array) {
11695 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11696 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
11697 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
11698 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
11699 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
11700 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
11701 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
11702 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
11703 if (_ptr_req_array) {
11704 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
11706 r->req_array[cntr_req_array_1] = NULL;
11709 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
11710 if (r->req_array[cntr_req_array_1]) {
11711 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
11712 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
11713 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
11714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
11717 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
11718 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
11720 if (r->req_array) {
11721 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
11724 return NDR_ERR_SUCCESS;
11727 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
11729 uint32_t cntr_req_array_1;
11730 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
11732 ndr_print_uint32(ndr, "num_req", r->num_req);
11733 ndr_print_ptr(ndr, "req_array", r->req_array);
11735 if (r->req_array) {
11736 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
11738 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
11740 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
11741 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
11743 if (r->req_array[cntr_req_array_1]) {
11744 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
11756 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
11758 if (ndr_flags & NDR_SCALARS) {
11759 int level = ndr_push_get_switch_value(ndr, r);
11760 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
11763 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
11767 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11770 if (ndr_flags & NDR_BUFFERS) {
11771 int level = ndr_push_get_switch_value(ndr, r);
11774 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
11778 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11781 return NDR_ERR_SUCCESS;
11784 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
11788 level = ndr_pull_get_switch_value(ndr, r);
11789 if (ndr_flags & NDR_SCALARS) {
11790 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
11791 if (_level != level) {
11792 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
11796 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
11800 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11803 if (ndr_flags & NDR_BUFFERS) {
11806 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
11810 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11813 return NDR_ERR_SUCCESS;
11816 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
11819 level = ndr_print_get_switch_value(ndr, r);
11820 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
11823 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
11827 ndr_print_bad_level(ndr, name, level);
11831 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
11833 if (ndr_flags & NDR_SCALARS) {
11834 NDR_CHECK(ndr_push_align(ndr, 4));
11835 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
11836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
11838 if (ndr_flags & NDR_BUFFERS) {
11840 return NDR_ERR_SUCCESS;
11843 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
11845 if (ndr_flags & NDR_SCALARS) {
11846 NDR_CHECK(ndr_pull_align(ndr, 4));
11847 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
11848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
11850 if (ndr_flags & NDR_BUFFERS) {
11852 return NDR_ERR_SUCCESS;
11855 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
11857 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
11859 ndr_print_WERROR(ndr, "error_code", r->error_code);
11860 ndr_print_uint32(ndr, "site_cost", r->site_cost);
11864 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
11866 uint32_t cntr_info_1;
11867 if (ndr_flags & NDR_SCALARS) {
11868 NDR_CHECK(ndr_push_align(ndr, 4));
11869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
11870 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
11871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
11873 if (ndr_flags & NDR_BUFFERS) {
11875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
11876 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
11877 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
11881 return NDR_ERR_SUCCESS;
11884 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
11886 uint32_t _ptr_info;
11887 uint32_t cntr_info_1;
11888 TALLOC_CTX *_mem_save_info_0;
11889 TALLOC_CTX *_mem_save_info_1;
11890 if (ndr_flags & NDR_SCALARS) {
11891 NDR_CHECK(ndr_pull_align(ndr, 4));
11892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
11893 if (r->num_info < 0 || r->num_info > 10000) {
11894 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11896 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11898 NDR_PULL_ALLOC(ndr, r->info);
11902 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
11904 if (ndr_flags & NDR_BUFFERS) {
11906 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11907 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
11908 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
11909 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
11910 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11911 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
11912 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
11913 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
11915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
11919 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
11922 return NDR_ERR_SUCCESS;
11925 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
11927 uint32_t cntr_info_1;
11928 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
11930 ndr_print_uint32(ndr, "num_info", r->num_info);
11931 ndr_print_ptr(ndr, "info", r->info);
11934 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
11936 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
11938 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
11939 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
11946 ndr_print_uint32(ndr, "unknown", r->unknown);
11950 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
11952 if (ndr_flags & NDR_SCALARS) {
11953 int level = ndr_push_get_switch_value(ndr, r);
11954 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
11957 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
11961 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11964 if (ndr_flags & NDR_BUFFERS) {
11965 int level = ndr_push_get_switch_value(ndr, r);
11968 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
11972 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11975 return NDR_ERR_SUCCESS;
11978 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
11982 level = ndr_pull_get_switch_value(ndr, r);
11983 if (ndr_flags & NDR_SCALARS) {
11984 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
11985 if (_level != level) {
11986 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
11990 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
11994 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11997 if (ndr_flags & NDR_BUFFERS) {
12000 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12004 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12007 return NDR_ERR_SUCCESS;
12010 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
12013 level = ndr_print_get_switch_value(ndr, r);
12014 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
12017 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
12021 ndr_print_bad_level(ndr, name, level);
12025 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
12027 uint32_t cntr_site_to_1;
12028 if (ndr_flags & NDR_SCALARS) {
12029 NDR_CHECK(ndr_push_align(ndr, 4));
12030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
12031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12032 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
12033 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
12035 if (ndr_flags & NDR_BUFFERS) {
12036 if (r->site_from) {
12037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
12038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12039 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
12040 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12044 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12045 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
12047 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12048 if (r->site_to[cntr_site_to_1]) {
12049 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
12050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
12052 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));
12057 return NDR_ERR_SUCCESS;
12060 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
12062 uint32_t _ptr_site_from;
12063 TALLOC_CTX *_mem_save_site_from_0;
12064 uint32_t _ptr_site_to;
12065 uint32_t cntr_site_to_1;
12066 TALLOC_CTX *_mem_save_site_to_0;
12067 TALLOC_CTX *_mem_save_site_to_1;
12068 TALLOC_CTX *_mem_save_site_to_2;
12069 if (ndr_flags & NDR_SCALARS) {
12070 NDR_CHECK(ndr_pull_align(ndr, 4));
12071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
12072 if (_ptr_site_from) {
12073 NDR_PULL_ALLOC(ndr, r->site_from);
12075 r->site_from = NULL;
12077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12078 if (r->num_req < 1 || r->num_req > 10000) {
12079 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
12082 if (_ptr_site_to) {
12083 NDR_PULL_ALLOC(ndr, r->site_to);
12087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
12089 if (ndr_flags & NDR_BUFFERS) {
12090 if (r->site_from) {
12091 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
12092 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
12093 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
12094 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
12095 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
12096 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));
12098 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
12099 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
12100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
12103 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
12104 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
12105 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
12106 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
12107 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
12108 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
12109 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12110 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
12111 if (_ptr_site_to) {
12112 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
12114 r->site_to[cntr_site_to_1] = NULL;
12117 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12118 if (r->site_to[cntr_site_to_1]) {
12119 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
12120 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
12121 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
12122 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
12123 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])) {
12124 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]));
12126 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
12127 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));
12128 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
12131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
12132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
12135 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
12138 return NDR_ERR_SUCCESS;
12141 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
12143 uint32_t cntr_site_to_1;
12144 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
12146 ndr_print_ptr(ndr, "site_from", r->site_from);
12148 if (r->site_from) {
12149 ndr_print_string(ndr, "site_from", r->site_from);
12152 ndr_print_uint32(ndr, "num_req", r->num_req);
12153 ndr_print_ptr(ndr, "site_to", r->site_to);
12156 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
12158 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
12160 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
12161 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
12163 if (r->site_to[cntr_site_to_1]) {
12164 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
12173 ndr_print_uint32(ndr, "flags", r->flags);
12177 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
12179 if (ndr_flags & NDR_SCALARS) {
12180 int level = ndr_push_get_switch_value(ndr, r);
12181 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12184 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
12188 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12191 if (ndr_flags & NDR_BUFFERS) {
12192 int level = ndr_push_get_switch_value(ndr, r);
12195 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
12199 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12202 return NDR_ERR_SUCCESS;
12205 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
12209 level = ndr_pull_get_switch_value(ndr, r);
12210 if (ndr_flags & NDR_SCALARS) {
12211 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12212 if (_level != level) {
12213 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
12217 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
12221 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12224 if (ndr_flags & NDR_BUFFERS) {
12227 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
12231 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12234 return NDR_ERR_SUCCESS;
12237 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
12240 level = ndr_print_get_switch_value(ndr, r);
12241 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
12244 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
12248 ndr_print_bad_level(ndr, name, level);
12252 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
12254 if (flags & NDR_IN) {
12255 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
12256 if (r->in.bind_guid) {
12257 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
12259 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
12260 if (r->in.bind_info) {
12261 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
12264 if (flags & NDR_OUT) {
12265 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
12266 if (r->out.bind_info) {
12267 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
12269 if (r->out.bind_handle == NULL) {
12270 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12272 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
12273 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12275 return NDR_ERR_SUCCESS;
12278 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
12280 uint32_t _ptr_bind_guid;
12281 uint32_t _ptr_bind_info;
12282 TALLOC_CTX *_mem_save_bind_guid_0;
12283 TALLOC_CTX *_mem_save_bind_info_0;
12284 TALLOC_CTX *_mem_save_bind_handle_0;
12285 if (flags & NDR_IN) {
12286 ZERO_STRUCT(r->out);
12288 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
12289 if (_ptr_bind_guid) {
12290 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
12292 r->in.bind_guid = NULL;
12294 if (r->in.bind_guid) {
12295 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12296 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
12297 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
12298 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
12300 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
12301 if (_ptr_bind_info) {
12302 NDR_PULL_ALLOC(ndr, r->in.bind_info);
12304 r->in.bind_info = NULL;
12306 if (r->in.bind_info) {
12307 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12308 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
12309 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
12310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
12312 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
12313 ZERO_STRUCTP(r->out.bind_handle);
12315 if (flags & NDR_OUT) {
12316 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
12317 if (_ptr_bind_info) {
12318 NDR_PULL_ALLOC(ndr, r->out.bind_info);
12320 r->out.bind_info = NULL;
12322 if (r->out.bind_info) {
12323 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12324 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
12325 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
12326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
12328 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12329 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
12331 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12332 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12333 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
12334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12335 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12337 return NDR_ERR_SUCCESS;
12340 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
12342 ndr_print_struct(ndr, name, "drsuapi_DsBind");
12344 if (flags & NDR_SET_VALUES) {
12345 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12347 if (flags & NDR_IN) {
12348 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
12350 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
12352 if (r->in.bind_guid) {
12353 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
12356 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
12358 if (r->in.bind_info) {
12359 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
12364 if (flags & NDR_OUT) {
12365 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
12367 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
12369 if (r->out.bind_info) {
12370 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
12373 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
12375 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
12377 ndr_print_WERROR(ndr, "result", r->out.result);
12383 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
12385 if (flags & NDR_IN) {
12386 if (r->in.bind_handle == NULL) {
12387 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12389 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12391 if (flags & NDR_OUT) {
12392 if (r->out.bind_handle == NULL) {
12393 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12395 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
12396 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12398 return NDR_ERR_SUCCESS;
12401 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
12403 TALLOC_CTX *_mem_save_bind_handle_0;
12404 if (flags & NDR_IN) {
12405 ZERO_STRUCT(r->out);
12407 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12408 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12410 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12411 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12412 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12414 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
12415 *r->out.bind_handle = *r->in.bind_handle;
12417 if (flags & NDR_OUT) {
12418 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12419 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
12421 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12422 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12423 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
12424 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12425 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12427 return NDR_ERR_SUCCESS;
12430 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
12432 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
12434 if (flags & NDR_SET_VALUES) {
12435 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12437 if (flags & NDR_IN) {
12438 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
12440 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12442 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12446 if (flags & NDR_OUT) {
12447 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
12449 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
12451 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
12453 ndr_print_WERROR(ndr, "result", r->out.result);
12459 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
12461 if (flags & NDR_IN) {
12462 if (r->in.bind_handle == NULL) {
12463 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12465 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12466 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
12467 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
12468 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
12470 if (flags & NDR_OUT) {
12471 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12473 return NDR_ERR_SUCCESS;
12476 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
12478 TALLOC_CTX *_mem_save_bind_handle_0;
12479 if (flags & NDR_IN) {
12480 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12481 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12483 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12484 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12485 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12487 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
12488 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
12489 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
12491 if (flags & NDR_OUT) {
12492 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12494 return NDR_ERR_SUCCESS;
12497 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
12499 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
12501 if (flags & NDR_SET_VALUES) {
12502 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12504 if (flags & NDR_IN) {
12505 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
12507 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12509 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12511 ndr_print_int32(ndr, "level", r->in.level);
12512 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
12513 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
12516 if (flags & NDR_OUT) {
12517 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
12519 ndr_print_WERROR(ndr, "result", r->out.result);
12525 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
12527 if (flags & NDR_IN) {
12528 if (r->in.bind_handle == NULL) {
12529 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12531 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12532 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
12533 if (r->in.req == NULL) {
12534 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12536 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
12537 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12539 if (flags & NDR_OUT) {
12540 if (r->out.level_out == NULL) {
12541 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12543 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
12544 if (r->out.ctr == NULL) {
12545 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12547 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
12548 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
12549 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12551 return NDR_ERR_SUCCESS;
12554 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
12556 TALLOC_CTX *_mem_save_bind_handle_0;
12557 TALLOC_CTX *_mem_save_req_0;
12558 TALLOC_CTX *_mem_save_level_out_0;
12559 TALLOC_CTX *_mem_save_ctr_0;
12560 if (flags & NDR_IN) {
12561 ZERO_STRUCT(r->out);
12563 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12564 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12566 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12567 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12568 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12569 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12570 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
12571 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12572 NDR_PULL_ALLOC(ndr, r->in.req);
12574 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
12575 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
12576 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
12577 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
12579 NDR_PULL_ALLOC(ndr, r->out.level_out);
12580 ZERO_STRUCTP(r->out.level_out);
12581 NDR_PULL_ALLOC(ndr, r->out.ctr);
12582 ZERO_STRUCTP(r->out.ctr);
12584 if (flags & NDR_OUT) {
12585 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12586 NDR_PULL_ALLOC(ndr, r->out.level_out);
12588 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
12589 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
12590 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
12591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
12592 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12593 NDR_PULL_ALLOC(ndr, r->out.ctr);
12595 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12596 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12597 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
12598 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
12599 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12600 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12602 return NDR_ERR_SUCCESS;
12605 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
12607 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
12609 if (flags & NDR_SET_VALUES) {
12610 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12612 if (flags & NDR_IN) {
12613 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
12615 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12617 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12619 ndr_print_int32(ndr, "level", r->in.level);
12620 ndr_print_ptr(ndr, "req", r->in.req);
12622 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
12623 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
12627 if (flags & NDR_OUT) {
12628 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
12630 ndr_print_ptr(ndr, "level_out", r->out.level_out);
12632 ndr_print_int32(ndr, "level_out", *r->out.level_out);
12634 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12636 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
12637 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
12639 ndr_print_WERROR(ndr, "result", r->out.result);
12645 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
12647 if (flags & NDR_IN) {
12648 if (r->in.bind_handle == NULL) {
12649 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12651 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12652 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
12653 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
12654 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
12656 if (flags & NDR_OUT) {
12657 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12659 return NDR_ERR_SUCCESS;
12662 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
12664 TALLOC_CTX *_mem_save_bind_handle_0;
12665 if (flags & NDR_IN) {
12666 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12667 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12669 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12670 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12671 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12673 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
12674 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
12675 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
12677 if (flags & NDR_OUT) {
12678 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12680 return NDR_ERR_SUCCESS;
12683 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
12685 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
12687 if (flags & NDR_SET_VALUES) {
12688 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12690 if (flags & NDR_IN) {
12691 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
12693 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12695 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12697 ndr_print_int32(ndr, "level", r->in.level);
12698 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
12699 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
12702 if (flags & NDR_OUT) {
12703 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
12705 ndr_print_WERROR(ndr, "result", r->out.result);
12711 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_ADD(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_ADD *r)
12713 if (flags & NDR_IN) {
12715 if (flags & NDR_OUT) {
12716 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12718 return NDR_ERR_SUCCESS;
12721 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_ADD(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_ADD *r)
12723 if (flags & NDR_IN) {
12725 if (flags & NDR_OUT) {
12726 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12728 return NDR_ERR_SUCCESS;
12731 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_ADD(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_ADD *r)
12733 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_ADD");
12735 if (flags & NDR_SET_VALUES) {
12736 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12738 if (flags & NDR_IN) {
12739 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_ADD");
12743 if (flags & NDR_OUT) {
12744 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_ADD");
12746 ndr_print_WERROR(ndr, "result", r->out.result);
12752 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_DEL(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_DEL *r)
12754 if (flags & NDR_IN) {
12756 if (flags & NDR_OUT) {
12757 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12759 return NDR_ERR_SUCCESS;
12762 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_DEL(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_DEL *r)
12764 if (flags & NDR_IN) {
12766 if (flags & NDR_OUT) {
12767 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12769 return NDR_ERR_SUCCESS;
12772 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_DEL(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_DEL *r)
12774 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_DEL");
12776 if (flags & NDR_SET_VALUES) {
12777 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12779 if (flags & NDR_IN) {
12780 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_DEL");
12784 if (flags & NDR_OUT) {
12785 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_DEL");
12787 ndr_print_WERROR(ndr, "result", r->out.result);
12793 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_MODIFY(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_MODIFY *r)
12795 if (flags & NDR_IN) {
12797 if (flags & NDR_OUT) {
12798 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12800 return NDR_ERR_SUCCESS;
12803 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_MODIFY(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_MODIFY *r)
12805 if (flags & NDR_IN) {
12807 if (flags & NDR_OUT) {
12808 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12810 return NDR_ERR_SUCCESS;
12813 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_MODIFY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_MODIFY *r)
12815 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_MODIFY");
12817 if (flags & NDR_SET_VALUES) {
12818 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12820 if (flags & NDR_IN) {
12821 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_MODIFY");
12825 if (flags & NDR_OUT) {
12826 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_MODIFY");
12828 ndr_print_WERROR(ndr, "result", r->out.result);
12834 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
12836 if (flags & NDR_IN) {
12838 if (flags & NDR_OUT) {
12839 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12841 return NDR_ERR_SUCCESS;
12844 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
12846 if (flags & NDR_IN) {
12848 if (flags & NDR_OUT) {
12849 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12851 return NDR_ERR_SUCCESS;
12854 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
12856 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
12858 if (flags & NDR_SET_VALUES) {
12859 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12861 if (flags & NDR_IN) {
12862 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
12866 if (flags & NDR_OUT) {
12867 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
12869 ndr_print_WERROR(ndr, "result", r->out.result);
12875 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
12877 if (flags & NDR_IN) {
12878 if (r->in.bind_handle == NULL) {
12879 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12881 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12882 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
12883 if (r->in.req == NULL) {
12884 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12886 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
12887 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12889 if (flags & NDR_OUT) {
12890 if (r->out.level_out == NULL) {
12891 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12893 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
12894 if (r->out.ctr == NULL) {
12895 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12897 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
12898 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
12899 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12901 return NDR_ERR_SUCCESS;
12904 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
12906 TALLOC_CTX *_mem_save_bind_handle_0;
12907 TALLOC_CTX *_mem_save_req_0;
12908 TALLOC_CTX *_mem_save_level_out_0;
12909 TALLOC_CTX *_mem_save_ctr_0;
12910 if (flags & NDR_IN) {
12911 ZERO_STRUCT(r->out);
12913 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12914 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12916 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12917 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12918 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12920 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
12921 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12922 NDR_PULL_ALLOC(ndr, r->in.req);
12924 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
12925 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
12926 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
12927 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
12929 NDR_PULL_ALLOC(ndr, r->out.level_out);
12930 ZERO_STRUCTP(r->out.level_out);
12931 NDR_PULL_ALLOC(ndr, r->out.ctr);
12932 ZERO_STRUCTP(r->out.ctr);
12934 if (flags & NDR_OUT) {
12935 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12936 NDR_PULL_ALLOC(ndr, r->out.level_out);
12938 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
12939 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
12940 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
12941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
12942 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12943 NDR_PULL_ALLOC(ndr, r->out.ctr);
12945 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12946 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12947 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
12948 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
12949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12950 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12952 return NDR_ERR_SUCCESS;
12955 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
12957 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
12959 if (flags & NDR_SET_VALUES) {
12960 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12962 if (flags & NDR_IN) {
12963 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
12965 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12967 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12969 ndr_print_int32(ndr, "level", r->in.level);
12970 ndr_print_ptr(ndr, "req", r->in.req);
12972 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
12973 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
12977 if (flags & NDR_OUT) {
12978 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
12980 ndr_print_ptr(ndr, "level_out", r->out.level_out);
12982 ndr_print_int32(ndr, "level_out", *r->out.level_out);
12984 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12986 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
12987 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
12989 ndr_print_WERROR(ndr, "result", r->out.result);
12995 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
12997 if (flags & NDR_IN) {
12999 if (flags & NDR_OUT) {
13000 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13002 return NDR_ERR_SUCCESS;
13005 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
13007 if (flags & NDR_IN) {
13009 if (flags & NDR_OUT) {
13010 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13012 return NDR_ERR_SUCCESS;
13015 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
13017 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
13019 if (flags & NDR_SET_VALUES) {
13020 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13022 if (flags & NDR_IN) {
13023 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
13027 if (flags & NDR_OUT) {
13028 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
13030 ndr_print_WERROR(ndr, "result", r->out.result);
13036 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
13038 if (flags & NDR_IN) {
13039 if (r->in.bind_handle == NULL) {
13040 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13042 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13044 if (r->in.req == NULL) {
13045 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13047 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13048 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13050 if (flags & NDR_OUT) {
13051 if (r->out.level_out == NULL) {
13052 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13055 if (r->out.info == NULL) {
13056 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13058 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
13059 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13060 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13062 return NDR_ERR_SUCCESS;
13065 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
13067 TALLOC_CTX *_mem_save_bind_handle_0;
13068 TALLOC_CTX *_mem_save_req_0;
13069 TALLOC_CTX *_mem_save_level_out_0;
13070 TALLOC_CTX *_mem_save_info_0;
13071 if (flags & NDR_IN) {
13072 ZERO_STRUCT(r->out);
13074 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13075 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13077 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13078 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13079 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13080 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13081 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13082 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13083 NDR_PULL_ALLOC(ndr, r->in.req);
13085 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13086 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13087 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13088 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13090 NDR_PULL_ALLOC(ndr, r->out.level_out);
13091 ZERO_STRUCTP(r->out.level_out);
13092 NDR_PULL_ALLOC(ndr, r->out.info);
13093 ZERO_STRUCTP(r->out.info);
13095 if (flags & NDR_OUT) {
13096 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13097 NDR_PULL_ALLOC(ndr, r->out.level_out);
13099 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13100 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13101 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
13102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13103 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13104 NDR_PULL_ALLOC(ndr, r->out.info);
13106 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13107 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13108 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
13109 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13111 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13113 return NDR_ERR_SUCCESS;
13116 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
13118 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
13120 if (flags & NDR_SET_VALUES) {
13121 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13123 if (flags & NDR_IN) {
13124 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
13126 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13128 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13130 ndr_print_uint32(ndr, "level", r->in.level);
13131 ndr_print_ptr(ndr, "req", r->in.req);
13133 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13134 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
13138 if (flags & NDR_OUT) {
13139 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
13141 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13143 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
13145 ndr_print_ptr(ndr, "info", r->out.info);
13147 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
13148 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
13150 ndr_print_WERROR(ndr, "result", r->out.result);
13156 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
13158 if (flags & NDR_IN) {
13159 if (r->in.bind_handle == NULL) {
13160 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13162 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13163 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13164 if (r->in.req == NULL) {
13165 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13167 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13168 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13170 if (flags & NDR_OUT) {
13171 if (r->out.level_out == NULL) {
13172 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13174 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13175 if (r->out.ctr == NULL) {
13176 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13178 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13179 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13180 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13182 return NDR_ERR_SUCCESS;
13185 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
13187 TALLOC_CTX *_mem_save_bind_handle_0;
13188 TALLOC_CTX *_mem_save_req_0;
13189 TALLOC_CTX *_mem_save_level_out_0;
13190 TALLOC_CTX *_mem_save_ctr_0;
13191 if (flags & NDR_IN) {
13192 ZERO_STRUCT(r->out);
13194 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13195 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13197 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13198 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13199 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13201 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13202 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13203 NDR_PULL_ALLOC(ndr, r->in.req);
13205 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13206 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13207 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13208 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13210 NDR_PULL_ALLOC(ndr, r->out.level_out);
13211 ZERO_STRUCTP(r->out.level_out);
13212 NDR_PULL_ALLOC(ndr, r->out.ctr);
13213 ZERO_STRUCTP(r->out.ctr);
13215 if (flags & NDR_OUT) {
13216 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13217 NDR_PULL_ALLOC(ndr, r->out.level_out);
13219 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13220 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13221 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13222 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13223 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13224 NDR_PULL_ALLOC(ndr, r->out.ctr);
13226 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13227 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13228 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13229 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13230 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13231 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13233 return NDR_ERR_SUCCESS;
13236 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
13238 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
13240 if (flags & NDR_SET_VALUES) {
13241 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13243 if (flags & NDR_IN) {
13244 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
13246 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13248 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13250 ndr_print_int32(ndr, "level", r->in.level);
13251 ndr_print_ptr(ndr, "req", r->in.req);
13253 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13254 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
13258 if (flags & NDR_OUT) {
13259 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
13261 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13263 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13265 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13267 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13268 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
13270 ndr_print_WERROR(ndr, "result", r->out.result);
13276 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
13278 if (flags & NDR_IN) {
13279 if (r->in.bind_handle == NULL) {
13280 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13282 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13283 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13284 if (r->in.req == NULL) {
13285 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13287 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13288 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13290 if (flags & NDR_OUT) {
13291 if (r->out.level_out == NULL) {
13292 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13294 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13295 if (r->out.res == NULL) {
13296 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13298 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
13299 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
13300 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13302 return NDR_ERR_SUCCESS;
13305 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
13307 TALLOC_CTX *_mem_save_bind_handle_0;
13308 TALLOC_CTX *_mem_save_req_0;
13309 TALLOC_CTX *_mem_save_level_out_0;
13310 TALLOC_CTX *_mem_save_res_0;
13311 if (flags & NDR_IN) {
13312 ZERO_STRUCT(r->out);
13314 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13315 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13317 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13318 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13319 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13321 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13322 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13323 NDR_PULL_ALLOC(ndr, r->in.req);
13325 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13326 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13327 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13328 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13330 NDR_PULL_ALLOC(ndr, r->out.level_out);
13331 ZERO_STRUCTP(r->out.level_out);
13332 NDR_PULL_ALLOC(ndr, r->out.res);
13333 ZERO_STRUCTP(r->out.res);
13335 if (flags & NDR_OUT) {
13336 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13337 NDR_PULL_ALLOC(ndr, r->out.level_out);
13339 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13340 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13341 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13342 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13343 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13344 NDR_PULL_ALLOC(ndr, r->out.res);
13346 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
13347 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
13348 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
13349 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
13350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
13351 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13353 return NDR_ERR_SUCCESS;
13356 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
13358 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
13360 if (flags & NDR_SET_VALUES) {
13361 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13363 if (flags & NDR_IN) {
13364 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
13366 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13368 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13370 ndr_print_int32(ndr, "level", r->in.level);
13371 ndr_print_ptr(ndr, "req", r->in.req);
13373 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13374 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
13378 if (flags & NDR_OUT) {
13379 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
13381 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13383 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13385 ndr_print_ptr(ndr, "res", r->out.res);
13387 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
13388 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
13390 ndr_print_WERROR(ndr, "result", r->out.result);
13396 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
13398 if (flags & NDR_IN) {
13399 if (r->in.bind_handle == NULL) {
13400 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13402 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13403 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13404 if (r->in.req == NULL) {
13405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13407 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13408 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13410 if (flags & NDR_OUT) {
13411 if (r->out.level_out == NULL) {
13412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13414 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13415 if (r->out.res == NULL) {
13416 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13418 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
13419 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
13420 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13422 return NDR_ERR_SUCCESS;
13425 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
13427 TALLOC_CTX *_mem_save_bind_handle_0;
13428 TALLOC_CTX *_mem_save_req_0;
13429 TALLOC_CTX *_mem_save_level_out_0;
13430 TALLOC_CTX *_mem_save_res_0;
13431 if (flags & NDR_IN) {
13432 ZERO_STRUCT(r->out);
13434 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13435 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13437 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13438 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13439 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13440 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13441 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13442 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13443 NDR_PULL_ALLOC(ndr, r->in.req);
13445 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13446 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13447 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13448 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13450 NDR_PULL_ALLOC(ndr, r->out.level_out);
13451 ZERO_STRUCTP(r->out.level_out);
13452 NDR_PULL_ALLOC(ndr, r->out.res);
13453 ZERO_STRUCTP(r->out.res);
13455 if (flags & NDR_OUT) {
13456 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13457 NDR_PULL_ALLOC(ndr, r->out.level_out);
13459 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13460 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13461 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13464 NDR_PULL_ALLOC(ndr, r->out.res);
13466 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
13467 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
13468 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
13469 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
13470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
13471 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13473 return NDR_ERR_SUCCESS;
13476 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
13478 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
13480 if (flags & NDR_SET_VALUES) {
13481 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13483 if (flags & NDR_IN) {
13484 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
13486 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13488 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13490 ndr_print_int32(ndr, "level", r->in.level);
13491 ndr_print_ptr(ndr, "req", r->in.req);
13493 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13494 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
13498 if (flags & NDR_OUT) {
13499 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
13501 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13503 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13505 ndr_print_ptr(ndr, "res", r->out.res);
13507 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
13508 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
13510 ndr_print_WERROR(ndr, "result", r->out.result);
13516 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
13518 if (flags & NDR_IN) {
13520 if (flags & NDR_OUT) {
13521 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13523 return NDR_ERR_SUCCESS;
13526 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
13528 if (flags & NDR_IN) {
13530 if (flags & NDR_OUT) {
13531 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13533 return NDR_ERR_SUCCESS;
13536 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
13538 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
13540 if (flags & NDR_SET_VALUES) {
13541 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13543 if (flags & NDR_IN) {
13544 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
13548 if (flags & NDR_OUT) {
13549 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
13551 ndr_print_WERROR(ndr, "result", r->out.result);
13557 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
13559 if (flags & NDR_IN) {
13560 if (r->in.bind_handle == NULL) {
13561 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13563 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13564 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13565 if (r->in.req == NULL) {
13566 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13568 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13569 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13571 if (flags & NDR_OUT) {
13572 if (r->out.level_out == NULL) {
13573 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13575 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13576 if (r->out.ctr == NULL) {
13577 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13579 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13580 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13581 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13583 return NDR_ERR_SUCCESS;
13586 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
13588 TALLOC_CTX *_mem_save_bind_handle_0;
13589 TALLOC_CTX *_mem_save_req_0;
13590 TALLOC_CTX *_mem_save_level_out_0;
13591 TALLOC_CTX *_mem_save_ctr_0;
13592 if (flags & NDR_IN) {
13593 ZERO_STRUCT(r->out);
13595 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13596 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13598 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13599 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13600 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13602 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13603 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13604 NDR_PULL_ALLOC(ndr, r->in.req);
13606 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13607 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13608 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13609 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13611 NDR_PULL_ALLOC(ndr, r->out.level_out);
13612 ZERO_STRUCTP(r->out.level_out);
13613 NDR_PULL_ALLOC(ndr, r->out.ctr);
13614 ZERO_STRUCTP(r->out.ctr);
13616 if (flags & NDR_OUT) {
13617 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13618 NDR_PULL_ALLOC(ndr, r->out.level_out);
13620 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13621 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13622 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13623 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13624 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13625 NDR_PULL_ALLOC(ndr, r->out.ctr);
13627 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13628 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13629 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13630 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13632 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13634 return NDR_ERR_SUCCESS;
13637 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
13639 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
13641 if (flags & NDR_SET_VALUES) {
13642 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13644 if (flags & NDR_IN) {
13645 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
13647 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13649 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13651 ndr_print_int32(ndr, "level", r->in.level);
13652 ndr_print_ptr(ndr, "req", r->in.req);
13654 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13655 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
13659 if (flags & NDR_OUT) {
13660 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
13662 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13664 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13666 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13668 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13669 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
13671 ndr_print_WERROR(ndr, "result", r->out.result);
13677 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
13679 if (flags & NDR_IN) {
13680 if (r->in.bind_handle == NULL) {
13681 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13683 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13684 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13685 if (r->in.req == NULL) {
13686 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13688 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13689 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13691 if (flags & NDR_OUT) {
13692 if (r->out.level_out == NULL) {
13693 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13695 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13696 if (r->out.ctr == NULL) {
13697 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13699 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13700 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13701 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13703 return NDR_ERR_SUCCESS;
13706 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
13708 TALLOC_CTX *_mem_save_bind_handle_0;
13709 TALLOC_CTX *_mem_save_req_0;
13710 TALLOC_CTX *_mem_save_level_out_0;
13711 TALLOC_CTX *_mem_save_ctr_0;
13712 if (flags & NDR_IN) {
13713 ZERO_STRUCT(r->out);
13715 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13716 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13718 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13719 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13720 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13722 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13723 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13724 NDR_PULL_ALLOC(ndr, r->in.req);
13726 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13727 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13728 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13729 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13730 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13731 NDR_PULL_ALLOC(ndr, r->out.level_out);
13732 ZERO_STRUCTP(r->out.level_out);
13733 NDR_PULL_ALLOC(ndr, r->out.ctr);
13734 ZERO_STRUCTP(r->out.ctr);
13736 if (flags & NDR_OUT) {
13737 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13738 NDR_PULL_ALLOC(ndr, r->out.level_out);
13740 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13741 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13742 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13744 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13745 NDR_PULL_ALLOC(ndr, r->out.ctr);
13747 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13748 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13749 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13750 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13752 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13754 return NDR_ERR_SUCCESS;
13757 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
13759 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
13761 if (flags & NDR_SET_VALUES) {
13762 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13764 if (flags & NDR_IN) {
13765 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
13767 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13769 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13771 ndr_print_int32(ndr, "level", r->in.level);
13772 ndr_print_ptr(ndr, "req", r->in.req);
13774 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13775 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
13779 if (flags & NDR_OUT) {
13780 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
13782 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13784 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13786 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13788 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13789 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
13791 ndr_print_WERROR(ndr, "result", r->out.result);
13797 static enum ndr_err_code ndr_push_DRSUAPI_EXECUTE_KCC(struct ndr_push *ndr, int flags, const struct DRSUAPI_EXECUTE_KCC *r)
13799 if (flags & NDR_IN) {
13801 if (flags & NDR_OUT) {
13802 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13804 return NDR_ERR_SUCCESS;
13807 static enum ndr_err_code ndr_pull_DRSUAPI_EXECUTE_KCC(struct ndr_pull *ndr, int flags, struct DRSUAPI_EXECUTE_KCC *r)
13809 if (flags & NDR_IN) {
13811 if (flags & NDR_OUT) {
13812 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13814 return NDR_ERR_SUCCESS;
13817 _PUBLIC_ void ndr_print_DRSUAPI_EXECUTE_KCC(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_EXECUTE_KCC *r)
13819 ndr_print_struct(ndr, name, "DRSUAPI_EXECUTE_KCC");
13821 if (flags & NDR_SET_VALUES) {
13822 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13824 if (flags & NDR_IN) {
13825 ndr_print_struct(ndr, "in", "DRSUAPI_EXECUTE_KCC");
13829 if (flags & NDR_OUT) {
13830 ndr_print_struct(ndr, "out", "DRSUAPI_EXECUTE_KCC");
13832 ndr_print_WERROR(ndr, "result", r->out.result);
13838 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
13840 if (flags & NDR_IN) {
13841 if (r->in.bind_handle == NULL) {
13842 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13844 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13845 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
13846 if (r->in.req == NULL) {
13847 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13849 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13850 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13852 if (flags & NDR_OUT) {
13853 if (r->out.info_type == NULL) {
13854 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13856 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
13857 if (r->out.info == NULL) {
13858 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13860 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
13861 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
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_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
13869 TALLOC_CTX *_mem_save_bind_handle_0;
13870 TALLOC_CTX *_mem_save_req_0;
13871 TALLOC_CTX *_mem_save_info_type_0;
13872 TALLOC_CTX *_mem_save_info_0;
13873 if (flags & NDR_IN) {
13874 ZERO_STRUCT(r->out);
13876 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13877 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13879 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13880 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13881 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13883 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
13884 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13885 NDR_PULL_ALLOC(ndr, r->in.req);
13887 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13888 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13889 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13890 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13892 NDR_PULL_ALLOC(ndr, r->out.info_type);
13893 ZERO_STRUCTP(r->out.info_type);
13894 NDR_PULL_ALLOC(ndr, r->out.info);
13895 ZERO_STRUCTP(r->out.info);
13897 if (flags & NDR_OUT) {
13898 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13899 NDR_PULL_ALLOC(ndr, r->out.info_type);
13901 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
13902 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
13903 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
13904 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
13905 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13906 NDR_PULL_ALLOC(ndr, r->out.info);
13908 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13909 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13910 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
13911 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13913 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13915 return NDR_ERR_SUCCESS;
13918 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
13920 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
13922 if (flags & NDR_SET_VALUES) {
13923 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13925 if (flags & NDR_IN) {
13926 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
13928 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13930 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13932 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
13933 ndr_print_ptr(ndr, "req", r->in.req);
13935 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13936 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
13940 if (flags & NDR_OUT) {
13941 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
13943 ndr_print_ptr(ndr, "info_type", r->out.info_type);
13945 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
13947 ndr_print_ptr(ndr, "info", r->out.info);
13949 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
13950 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
13952 ndr_print_WERROR(ndr, "result", r->out.result);
13958 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
13960 if (flags & NDR_IN) {
13962 if (flags & NDR_OUT) {
13963 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13965 return NDR_ERR_SUCCESS;
13968 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
13970 if (flags & NDR_IN) {
13972 if (flags & NDR_OUT) {
13973 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13975 return NDR_ERR_SUCCESS;
13978 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
13980 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
13982 if (flags & NDR_SET_VALUES) {
13983 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13985 if (flags & NDR_IN) {
13986 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
13990 if (flags & NDR_OUT) {
13991 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
13993 ndr_print_WERROR(ndr, "result", r->out.result);
13999 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
14001 if (flags & NDR_IN) {
14002 if (r->in.bind_handle == NULL) {
14003 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14005 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14006 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14007 if (r->in.req == NULL) {
14008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14010 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14011 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14013 if (flags & NDR_OUT) {
14014 if (r->out.level_out == NULL) {
14015 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14017 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14018 if (r->out.ctr == NULL) {
14019 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14021 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14022 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14023 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14025 return NDR_ERR_SUCCESS;
14028 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
14030 TALLOC_CTX *_mem_save_bind_handle_0;
14031 TALLOC_CTX *_mem_save_req_0;
14032 TALLOC_CTX *_mem_save_level_out_0;
14033 TALLOC_CTX *_mem_save_ctr_0;
14034 if (flags & NDR_IN) {
14035 ZERO_STRUCT(r->out);
14037 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14038 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14040 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14041 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14042 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14043 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14044 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14045 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14046 NDR_PULL_ALLOC(ndr, r->in.req);
14048 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14049 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14050 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14051 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14052 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14053 NDR_PULL_ALLOC(ndr, r->out.level_out);
14054 ZERO_STRUCTP(r->out.level_out);
14055 NDR_PULL_ALLOC(ndr, r->out.ctr);
14056 ZERO_STRUCTP(r->out.ctr);
14058 if (flags & NDR_OUT) {
14059 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14060 NDR_PULL_ALLOC(ndr, r->out.level_out);
14062 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14063 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14064 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14066 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14067 NDR_PULL_ALLOC(ndr, r->out.ctr);
14069 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14070 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14071 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14072 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14074 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14076 return NDR_ERR_SUCCESS;
14079 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
14081 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
14083 if (flags & NDR_SET_VALUES) {
14084 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14086 if (flags & NDR_IN) {
14087 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
14089 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14091 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14093 ndr_print_int32(ndr, "level", r->in.level);
14094 ndr_print_ptr(ndr, "req", r->in.req);
14096 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14097 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
14101 if (flags & NDR_OUT) {
14102 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
14104 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14106 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14108 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14110 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14111 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
14113 ndr_print_WERROR(ndr, "result", r->out.result);
14119 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
14121 if (flags & NDR_IN) {
14123 if (flags & NDR_OUT) {
14124 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14126 return NDR_ERR_SUCCESS;
14129 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
14131 if (flags & NDR_IN) {
14133 if (flags & NDR_OUT) {
14134 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14136 return NDR_ERR_SUCCESS;
14139 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
14141 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14143 if (flags & NDR_SET_VALUES) {
14144 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14146 if (flags & NDR_IN) {
14147 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14151 if (flags & NDR_OUT) {
14152 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14154 ndr_print_WERROR(ndr, "result", r->out.result);
14160 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
14162 if (flags & NDR_IN) {
14164 if (flags & NDR_OUT) {
14165 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14167 return NDR_ERR_SUCCESS;
14170 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
14172 if (flags & NDR_IN) {
14174 if (flags & NDR_OUT) {
14175 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14177 return NDR_ERR_SUCCESS;
14180 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
14182 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
14184 if (flags & NDR_SET_VALUES) {
14185 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14187 if (flags & NDR_IN) {
14188 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
14192 if (flags & NDR_OUT) {
14193 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
14195 ndr_print_WERROR(ndr, "result", r->out.result);
14201 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
14203 if (flags & NDR_IN) {
14204 if (r->in.bind_handle == NULL) {
14205 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14207 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14208 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14209 if (r->in.req == NULL) {
14210 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14212 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14213 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14215 if (flags & NDR_OUT) {
14216 if (r->out.level_out == NULL) {
14217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14219 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14220 if (r->out.ctr == NULL) {
14221 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14223 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14224 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14225 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14227 return NDR_ERR_SUCCESS;
14230 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
14232 TALLOC_CTX *_mem_save_bind_handle_0;
14233 TALLOC_CTX *_mem_save_req_0;
14234 TALLOC_CTX *_mem_save_level_out_0;
14235 TALLOC_CTX *_mem_save_ctr_0;
14236 if (flags & NDR_IN) {
14237 ZERO_STRUCT(r->out);
14239 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14240 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14242 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14243 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14244 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14246 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14247 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14248 NDR_PULL_ALLOC(ndr, r->in.req);
14250 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14251 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14252 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14253 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14254 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14255 NDR_PULL_ALLOC(ndr, r->out.level_out);
14256 ZERO_STRUCTP(r->out.level_out);
14257 NDR_PULL_ALLOC(ndr, r->out.ctr);
14258 ZERO_STRUCTP(r->out.ctr);
14260 if (flags & NDR_OUT) {
14261 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14262 NDR_PULL_ALLOC(ndr, r->out.level_out);
14264 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14265 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14266 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14268 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14269 NDR_PULL_ALLOC(ndr, r->out.ctr);
14271 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14272 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14273 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14274 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14276 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14278 return NDR_ERR_SUCCESS;
14281 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
14283 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
14285 if (flags & NDR_SET_VALUES) {
14286 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14288 if (flags & NDR_IN) {
14289 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
14291 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14293 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14295 ndr_print_int32(ndr, "level", r->in.level);
14296 ndr_print_ptr(ndr, "req", r->in.req);
14298 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14299 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
14303 if (flags & NDR_OUT) {
14304 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
14306 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14308 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14310 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14312 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14313 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
14315 ndr_print_WERROR(ndr, "result", r->out.result);
14321 static const struct ndr_interface_call drsuapi_calls[] = {
14324 sizeof(struct drsuapi_DsBind),
14325 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
14326 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
14327 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
14331 "drsuapi_DsUnbind",
14332 sizeof(struct drsuapi_DsUnbind),
14333 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
14334 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
14335 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
14339 "drsuapi_DsReplicaSync",
14340 sizeof(struct drsuapi_DsReplicaSync),
14341 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
14342 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
14343 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
14347 "drsuapi_DsGetNCChanges",
14348 sizeof(struct drsuapi_DsGetNCChanges),
14349 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
14350 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
14351 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
14355 "drsuapi_DsReplicaUpdateRefs",
14356 sizeof(struct drsuapi_DsReplicaUpdateRefs),
14357 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
14358 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
14359 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
14363 "DRSUAPI_REPLICA_ADD",
14364 sizeof(struct DRSUAPI_REPLICA_ADD),
14365 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_ADD,
14366 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_ADD,
14367 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_ADD,
14371 "DRSUAPI_REPLICA_DEL",
14372 sizeof(struct DRSUAPI_REPLICA_DEL),
14373 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_DEL,
14374 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_DEL,
14375 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_DEL,
14379 "DRSUAPI_REPLICA_MODIFY",
14380 sizeof(struct DRSUAPI_REPLICA_MODIFY),
14381 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_MODIFY,
14382 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_MODIFY,
14383 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_MODIFY,
14387 "DRSUAPI_VERIFY_NAMES",
14388 sizeof(struct DRSUAPI_VERIFY_NAMES),
14389 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
14390 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
14391 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
14395 "drsuapi_DsGetMemberships",
14396 sizeof(struct drsuapi_DsGetMemberships),
14397 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
14398 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
14399 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
14403 "DRSUAPI_INTER_DOMAIN_MOVE",
14404 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
14405 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
14406 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
14407 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
14411 "drsuapi_DsGetNT4ChangeLog",
14412 sizeof(struct drsuapi_DsGetNT4ChangeLog),
14413 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
14414 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
14415 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
14419 "drsuapi_DsCrackNames",
14420 sizeof(struct drsuapi_DsCrackNames),
14421 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
14422 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
14423 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
14427 "drsuapi_DsWriteAccountSpn",
14428 sizeof(struct drsuapi_DsWriteAccountSpn),
14429 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
14430 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
14431 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
14435 "drsuapi_DsRemoveDSServer",
14436 sizeof(struct drsuapi_DsRemoveDSServer),
14437 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
14438 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
14439 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
14443 "DRSUAPI_REMOVE_DS_DOMAIN",
14444 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
14445 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
14446 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
14447 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
14451 "drsuapi_DsGetDomainControllerInfo",
14452 sizeof(struct drsuapi_DsGetDomainControllerInfo),
14453 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
14454 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
14455 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
14459 "drsuapi_DsAddEntry",
14460 sizeof(struct drsuapi_DsAddEntry),
14461 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
14462 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
14463 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
14467 "DRSUAPI_EXECUTE_KCC",
14468 sizeof(struct DRSUAPI_EXECUTE_KCC),
14469 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_EXECUTE_KCC,
14470 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_EXECUTE_KCC,
14471 (ndr_print_function_t) ndr_print_DRSUAPI_EXECUTE_KCC,
14475 "drsuapi_DsReplicaGetInfo",
14476 sizeof(struct drsuapi_DsReplicaGetInfo),
14477 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
14478 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
14479 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
14483 "DRSUAPI_ADD_SID_HISTORY",
14484 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
14485 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
14486 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
14487 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
14491 "drsuapi_DsGetMemberships2",
14492 sizeof(struct drsuapi_DsGetMemberships2),
14493 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
14494 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
14495 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
14499 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
14500 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
14501 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
14502 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
14503 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
14507 "DRSUAPI_GET_OBJECT_EXISTENCE",
14508 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
14509 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
14510 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
14511 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
14515 "drsuapi_QuerySitesByCost",
14516 sizeof(struct drsuapi_QuerySitesByCost),
14517 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
14518 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
14519 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
14522 { NULL, 0, NULL, NULL, NULL, false }
14525 static const char * const drsuapi_endpoint_strings[] = {
14526 "ncacn_np:[\\pipe\\lsass]",
14527 "ncacn_np:[\\pipe\\protected_storage]",
14532 static const struct ndr_interface_string_array drsuapi_endpoints = {
14534 .names = drsuapi_endpoint_strings
14537 static const char * const drsuapi_authservice_strings[] = {
14541 static const struct ndr_interface_string_array drsuapi_authservices = {
14543 .names = drsuapi_authservice_strings
14547 const struct ndr_interface_table ndr_table_drsuapi = {
14550 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
14551 NDR_DRSUAPI_VERSION
14553 .helpstring = NDR_DRSUAPI_HELPSTRING,
14555 .calls = drsuapi_calls,
14556 .endpoints = &drsuapi_endpoints,
14557 .authservices = &drsuapi_authservices