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->iconv_convenience, 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->iconv_convenience, 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, struct smb_iconv_convenience *ic, int flags)
492 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic);
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 at %s", level, __location__);
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 at %s", level, __location__);
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 at %s", _level, __location__);
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 at %s", level, __location__);
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 at %s", level, __location__);
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 > 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 > 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_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1265 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1266 case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1267 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1268 case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break;
1269 case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break;
1270 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1271 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1272 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1273 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1274 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1275 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1276 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1277 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1278 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1279 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1280 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1281 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1282 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1283 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1284 case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1285 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1286 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1287 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1288 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1289 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1290 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1291 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1292 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1293 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1294 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1295 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1296 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1297 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1298 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1299 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1300 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1301 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1302 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1303 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1304 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1305 case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1306 case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1307 case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1308 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1309 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1310 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1311 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1312 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1313 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1314 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1315 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1316 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1317 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1318 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1319 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1320 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1321 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1322 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1323 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1324 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1325 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1326 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1327 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1329 ndr_print_enum(ndr, name, "ENUM", val, r);
1330 ndr->flags = _flags_save_ENUM;
1334 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1336 uint32_t cntr_attids_0;
1337 if (ndr_flags & NDR_SCALARS) {
1338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1339 NDR_CHECK(ndr_push_align(ndr, 4));
1340 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1343 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1344 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1347 if (ndr_flags & NDR_BUFFERS) {
1349 return NDR_ERR_SUCCESS;
1352 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1354 uint32_t cntr_attids_0;
1355 TALLOC_CTX *_mem_save_attids_0;
1356 if (ndr_flags & NDR_SCALARS) {
1357 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1358 NDR_CHECK(ndr_pull_align(ndr, 4));
1359 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1362 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1363 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1365 NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids));
1366 _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1367 NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0);
1368 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1369 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0]));
1371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0);
1373 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids));
1376 if (ndr_flags & NDR_BUFFERS) {
1378 return NDR_ERR_SUCCESS;
1381 _PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r)
1383 uint32_t cntr_attids_0;
1384 ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet");
1386 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
1387 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1388 ndr_print_uint32(ndr, "num_attids", r->num_attids);
1389 ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids);
1391 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1393 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1394 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1402 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r)
1404 if (ndr_flags & NDR_SCALARS) {
1405 NDR_CHECK(ndr_push_align(ndr, 8));
1406 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1407 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1408 if (r->naming_context == NULL) {
1409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1411 NDR_CHECK(ndr_push_ref_ptr(ndr));
1412 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1414 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1417 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1418 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1419 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set));
1420 NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex));
1421 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1423 if (ndr_flags & NDR_BUFFERS) {
1424 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1425 if (r->uptodateness_vector) {
1426 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1428 if (r->partial_attribute_set) {
1429 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1431 if (r->partial_attribute_set_ex) {
1432 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1434 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1436 return NDR_ERR_SUCCESS;
1439 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r)
1441 uint32_t _ptr_naming_context;
1442 TALLOC_CTX *_mem_save_naming_context_0;
1443 uint32_t _ptr_uptodateness_vector;
1444 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1445 uint32_t _ptr_partial_attribute_set;
1446 TALLOC_CTX *_mem_save_partial_attribute_set_0;
1447 uint32_t _ptr_partial_attribute_set_ex;
1448 TALLOC_CTX *_mem_save_partial_attribute_set_ex_0;
1449 if (ndr_flags & NDR_SCALARS) {
1450 NDR_CHECK(ndr_pull_align(ndr, 8));
1451 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1452 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1453 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1454 if (_ptr_naming_context) {
1455 NDR_PULL_ALLOC(ndr, r->naming_context);
1457 r->naming_context = NULL;
1459 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1461 if (_ptr_uptodateness_vector) {
1462 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1464 r->uptodateness_vector = NULL;
1466 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1469 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1470 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1471 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set));
1472 if (_ptr_partial_attribute_set) {
1473 NDR_PULL_ALLOC(ndr, r->partial_attribute_set);
1475 r->partial_attribute_set = NULL;
1477 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex));
1478 if (_ptr_partial_attribute_set_ex) {
1479 NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex);
1481 r->partial_attribute_set_ex = NULL;
1483 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
1485 if (ndr_flags & NDR_BUFFERS) {
1486 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1487 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1488 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1490 if (r->uptodateness_vector) {
1491 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1492 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1493 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1496 if (r->partial_attribute_set) {
1497 _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
1498 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0);
1499 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set));
1500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0);
1502 if (r->partial_attribute_set_ex) {
1503 _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr);
1504 NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0);
1505 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex));
1506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0);
1508 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
1510 return NDR_ERR_SUCCESS;
1513 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r)
1515 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8");
1517 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1518 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1519 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1521 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1523 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1524 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1526 if (r->uptodateness_vector) {
1527 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1530 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1531 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1532 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1533 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1534 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1535 ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set);
1537 if (r->partial_attribute_set) {
1538 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1541 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1543 if (r->partial_attribute_set_ex) {
1544 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1547 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1551 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r)
1553 if (ndr_flags & NDR_SCALARS) {
1554 int level = ndr_push_get_switch_value(ndr, r);
1555 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
1558 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1562 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1566 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1569 if (ndr_flags & NDR_BUFFERS) {
1570 int level = ndr_push_get_switch_value(ndr, r);
1573 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1577 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1581 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1584 return NDR_ERR_SUCCESS;
1587 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r)
1591 level = ndr_pull_get_switch_value(ndr, r);
1592 if (ndr_flags & NDR_SCALARS) {
1593 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
1594 if (_level != level) {
1595 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1599 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1603 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1607 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1610 if (ndr_flags & NDR_BUFFERS) {
1613 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1617 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1621 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1624 return NDR_ERR_SUCCESS;
1627 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1630 level = ndr_print_get_switch_value(ndr, r);
1631 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1634 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1638 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1642 ndr_print_bad_level(ndr, name, level);
1646 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r)
1648 if (ndr_flags & NDR_SCALARS) {
1649 NDR_CHECK(ndr_push_align(ndr, 8));
1650 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1651 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
1652 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
1654 if (ndr_flags & NDR_BUFFERS) {
1656 return NDR_ERR_SUCCESS;
1659 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r)
1661 if (ndr_flags & NDR_SCALARS) {
1662 NDR_CHECK(ndr_pull_align(ndr, 8));
1663 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1664 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
1665 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
1667 if (ndr_flags & NDR_BUFFERS) {
1669 return NDR_ERR_SUCCESS;
1672 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r)
1674 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2");
1676 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1677 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
1678 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
1682 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1684 uint32_t cntr_cursors_0;
1685 if (ndr_flags & NDR_SCALARS) {
1686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1687 NDR_CHECK(ndr_push_align(ndr, 8));
1688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
1689 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1692 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1693 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1696 if (ndr_flags & NDR_BUFFERS) {
1698 return NDR_ERR_SUCCESS;
1701 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r)
1703 uint32_t cntr_cursors_0;
1704 TALLOC_CTX *_mem_save_cursors_0;
1705 if (ndr_flags & NDR_SCALARS) {
1706 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1707 NDR_CHECK(ndr_pull_align(ndr, 8));
1708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1711 if (r->count > 0x100000) {
1712 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1715 NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors));
1716 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1717 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1718 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
1719 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
1723 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
1726 if (ndr_flags & NDR_BUFFERS) {
1728 return NDR_ERR_SUCCESS;
1731 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1733 uint32_t cntr_cursors_0;
1734 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
1736 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
1737 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1738 ndr_print_uint32(ndr, "count", r->count);
1739 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1740 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
1742 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
1744 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
1745 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
1753 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
1755 if (ndr_flags & NDR_SCALARS) {
1756 NDR_CHECK(ndr_push_align(ndr, 4));
1757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
1758 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
1760 if (ndr_flags & NDR_BUFFERS) {
1762 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
1765 return NDR_ERR_SUCCESS;
1768 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
1771 TALLOC_CTX *_mem_save_blob_0;
1772 if (ndr_flags & NDR_SCALARS) {
1773 NDR_CHECK(ndr_pull_align(ndr, 4));
1774 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1775 if (r->__ndr_size > 10485760) {
1776 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1778 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
1780 NDR_PULL_ALLOC(ndr, r->blob);
1785 if (ndr_flags & NDR_BUFFERS) {
1787 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
1788 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
1789 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
1790 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
1793 return NDR_ERR_SUCCESS;
1796 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
1798 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
1800 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
1801 ndr_print_ptr(ndr, "blob", r->blob);
1804 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
1810 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
1812 uint32_t cntr_values_1;
1813 if (ndr_flags & NDR_SCALARS) {
1814 NDR_CHECK(ndr_push_align(ndr, 4));
1815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
1816 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
1818 if (ndr_flags & NDR_BUFFERS) {
1820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
1821 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1822 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
1824 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1825 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
1829 return NDR_ERR_SUCCESS;
1832 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
1834 uint32_t _ptr_values;
1835 uint32_t cntr_values_1;
1836 TALLOC_CTX *_mem_save_values_0;
1837 TALLOC_CTX *_mem_save_values_1;
1838 if (ndr_flags & NDR_SCALARS) {
1839 NDR_CHECK(ndr_pull_align(ndr, 4));
1840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
1841 if (r->num_values > 10485760) {
1842 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1844 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
1846 NDR_PULL_ALLOC(ndr, r->values);
1851 if (ndr_flags & NDR_BUFFERS) {
1853 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
1854 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
1855 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
1856 NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values));
1857 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
1858 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
1859 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1860 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
1862 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1863 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
1865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
1866 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
1869 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
1872 return NDR_ERR_SUCCESS;
1875 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
1877 uint32_t cntr_values_1;
1878 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
1880 ndr_print_uint32(ndr, "num_values", r->num_values);
1881 ndr_print_ptr(ndr, "values", r->values);
1884 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
1886 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
1888 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
1889 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
1899 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
1901 if (ndr_flags & NDR_SCALARS) {
1902 NDR_CHECK(ndr_push_align(ndr, 4));
1903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
1904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
1905 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
1906 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
1908 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
1910 if (ndr_flags & NDR_BUFFERS) {
1911 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1913 return NDR_ERR_SUCCESS;
1916 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
1918 if (ndr_flags & NDR_SCALARS) {
1919 NDR_CHECK(ndr_pull_align(ndr, 4));
1920 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1921 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
1922 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
1923 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1924 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
1925 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
1927 if (ndr_flags & NDR_BUFFERS) {
1928 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1930 return NDR_ERR_SUCCESS;
1933 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
1935 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
1937 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
1938 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);
1939 ndr_print_GUID(ndr, "guid", &r->guid);
1940 ndr_print_dom_sid28(ndr, "sid", &r->sid);
1941 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
1942 ndr_print_string(ndr, "dn", r->dn);
1946 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
1948 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
1951 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
1953 if (ndr_flags & NDR_SCALARS) {
1954 NDR_CHECK(ndr_push_align(ndr, 4));
1955 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r, ndr->iconv_convenience, ndr->flags)));
1956 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
1957 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
1958 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
1960 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
1961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
1963 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1964 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1965 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
1966 ndr->flags = _flags_save_DATA_BLOB;
1969 if (ndr_flags & NDR_BUFFERS) {
1970 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1972 return NDR_ERR_SUCCESS;
1975 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
1977 if (ndr_flags & NDR_SCALARS) {
1978 NDR_CHECK(ndr_pull_align(ndr, 4));
1979 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
1981 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
1982 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
1984 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16));
1985 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
1987 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1988 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1989 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
1990 ndr->flags = _flags_save_DATA_BLOB;
1993 if (ndr_flags & NDR_BUFFERS) {
1994 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1996 return NDR_ERR_SUCCESS;
1999 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2001 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2003 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size);
2004 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);
2005 ndr_print_GUID(ndr, "guid", &r->guid);
2006 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2007 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2008 ndr_print_string(ndr, "dn", r->dn);
2009 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2010 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2014 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, struct smb_iconv_convenience *ic, int flags)
2016 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary, ic);
2019 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2021 if (ndr_flags & NDR_SCALARS) {
2022 NDR_CHECK(ndr_push_align(ndr, 4));
2023 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2024 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2026 if (ndr_flags & NDR_BUFFERS) {
2027 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2029 return NDR_ERR_SUCCESS;
2032 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2034 if (ndr_flags & NDR_SCALARS) {
2035 NDR_CHECK(ndr_pull_align(ndr, 4));
2036 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2037 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2039 if (ndr_flags & NDR_BUFFERS) {
2040 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2042 return NDR_ERR_SUCCESS;
2045 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2047 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2049 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2050 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2054 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2056 uint32_t cntr_attributes_1;
2057 if (ndr_flags & NDR_SCALARS) {
2058 NDR_CHECK(ndr_push_align(ndr, 4));
2059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2060 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2062 if (ndr_flags & NDR_BUFFERS) {
2063 if (r->attributes) {
2064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2065 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2066 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2068 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2069 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2073 return NDR_ERR_SUCCESS;
2076 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2078 uint32_t _ptr_attributes;
2079 uint32_t cntr_attributes_1;
2080 TALLOC_CTX *_mem_save_attributes_0;
2081 TALLOC_CTX *_mem_save_attributes_1;
2082 if (ndr_flags & NDR_SCALARS) {
2083 NDR_CHECK(ndr_pull_align(ndr, 4));
2084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2085 if (r->num_attributes > 1048576) {
2086 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2088 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2089 if (_ptr_attributes) {
2090 NDR_PULL_ALLOC(ndr, r->attributes);
2092 r->attributes = NULL;
2095 if (ndr_flags & NDR_BUFFERS) {
2096 if (r->attributes) {
2097 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2098 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2099 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2100 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes));
2101 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2102 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2103 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2104 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2106 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2107 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2109 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2112 if (r->attributes) {
2113 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2116 return NDR_ERR_SUCCESS;
2119 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2121 uint32_t cntr_attributes_1;
2122 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2124 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2125 ndr_print_ptr(ndr, "attributes", r->attributes);
2127 if (r->attributes) {
2128 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2130 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2132 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2133 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2143 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2146 return NDR_ERR_SUCCESS;
2149 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2154 return NDR_ERR_SUCCESS;
2157 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2159 ndr_print_uint32(ndr, name, r);
2161 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2162 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2163 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2167 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2169 if (ndr_flags & NDR_SCALARS) {
2170 NDR_CHECK(ndr_push_align(ndr, 4));
2171 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2172 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2173 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2175 if (ndr_flags & NDR_BUFFERS) {
2176 if (r->identifier) {
2177 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2179 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2181 return NDR_ERR_SUCCESS;
2184 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2186 uint32_t _ptr_identifier;
2187 TALLOC_CTX *_mem_save_identifier_0;
2188 if (ndr_flags & NDR_SCALARS) {
2189 NDR_CHECK(ndr_pull_align(ndr, 4));
2190 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2191 if (_ptr_identifier) {
2192 NDR_PULL_ALLOC(ndr, r->identifier);
2194 r->identifier = NULL;
2196 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2197 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2199 if (ndr_flags & NDR_BUFFERS) {
2200 if (r->identifier) {
2201 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2202 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2203 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2206 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2208 return NDR_ERR_SUCCESS;
2211 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2213 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2215 ndr_print_ptr(ndr, "identifier", r->identifier);
2217 if (r->identifier) {
2218 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2221 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2222 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2226 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2228 if (ndr_flags & NDR_SCALARS) {
2229 NDR_CHECK(ndr_push_align(ndr, 8));
2230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2231 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2232 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2233 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2235 if (ndr_flags & NDR_BUFFERS) {
2237 return NDR_ERR_SUCCESS;
2240 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2242 if (ndr_flags & NDR_SCALARS) {
2243 NDR_CHECK(ndr_pull_align(ndr, 8));
2244 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2245 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2246 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2247 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2249 if (ndr_flags & NDR_BUFFERS) {
2251 return NDR_ERR_SUCCESS;
2254 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2256 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2258 ndr_print_uint32(ndr, "version", r->version);
2259 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2260 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2261 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2265 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2267 uint32_t cntr_meta_data_0;
2268 if (ndr_flags & NDR_SCALARS) {
2269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2270 NDR_CHECK(ndr_push_align(ndr, 8));
2271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2272 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2273 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2276 if (ndr_flags & NDR_BUFFERS) {
2278 return NDR_ERR_SUCCESS;
2281 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2283 uint32_t cntr_meta_data_0;
2284 TALLOC_CTX *_mem_save_meta_data_0;
2285 if (ndr_flags & NDR_SCALARS) {
2286 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2287 NDR_CHECK(ndr_pull_align(ndr, 8));
2288 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2289 if (r->count > 1048576) {
2290 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2292 NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data));
2293 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2294 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2295 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2296 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2298 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2300 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2303 if (ndr_flags & NDR_BUFFERS) {
2305 return NDR_ERR_SUCCESS;
2308 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2310 uint32_t cntr_meta_data_0;
2311 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2313 ndr_print_uint32(ndr, "count", r->count);
2314 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2316 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2318 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2319 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2327 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2329 if (ndr_flags & NDR_SCALARS) {
2330 NDR_CHECK(ndr_push_align(ndr, 4));
2331 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2332 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2334 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2335 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2337 if (ndr_flags & NDR_BUFFERS) {
2338 if (r->next_object) {
2339 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2341 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2342 if (r->parent_object_guid) {
2343 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2345 if (r->meta_data_ctr) {
2346 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2349 return NDR_ERR_SUCCESS;
2352 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2354 uint32_t _ptr_next_object;
2355 TALLOC_CTX *_mem_save_next_object_0;
2356 uint32_t _ptr_parent_object_guid;
2357 TALLOC_CTX *_mem_save_parent_object_guid_0;
2358 uint32_t _ptr_meta_data_ctr;
2359 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2360 if (ndr_flags & NDR_SCALARS) {
2361 NDR_CHECK(ndr_pull_align(ndr, 4));
2362 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2363 if (_ptr_next_object) {
2364 NDR_PULL_ALLOC(ndr, r->next_object);
2366 r->next_object = NULL;
2368 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2370 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2371 if (_ptr_parent_object_guid) {
2372 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2374 r->parent_object_guid = NULL;
2376 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2377 if (_ptr_meta_data_ctr) {
2378 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2380 r->meta_data_ctr = NULL;
2383 if (ndr_flags & NDR_BUFFERS) {
2384 if (r->next_object) {
2385 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2386 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2387 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2388 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2390 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2391 if (r->parent_object_guid) {
2392 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2393 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2394 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2397 if (r->meta_data_ctr) {
2398 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2399 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2400 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2404 return NDR_ERR_SUCCESS;
2407 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2409 if (ndr_flags & NDR_SCALARS) {
2410 NDR_CHECK(ndr_push_align(ndr, 8));
2411 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2412 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2414 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2415 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2416 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2417 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2418 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2421 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2424 if (ndr_flags & NDR_BUFFERS) {
2425 if (r->naming_context) {
2426 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2428 if (r->uptodateness_vector) {
2429 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2431 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2432 if (r->first_object) {
2433 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2436 return NDR_ERR_SUCCESS;
2439 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2441 uint32_t _ptr_naming_context;
2442 TALLOC_CTX *_mem_save_naming_context_0;
2443 uint32_t _ptr_uptodateness_vector;
2444 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2445 uint32_t _ptr_first_object;
2446 TALLOC_CTX *_mem_save_first_object_0;
2447 if (ndr_flags & NDR_SCALARS) {
2448 NDR_CHECK(ndr_pull_align(ndr, 8));
2449 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2450 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2451 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2452 if (_ptr_naming_context) {
2453 NDR_PULL_ALLOC(ndr, r->naming_context);
2455 r->naming_context = NULL;
2457 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2458 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2459 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2460 if (_ptr_uptodateness_vector) {
2461 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2463 r->uptodateness_vector = NULL;
2465 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2466 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2469 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2470 if (_ptr_first_object) {
2471 NDR_PULL_ALLOC(ndr, r->first_object);
2473 r->first_object = NULL;
2475 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2477 if (ndr_flags & NDR_BUFFERS) {
2478 if (r->naming_context) {
2479 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2480 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2481 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2484 if (r->uptodateness_vector) {
2485 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2486 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2487 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2490 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2491 if (r->first_object) {
2492 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2493 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2494 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2495 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2498 return NDR_ERR_SUCCESS;
2501 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2503 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2505 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2506 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2507 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2509 if (r->naming_context) {
2510 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2513 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2514 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2515 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2517 if (r->uptodateness_vector) {
2518 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2521 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2522 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2523 ndr_print_uint32(ndr, "object_count", r->object_count);
2524 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
2525 ndr_print_ptr(ndr, "first_object", r->first_object);
2527 if (r->first_object) {
2528 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2531 ndr_print_uint32(ndr, "more_data", r->more_data);
2535 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2537 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2540 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2543 return NDR_ERR_SUCCESS;
2546 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2549 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2551 return NDR_ERR_SUCCESS;
2554 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2556 ndr_print_uint32(ndr, name, r);
2558 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2562 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2564 if (ndr_flags & NDR_SCALARS) {
2565 NDR_CHECK(ndr_push_align(ndr, 8));
2566 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2567 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2568 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2569 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2570 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2571 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2573 if (ndr_flags & NDR_BUFFERS) {
2574 if (r->identifier) {
2575 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2577 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2579 return NDR_ERR_SUCCESS;
2582 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2584 uint32_t _ptr_identifier;
2585 TALLOC_CTX *_mem_save_identifier_0;
2586 if (ndr_flags & NDR_SCALARS) {
2587 NDR_CHECK(ndr_pull_align(ndr, 8));
2588 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2589 if (_ptr_identifier) {
2590 NDR_PULL_ALLOC(ndr, r->identifier);
2592 r->identifier = NULL;
2594 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2595 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2596 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2597 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2598 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2600 if (ndr_flags & NDR_BUFFERS) {
2601 if (r->identifier) {
2602 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2603 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2604 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2607 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2609 return NDR_ERR_SUCCESS;
2612 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2614 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2616 ndr_print_ptr(ndr, "identifier", r->identifier);
2618 if (r->identifier) {
2619 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2622 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2623 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2624 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2625 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2626 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2630 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2632 uint32_t cntr_linked_attributes_1;
2633 if (ndr_flags & NDR_SCALARS) {
2634 NDR_CHECK(ndr_push_align(ndr, 8));
2635 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2636 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2637 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2638 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2639 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2640 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2641 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2642 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2645 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2650 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2651 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2653 if (ndr_flags & NDR_BUFFERS) {
2654 if (r->naming_context) {
2655 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2657 if (r->uptodateness_vector) {
2658 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2660 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2661 if (r->first_object) {
2662 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2664 if (r->linked_attributes) {
2665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2666 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2667 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2669 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2670 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2674 return NDR_ERR_SUCCESS;
2677 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2679 uint32_t _ptr_naming_context;
2680 TALLOC_CTX *_mem_save_naming_context_0;
2681 uint32_t _ptr_uptodateness_vector;
2682 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2683 uint32_t _ptr_first_object;
2684 TALLOC_CTX *_mem_save_first_object_0;
2685 uint32_t _ptr_linked_attributes;
2686 uint32_t cntr_linked_attributes_1;
2687 TALLOC_CTX *_mem_save_linked_attributes_0;
2688 TALLOC_CTX *_mem_save_linked_attributes_1;
2689 if (ndr_flags & NDR_SCALARS) {
2690 NDR_CHECK(ndr_pull_align(ndr, 8));
2691 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2692 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2693 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2694 if (_ptr_naming_context) {
2695 NDR_PULL_ALLOC(ndr, r->naming_context);
2697 r->naming_context = NULL;
2699 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2700 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2702 if (_ptr_uptodateness_vector) {
2703 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2705 r->uptodateness_vector = NULL;
2707 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2708 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2712 if (_ptr_first_object) {
2713 NDR_PULL_ALLOC(ndr, r->first_object);
2715 r->first_object = NULL;
2717 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
2719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
2720 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
2721 if (r->linked_attributes_count > 1048576) {
2722 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2724 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
2725 if (_ptr_linked_attributes) {
2726 NDR_PULL_ALLOC(ndr, r->linked_attributes);
2728 r->linked_attributes = NULL;
2730 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
2732 if (ndr_flags & NDR_BUFFERS) {
2733 if (r->naming_context) {
2734 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2735 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2736 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2739 if (r->uptodateness_vector) {
2740 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2741 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2742 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2745 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2746 if (r->first_object) {
2747 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2748 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2752 if (r->linked_attributes) {
2753 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2754 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
2755 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
2756 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes));
2757 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2758 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
2759 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2762 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2763 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
2766 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
2768 if (r->linked_attributes) {
2769 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
2772 return NDR_ERR_SUCCESS;
2775 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
2777 uint32_t cntr_linked_attributes_1;
2778 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
2780 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2781 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2782 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2784 if (r->naming_context) {
2785 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2788 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2789 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2790 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2792 if (r->uptodateness_vector) {
2793 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2796 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2797 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2798 ndr_print_uint32(ndr, "object_count", r->object_count);
2799 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size);
2800 ndr_print_ptr(ndr, "first_object", r->first_object);
2802 if (r->first_object) {
2803 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2806 ndr_print_uint32(ndr, "more_data", r->more_data);
2807 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
2808 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
2809 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
2810 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
2812 if (r->linked_attributes) {
2813 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
2815 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
2817 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
2818 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
2825 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
2829 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
2831 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
2834 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
2836 if (ndr_flags & NDR_SCALARS) {
2837 NDR_CHECK(ndr_push_align(ndr, 1));
2839 struct ndr_push *_ndr_ctr1;
2840 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
2841 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
2842 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
2845 if (ndr_flags & NDR_BUFFERS) {
2847 return NDR_ERR_SUCCESS;
2850 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
2852 if (ndr_flags & NDR_SCALARS) {
2853 NDR_CHECK(ndr_pull_align(ndr, 1));
2855 struct ndr_pull *_ndr_ctr1;
2856 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
2857 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
2858 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
2861 if (ndr_flags & NDR_BUFFERS) {
2863 return NDR_ERR_SUCCESS;
2866 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
2868 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
2870 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
2874 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
2876 if (ndr_flags & NDR_SCALARS) {
2877 NDR_CHECK(ndr_push_align(ndr, 1));
2879 struct ndr_push *_ndr_ctr6;
2880 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
2881 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
2882 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
2885 if (ndr_flags & NDR_BUFFERS) {
2887 return NDR_ERR_SUCCESS;
2890 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
2892 if (ndr_flags & NDR_SCALARS) {
2893 NDR_CHECK(ndr_pull_align(ndr, 1));
2895 struct ndr_pull *_ndr_ctr6;
2896 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
2897 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
2898 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
2901 if (ndr_flags & NDR_BUFFERS) {
2903 return NDR_ERR_SUCCESS;
2906 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
2908 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
2910 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
2914 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
2917 TALLOC_CTX *_mem_save_ts_0;
2918 if (ndr_flags & NDR_SCALARS) {
2919 NDR_CHECK(ndr_pull_align(ndr, 4));
2920 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
2921 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
2922 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
2924 NDR_PULL_ALLOC(ndr, r->ts);
2929 if (ndr_flags & NDR_BUFFERS) {
2931 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
2932 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
2934 struct ndr_pull *_ndr_ts;
2935 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
2937 struct ndr_pull *_ndr_ts_compressed;
2938 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2939 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
2940 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2942 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
2944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
2947 return NDR_ERR_SUCCESS;
2950 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
2952 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
2954 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
2955 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
2956 ndr_print_ptr(ndr, "ts", r->ts);
2959 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
2965 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
2968 TALLOC_CTX *_mem_save_ts_0;
2969 if (ndr_flags & NDR_SCALARS) {
2970 NDR_CHECK(ndr_pull_align(ndr, 4));
2971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
2972 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
2973 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
2975 NDR_PULL_ALLOC(ndr, r->ts);
2980 if (ndr_flags & NDR_BUFFERS) {
2982 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
2983 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
2985 struct ndr_pull *_ndr_ts;
2986 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
2988 struct ndr_pull *_ndr_ts_compressed;
2989 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2990 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
2991 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2993 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
2995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
2998 return NDR_ERR_SUCCESS;
3001 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3003 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3005 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3006 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3007 ndr_print_ptr(ndr, "ts", r->ts);
3010 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3016 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3019 TALLOC_CTX *_mem_save_ts_0;
3020 if (ndr_flags & NDR_SCALARS) {
3021 NDR_CHECK(ndr_pull_align(ndr, 4));
3022 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3026 NDR_PULL_ALLOC(ndr, r->ts);
3031 if (ndr_flags & NDR_BUFFERS) {
3033 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3034 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3036 struct ndr_pull *_ndr_ts;
3037 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3039 struct ndr_pull *_ndr_ts_compressed;
3040 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3041 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3042 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3044 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3049 return NDR_ERR_SUCCESS;
3052 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3054 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3056 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3057 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3058 ndr_print_ptr(ndr, "ts", r->ts);
3061 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3067 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3070 TALLOC_CTX *_mem_save_ts_0;
3071 if (ndr_flags & NDR_SCALARS) {
3072 NDR_CHECK(ndr_pull_align(ndr, 4));
3073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3075 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3077 NDR_PULL_ALLOC(ndr, r->ts);
3082 if (ndr_flags & NDR_BUFFERS) {
3084 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3085 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3087 struct ndr_pull *_ndr_ts;
3088 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3090 struct ndr_pull *_ndr_ts_compressed;
3091 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3092 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3093 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3095 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3100 return NDR_ERR_SUCCESS;
3103 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3105 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3107 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3108 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3109 ndr_print_ptr(ndr, "ts", r->ts);
3112 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3118 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3120 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3121 return NDR_ERR_SUCCESS;
3124 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3127 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3129 return NDR_ERR_SUCCESS;
3132 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3134 const char *val = NULL;
3137 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3138 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3140 ndr_print_enum(ndr, name, "ENUM", val, r);
3143 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3146 uint32_t _flags_save_UNION = ndr->flags;
3147 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3148 if (ndr_flags & NDR_SCALARS) {
3149 int level = ndr_push_get_switch_value(ndr, r);
3151 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3152 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3155 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3156 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3159 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3160 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3163 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3164 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3168 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3171 if (ndr_flags & NDR_BUFFERS) {
3172 int level = ndr_push_get_switch_value(ndr, r);
3174 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3175 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3178 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3179 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3182 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3183 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3186 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3187 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3191 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3194 ndr->flags = _flags_save_UNION;
3196 return NDR_ERR_SUCCESS;
3199 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3203 uint32_t _flags_save_UNION = ndr->flags;
3204 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3205 level = ndr_pull_get_switch_value(ndr, r);
3206 if (ndr_flags & NDR_SCALARS) {
3208 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3209 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3212 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3213 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3216 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3217 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3220 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3221 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3225 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3228 if (ndr_flags & NDR_BUFFERS) {
3230 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3231 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3234 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3235 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3238 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3239 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3242 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3243 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3247 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3250 ndr->flags = _flags_save_UNION;
3252 return NDR_ERR_SUCCESS;
3255 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3259 uint32_t _flags_save_UNION = ndr->flags;
3260 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3261 level = ndr_print_get_switch_value(ndr, r);
3262 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3264 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3265 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3268 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3269 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3272 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3273 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3276 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3277 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3281 ndr_print_bad_level(ndr, name, level);
3283 ndr->flags = _flags_save_UNION;
3287 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3289 if (ndr_flags & NDR_SCALARS) {
3290 NDR_CHECK(ndr_push_align(ndr, 4));
3291 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3293 if (ndr_flags & NDR_BUFFERS) {
3294 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3296 return NDR_ERR_SUCCESS;
3299 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3301 if (ndr_flags & NDR_SCALARS) {
3302 NDR_CHECK(ndr_pull_align(ndr, 4));
3303 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3305 if (ndr_flags & NDR_BUFFERS) {
3306 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3308 return NDR_ERR_SUCCESS;
3311 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3313 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3315 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3319 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3321 if (ndr_flags & NDR_SCALARS) {
3322 NDR_CHECK(ndr_push_align(ndr, 4));
3323 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3324 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3325 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3326 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3328 if (ndr_flags & NDR_BUFFERS) {
3329 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3331 return NDR_ERR_SUCCESS;
3334 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3336 if (ndr_flags & NDR_SCALARS) {
3337 NDR_CHECK(ndr_pull_align(ndr, 4));
3338 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3339 if (r->level < 0 || r->level > 6) {
3340 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3342 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3343 if (r->type < 2 || r->type > 3) {
3344 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3346 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3347 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3349 if (ndr_flags & NDR_BUFFERS) {
3350 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3352 return NDR_ERR_SUCCESS;
3355 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3357 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3359 ndr_print_int32(ndr, "level", r->level);
3360 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3361 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3362 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3366 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3368 if (ndr_flags & NDR_SCALARS) {
3369 int level = ndr_push_get_switch_value(ndr, r);
3370 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3373 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3377 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3381 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3385 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3389 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3392 if (ndr_flags & NDR_BUFFERS) {
3393 int level = ndr_push_get_switch_value(ndr, r);
3396 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3400 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3404 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3408 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3412 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3415 return NDR_ERR_SUCCESS;
3418 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3422 level = ndr_pull_get_switch_value(ndr, r);
3423 if (ndr_flags & NDR_SCALARS) {
3424 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3425 if (_level != level) {
3426 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3430 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3434 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3438 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3442 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3446 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3449 if (ndr_flags & NDR_BUFFERS) {
3452 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3456 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3460 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3464 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3468 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3471 return NDR_ERR_SUCCESS;
3474 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3477 level = ndr_print_get_switch_value(ndr, r);
3478 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3481 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3485 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3489 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3493 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3497 ndr_print_bad_level(ndr, name, level);
3501 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3503 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3504 return NDR_ERR_SUCCESS;
3507 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3512 return NDR_ERR_SUCCESS;
3515 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3517 ndr_print_uint32(ndr, name, r);
3519 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3520 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK, r);
3521 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3522 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3523 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3527 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3529 if (ndr_flags & NDR_SCALARS) {
3530 NDR_CHECK(ndr_push_align(ndr, 4));
3531 if (r->naming_context == NULL) {
3532 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3534 NDR_CHECK(ndr_push_ref_ptr(ndr));
3535 if (r->dest_dsa_dns_name == NULL) {
3536 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3538 NDR_CHECK(ndr_push_ref_ptr(ndr));
3539 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3540 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3542 if (ndr_flags & NDR_BUFFERS) {
3543 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3546 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3547 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));
3549 return NDR_ERR_SUCCESS;
3552 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3554 uint32_t _ptr_naming_context;
3555 TALLOC_CTX *_mem_save_naming_context_0;
3556 uint32_t _ptr_dest_dsa_dns_name;
3557 if (ndr_flags & NDR_SCALARS) {
3558 NDR_CHECK(ndr_pull_align(ndr, 4));
3559 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3560 if (_ptr_naming_context) {
3561 NDR_PULL_ALLOC(ndr, r->naming_context);
3563 r->naming_context = NULL;
3565 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3566 if (_ptr_dest_dsa_dns_name) {
3567 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3569 r->dest_dsa_dns_name = NULL;
3571 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3572 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3574 if (ndr_flags & NDR_BUFFERS) {
3575 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3576 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3577 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3579 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3580 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3581 if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) {
3582 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));
3584 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t)));
3585 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));
3587 return NDR_ERR_SUCCESS;
3590 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3592 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3594 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3596 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3598 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3600 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3602 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3603 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3607 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3609 if (ndr_flags & NDR_SCALARS) {
3610 int level = ndr_push_get_switch_value(ndr, r);
3611 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3614 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3618 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3621 if (ndr_flags & NDR_BUFFERS) {
3622 int level = ndr_push_get_switch_value(ndr, r);
3625 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3629 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3632 return NDR_ERR_SUCCESS;
3635 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3639 level = ndr_pull_get_switch_value(ndr, r);
3640 if (ndr_flags & NDR_SCALARS) {
3641 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3642 if (_level != level) {
3643 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3647 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3651 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3654 if (ndr_flags & NDR_BUFFERS) {
3657 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3661 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3664 return NDR_ERR_SUCCESS;
3667 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3670 level = ndr_print_get_switch_value(ndr, r);
3671 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3674 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3678 ndr_print_bad_level(ndr, name, level);
3682 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3685 return NDR_ERR_SUCCESS;
3688 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3691 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3693 return NDR_ERR_SUCCESS;
3696 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3698 ndr_print_uint32(ndr, name, r);
3700 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
3701 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
3705 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
3707 if (ndr_flags & NDR_SCALARS) {
3708 NDR_CHECK(ndr_push_align(ndr, 4));
3709 if (r->naming_context == NULL) {
3710 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3712 NDR_CHECK(ndr_push_ref_ptr(ndr));
3713 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
3714 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3715 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
3717 if (ndr_flags & NDR_BUFFERS) {
3718 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3719 if (r->source_dsa_address) {
3720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3723 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));
3726 return NDR_ERR_SUCCESS;
3729 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r)
3731 uint32_t _ptr_naming_context;
3732 TALLOC_CTX *_mem_save_naming_context_0;
3733 uint32_t _ptr_source_dsa_address;
3734 TALLOC_CTX *_mem_save_source_dsa_address_0;
3735 if (ndr_flags & NDR_SCALARS) {
3736 NDR_CHECK(ndr_pull_align(ndr, 4));
3737 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3738 if (_ptr_naming_context) {
3739 NDR_PULL_ALLOC(ndr, r->naming_context);
3741 r->naming_context = NULL;
3743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
3744 if (_ptr_source_dsa_address) {
3745 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
3747 r->source_dsa_address = NULL;
3749 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3750 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
3752 if (ndr_flags & NDR_BUFFERS) {
3753 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3754 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3757 if (r->source_dsa_address) {
3758 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
3759 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
3760 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
3761 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
3762 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
3763 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));
3765 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
3766 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));
3767 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
3770 return NDR_ERR_SUCCESS;
3773 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r)
3775 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1");
3777 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3779 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3781 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
3783 if (r->source_dsa_address) {
3784 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
3787 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
3788 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
3792 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r)
3794 if (ndr_flags & NDR_SCALARS) {
3795 NDR_CHECK(ndr_push_align(ndr, 4));
3796 if (r->naming_context == NULL) {
3797 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3799 NDR_CHECK(ndr_push_ref_ptr(ndr));
3800 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn));
3801 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
3802 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
3803 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3804 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
3806 if (ndr_flags & NDR_BUFFERS) {
3807 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3808 if (r->source_dsa_dn) {
3809 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
3811 if (r->transport_dn) {
3812 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
3814 if (r->source_dsa_address) {
3815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
3818 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));
3821 return NDR_ERR_SUCCESS;
3824 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r)
3826 uint32_t _ptr_naming_context;
3827 TALLOC_CTX *_mem_save_naming_context_0;
3828 uint32_t _ptr_source_dsa_dn;
3829 TALLOC_CTX *_mem_save_source_dsa_dn_0;
3830 uint32_t _ptr_transport_dn;
3831 TALLOC_CTX *_mem_save_transport_dn_0;
3832 uint32_t _ptr_source_dsa_address;
3833 TALLOC_CTX *_mem_save_source_dsa_address_0;
3834 if (ndr_flags & NDR_SCALARS) {
3835 NDR_CHECK(ndr_pull_align(ndr, 4));
3836 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3837 if (_ptr_naming_context) {
3838 NDR_PULL_ALLOC(ndr, r->naming_context);
3840 r->naming_context = NULL;
3842 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn));
3843 if (_ptr_source_dsa_dn) {
3844 NDR_PULL_ALLOC(ndr, r->source_dsa_dn);
3846 r->source_dsa_dn = NULL;
3848 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn));
3849 if (_ptr_transport_dn) {
3850 NDR_PULL_ALLOC(ndr, r->transport_dn);
3852 r->transport_dn = NULL;
3854 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
3855 if (_ptr_source_dsa_address) {
3856 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
3858 r->source_dsa_address = NULL;
3860 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
3861 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
3863 if (ndr_flags & NDR_BUFFERS) {
3864 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3865 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3866 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3868 if (r->source_dsa_dn) {
3869 _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
3870 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0);
3871 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn));
3872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0);
3874 if (r->transport_dn) {
3875 _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
3876 NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0);
3877 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn));
3878 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0);
3880 if (r->source_dsa_address) {
3881 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
3882 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
3883 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
3884 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
3885 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
3886 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));
3888 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
3889 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));
3890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
3893 return NDR_ERR_SUCCESS;
3896 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r)
3898 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2");
3900 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3902 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3904 ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn);
3906 if (r->source_dsa_dn) {
3907 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn);
3910 ndr_print_ptr(ndr, "transport_dn", r->transport_dn);
3912 if (r->transport_dn) {
3913 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn);
3916 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
3918 if (r->source_dsa_address) {
3919 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
3922 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
3923 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
3927 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r)
3929 if (ndr_flags & NDR_SCALARS) {
3930 int level = ndr_push_get_switch_value(ndr, r);
3931 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3934 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
3938 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
3942 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3945 if (ndr_flags & NDR_BUFFERS) {
3946 int level = ndr_push_get_switch_value(ndr, r);
3949 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
3953 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
3957 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3960 return NDR_ERR_SUCCESS;
3963 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r)
3967 level = ndr_pull_get_switch_value(ndr, r);
3968 if (ndr_flags & NDR_SCALARS) {
3969 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3970 if (_level != level) {
3971 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3975 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1));
3979 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2));
3983 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3986 if (ndr_flags & NDR_BUFFERS) {
3989 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1));
3993 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2));
3997 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4000 return NDR_ERR_SUCCESS;
4003 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r)
4006 level = ndr_print_get_switch_value(ndr, r);
4007 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest");
4010 ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1);
4014 ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2);
4018 ndr_print_bad_level(ndr, name, level);
4022 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4024 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4025 return NDR_ERR_SUCCESS;
4028 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4031 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4033 return NDR_ERR_SUCCESS;
4036 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4038 ndr_print_uint32(ndr, name, r);
4040 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4041 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4045 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
4047 if (ndr_flags & NDR_SCALARS) {
4048 NDR_CHECK(ndr_push_align(ndr, 4));
4049 if (r->naming_context == NULL) {
4050 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4052 NDR_CHECK(ndr_push_ref_ptr(ndr));
4053 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
4054 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->options));
4056 if (ndr_flags & NDR_BUFFERS) {
4057 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4058 if (r->source_dsa_address) {
4059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
4062 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));
4065 return NDR_ERR_SUCCESS;
4068 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r)
4070 uint32_t _ptr_naming_context;
4071 TALLOC_CTX *_mem_save_naming_context_0;
4072 uint32_t _ptr_source_dsa_address;
4073 TALLOC_CTX *_mem_save_source_dsa_address_0;
4074 if (ndr_flags & NDR_SCALARS) {
4075 NDR_CHECK(ndr_pull_align(ndr, 4));
4076 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4077 if (_ptr_naming_context) {
4078 NDR_PULL_ALLOC(ndr, r->naming_context);
4080 r->naming_context = NULL;
4082 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
4083 if (_ptr_source_dsa_address) {
4084 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
4086 r->source_dsa_address = NULL;
4088 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->options));
4090 if (ndr_flags & NDR_BUFFERS) {
4091 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4092 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4093 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4094 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4095 if (r->source_dsa_address) {
4096 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4097 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
4098 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
4099 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
4100 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
4101 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));
4103 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
4104 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));
4105 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
4108 return NDR_ERR_SUCCESS;
4111 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r)
4113 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1");
4115 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4117 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4119 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
4121 if (r->source_dsa_address) {
4122 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
4125 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "options", r->options);
4129 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r)
4131 if (ndr_flags & NDR_SCALARS) {
4132 int level = ndr_push_get_switch_value(ndr, r);
4133 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4136 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4140 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4143 if (ndr_flags & NDR_BUFFERS) {
4144 int level = ndr_push_get_switch_value(ndr, r);
4147 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4151 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4154 return NDR_ERR_SUCCESS;
4157 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r)
4161 level = ndr_pull_get_switch_value(ndr, r);
4162 if (ndr_flags & NDR_SCALARS) {
4163 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4164 if (_level != level) {
4165 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4169 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1));
4173 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4176 if (ndr_flags & NDR_BUFFERS) {
4179 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1));
4183 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4186 return NDR_ERR_SUCCESS;
4189 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r)
4192 level = ndr_print_get_switch_value(ndr, r);
4193 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest");
4196 ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1);
4200 ndr_print_bad_level(ndr, name, level);
4204 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4206 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4207 return NDR_ERR_SUCCESS;
4210 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4213 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4215 return NDR_ERR_SUCCESS;
4218 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
4220 ndr_print_uint32(ndr, name, r);
4222 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
4223 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
4227 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
4229 if (ndr_flags & NDR_SCALARS) {
4230 NDR_CHECK(ndr_push_align(ndr, 4));
4231 if (r->naming_context == NULL) {
4232 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4234 NDR_CHECK(ndr_push_ref_ptr(ndr));
4235 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra));
4236 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address));
4237 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
4239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
4240 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->options));
4242 if (ndr_flags & NDR_BUFFERS) {
4243 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4244 if (r->source_dra_address) {
4245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16)));
4248 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dra_address, ndr_charset_length(r->source_dra_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4251 return NDR_ERR_SUCCESS;
4254 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r)
4256 uint32_t _ptr_naming_context;
4257 TALLOC_CTX *_mem_save_naming_context_0;
4258 uint32_t _ptr_source_dra_address;
4259 TALLOC_CTX *_mem_save_source_dra_address_0;
4260 if (ndr_flags & NDR_SCALARS) {
4261 NDR_CHECK(ndr_pull_align(ndr, 4));
4262 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
4263 if (_ptr_naming_context) {
4264 NDR_PULL_ALLOC(ndr, r->naming_context);
4266 r->naming_context = NULL;
4268 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra));
4269 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address));
4270 if (_ptr_source_dra_address) {
4271 NDR_PULL_ALLOC(ndr, r->source_dra_address);
4273 r->source_dra_address = NULL;
4275 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
4276 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
4277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
4278 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->options));
4280 if (ndr_flags & NDR_BUFFERS) {
4281 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
4282 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
4283 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
4284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
4285 if (r->source_dra_address) {
4286 _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
4287 NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0);
4288 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address));
4289 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address));
4290 if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) {
4291 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dra_address), ndr_get_array_length(ndr, &r->source_dra_address));
4293 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t)));
4294 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t), CH_UTF16));
4295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0);
4298 return NDR_ERR_SUCCESS;
4301 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r)
4303 ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1");
4305 ndr_print_ptr(ndr, "naming_context", r->naming_context);
4307 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
4309 ndr_print_GUID(ndr, "source_dra", &r->source_dra);
4310 ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address);
4312 if (r->source_dra_address) {
4313 ndr_print_string(ndr, "source_dra_address", r->source_dra_address);
4316 ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
4317 ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
4318 ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
4319 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "options", r->options);
4323 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r)
4325 if (ndr_flags & NDR_SCALARS) {
4326 int level = ndr_push_get_switch_value(ndr, r);
4327 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4330 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4334 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4337 if (ndr_flags & NDR_BUFFERS) {
4338 int level = ndr_push_get_switch_value(ndr, r);
4341 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4345 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4348 return NDR_ERR_SUCCESS;
4351 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r)
4355 level = ndr_pull_get_switch_value(ndr, r);
4356 if (ndr_flags & NDR_SCALARS) {
4357 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4358 if (_level != level) {
4359 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4363 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1));
4367 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4370 if (ndr_flags & NDR_BUFFERS) {
4373 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1));
4377 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4380 return NDR_ERR_SUCCESS;
4383 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r)
4386 level = ndr_print_get_switch_value(ndr, r);
4387 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest");
4390 ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1);
4394 ndr_print_bad_level(ndr, name, level);
4398 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
4400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4401 return NDR_ERR_SUCCESS;
4404 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
4407 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4409 return NDR_ERR_SUCCESS;
4412 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
4414 const char *val = NULL;
4417 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4418 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4419 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4420 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4421 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4422 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4423 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4425 ndr_print_enum(ndr, name, "ENUM", val, r);
4428 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
4430 uint32_t cntr_info_array_1;
4431 uint32_t cntr_group_attrs_1;
4432 uint32_t cntr_sids_1;
4433 if (ndr_flags & NDR_SCALARS) {
4434 NDR_CHECK(ndr_push_align(ndr, 4));
4435 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4438 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4439 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
4440 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4442 if (ndr_flags & NDR_BUFFERS) {
4443 if (r->info_array) {
4444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4445 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4446 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4448 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4449 if (r->info_array[cntr_info_array_1]) {
4450 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4454 if (r->group_attrs) {
4455 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
4456 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4457 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
4461 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
4462 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4463 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
4465 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4466 if (r->sids[cntr_sids_1]) {
4467 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4472 return NDR_ERR_SUCCESS;
4475 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
4477 uint32_t _ptr_info_array;
4478 uint32_t cntr_info_array_1;
4479 TALLOC_CTX *_mem_save_info_array_0;
4480 TALLOC_CTX *_mem_save_info_array_1;
4481 TALLOC_CTX *_mem_save_info_array_2;
4482 uint32_t _ptr_group_attrs;
4483 uint32_t cntr_group_attrs_1;
4484 TALLOC_CTX *_mem_save_group_attrs_0;
4485 TALLOC_CTX *_mem_save_group_attrs_1;
4487 uint32_t cntr_sids_1;
4488 TALLOC_CTX *_mem_save_sids_0;
4489 TALLOC_CTX *_mem_save_sids_1;
4490 TALLOC_CTX *_mem_save_sids_2;
4491 if (ndr_flags & NDR_SCALARS) {
4492 NDR_CHECK(ndr_pull_align(ndr, 4));
4493 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4494 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
4495 if (r->num_memberships > 10000) {
4496 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4498 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
4499 if (r->num_sids > 10000) {
4500 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4502 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4503 if (_ptr_info_array) {
4504 NDR_PULL_ALLOC(ndr, r->info_array);
4506 r->info_array = NULL;
4508 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
4509 if (_ptr_group_attrs) {
4510 NDR_PULL_ALLOC(ndr, r->group_attrs);
4512 r->group_attrs = NULL;
4514 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4516 NDR_PULL_ALLOC(ndr, r->sids);
4521 if (ndr_flags & NDR_BUFFERS) {
4522 if (r->info_array) {
4523 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4524 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4525 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4526 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4527 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4528 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4529 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4530 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4531 if (_ptr_info_array) {
4532 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4534 r->info_array[cntr_info_array_1] = NULL;
4537 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
4538 if (r->info_array[cntr_info_array_1]) {
4539 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4540 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4541 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4548 if (r->group_attrs) {
4549 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
4550 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4551 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
4552 NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs));
4553 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
4554 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
4555 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
4556 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
4558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
4559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
4562 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4563 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4564 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4565 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
4566 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4567 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4568 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4569 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4571 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
4573 r->sids[cntr_sids_1] = NULL;
4576 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
4577 if (r->sids[cntr_sids_1]) {
4578 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
4579 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
4580 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
4581 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
4584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4587 if (r->info_array) {
4588 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
4590 if (r->group_attrs) {
4591 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
4594 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
4597 return NDR_ERR_SUCCESS;
4600 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
4602 uint32_t cntr_info_array_1;
4603 uint32_t cntr_group_attrs_1;
4604 uint32_t cntr_sids_1;
4605 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
4607 ndr_print_NTSTATUS(ndr, "status", r->status);
4608 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
4609 ndr_print_uint32(ndr, "num_sids", r->num_sids);
4610 ndr_print_ptr(ndr, "info_array", r->info_array);
4612 if (r->info_array) {
4613 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
4615 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
4617 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4618 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4620 if (r->info_array[cntr_info_array_1]) {
4621 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4630 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4632 if (r->group_attrs) {
4633 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4635 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4637 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4638 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4645 ndr_print_ptr(ndr, "sids", r->sids);
4648 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4650 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4652 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4653 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4655 if (r->sids[cntr_sids_1]) {
4656 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4668 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4670 if (ndr_flags & NDR_SCALARS) {
4671 int level = ndr_push_get_switch_value(ndr, r);
4672 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4675 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4679 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4682 if (ndr_flags & NDR_BUFFERS) {
4683 int level = ndr_push_get_switch_value(ndr, r);
4686 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4690 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4693 return NDR_ERR_SUCCESS;
4696 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4700 level = ndr_pull_get_switch_value(ndr, r);
4701 if (ndr_flags & NDR_SCALARS) {
4702 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4703 if (_level != level) {
4704 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4708 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4712 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4715 if (ndr_flags & NDR_BUFFERS) {
4718 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4722 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4725 return NDR_ERR_SUCCESS;
4728 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
4731 level = ndr_print_get_switch_value(ndr, r);
4732 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
4735 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
4739 ndr_print_bad_level(ndr, name, level);
4743 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
4745 uint32_t cntr_info_array_1;
4746 if (ndr_flags & NDR_SCALARS) {
4747 NDR_CHECK(ndr_push_align(ndr, 4));
4748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4749 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4751 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
4752 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4754 if (ndr_flags & NDR_BUFFERS) {
4755 if (r->info_array) {
4756 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4757 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4758 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4760 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4761 if (r->info_array[cntr_info_array_1]) {
4762 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4767 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4770 return NDR_ERR_SUCCESS;
4773 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
4775 uint32_t _ptr_info_array;
4776 uint32_t cntr_info_array_1;
4777 TALLOC_CTX *_mem_save_info_array_0;
4778 TALLOC_CTX *_mem_save_info_array_1;
4779 TALLOC_CTX *_mem_save_info_array_2;
4780 uint32_t _ptr_domain;
4781 TALLOC_CTX *_mem_save_domain_0;
4782 if (ndr_flags & NDR_SCALARS) {
4783 NDR_CHECK(ndr_pull_align(ndr, 4));
4784 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4785 if (r->count < 1 || r->count > 10000) {
4786 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4789 if (_ptr_info_array) {
4790 NDR_PULL_ALLOC(ndr, r->info_array);
4792 r->info_array = NULL;
4794 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4795 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
4796 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4798 NDR_PULL_ALLOC(ndr, r->domain);
4803 if (ndr_flags & NDR_BUFFERS) {
4804 if (r->info_array) {
4805 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4806 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4807 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4808 NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array));
4809 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4810 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4811 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4812 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4813 if (_ptr_info_array) {
4814 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4816 r->info_array[cntr_info_array_1] = NULL;
4819 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4820 if (r->info_array[cntr_info_array_1]) {
4821 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4822 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4823 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4827 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4831 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4832 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4833 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4834 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4836 if (r->info_array) {
4837 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
4840 return NDR_ERR_SUCCESS;
4843 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
4845 uint32_t cntr_info_array_1;
4846 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
4848 ndr_print_uint32(ndr, "count", r->count);
4849 ndr_print_ptr(ndr, "info_array", r->info_array);
4851 if (r->info_array) {
4852 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
4854 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
4856 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4857 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4859 if (r->info_array[cntr_info_array_1]) {
4860 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4869 ndr_print_uint32(ndr, "flags", r->flags);
4870 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
4871 ndr_print_ptr(ndr, "domain", r->domain);
4874 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
4880 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
4882 if (ndr_flags & NDR_SCALARS) {
4883 int level = ndr_push_get_switch_value(ndr, r);
4884 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4887 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
4891 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4894 if (ndr_flags & NDR_BUFFERS) {
4895 int level = ndr_push_get_switch_value(ndr, r);
4898 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
4902 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4905 return NDR_ERR_SUCCESS;
4908 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
4912 level = ndr_pull_get_switch_value(ndr, r);
4913 if (ndr_flags & NDR_SCALARS) {
4914 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4915 if (_level != level) {
4916 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4920 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
4924 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4927 if (ndr_flags & NDR_BUFFERS) {
4930 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
4934 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4937 return NDR_ERR_SUCCESS;
4940 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
4943 level = ndr_print_get_switch_value(ndr, r);
4944 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
4947 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
4951 ndr_print_bad_level(ndr, name, level);
4955 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
4957 if (ndr_flags & NDR_SCALARS) {
4958 NDR_CHECK(ndr_push_align(ndr, 4));
4959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
4960 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4962 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
4964 if (ndr_flags & NDR_BUFFERS) {
4966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4967 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
4970 return NDR_ERR_SUCCESS;
4973 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
4976 TALLOC_CTX *_mem_save_data_0;
4977 if (ndr_flags & NDR_SCALARS) {
4978 NDR_CHECK(ndr_pull_align(ndr, 4));
4979 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
4980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
4982 if (r->length > 0x00A00000) {
4983 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4985 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
4987 NDR_PULL_ALLOC(ndr, r->data);
4992 if (ndr_flags & NDR_BUFFERS) {
4994 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4995 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
4996 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
4997 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
4998 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
4999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5002 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5005 return NDR_ERR_SUCCESS;
5008 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
5010 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
5012 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5013 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5014 ndr_print_uint32(ndr, "length", r->length);
5015 ndr_print_ptr(ndr, "data", r->data);
5018 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5024 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5026 if (ndr_flags & NDR_SCALARS) {
5027 int level = ndr_push_get_switch_value(ndr, r);
5028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5031 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5035 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5038 if (ndr_flags & NDR_BUFFERS) {
5039 int level = ndr_push_get_switch_value(ndr, r);
5042 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5046 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5049 return NDR_ERR_SUCCESS;
5052 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
5056 level = ndr_pull_get_switch_value(ndr, r);
5057 if (ndr_flags & NDR_SCALARS) {
5058 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5059 if (_level != level) {
5060 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5064 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
5068 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5071 if (ndr_flags & NDR_BUFFERS) {
5074 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
5078 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5081 return NDR_ERR_SUCCESS;
5084 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
5087 level = ndr_print_get_switch_value(ndr, r);
5088 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
5091 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
5095 ndr_print_bad_level(ndr, name, level);
5099 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5101 if (ndr_flags & NDR_SCALARS) {
5102 NDR_CHECK(ndr_push_align(ndr, 8));
5103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5105 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
5106 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
5107 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
5108 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
5109 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
5110 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
5111 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
5112 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
5113 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
5115 if (ndr_flags & NDR_BUFFERS) {
5117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
5118 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
5121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
5122 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
5125 return NDR_ERR_SUCCESS;
5128 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5130 uint32_t _ptr_data1;
5131 TALLOC_CTX *_mem_save_data1_0;
5132 uint32_t _ptr_data2;
5133 TALLOC_CTX *_mem_save_data2_0;
5134 if (ndr_flags & NDR_SCALARS) {
5135 NDR_CHECK(ndr_pull_align(ndr, 8));
5136 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
5137 if (r->length1 > 0x00A00000) {
5138 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5140 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
5141 if (r->length2 > 0x00A00000) {
5142 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5144 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
5145 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
5146 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
5147 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
5148 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
5149 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
5150 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
5151 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
5153 NDR_PULL_ALLOC(ndr, r->data1);
5157 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
5159 NDR_PULL_ALLOC(ndr, r->data2);
5164 if (ndr_flags & NDR_BUFFERS) {
5166 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5167 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
5168 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
5169 NDR_PULL_ALLOC_N(ndr, r->data1, ndr_get_array_size(ndr, &r->data1));
5170 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, ndr_get_array_size(ndr, &r->data1)));
5171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
5174 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5175 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
5176 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
5177 NDR_PULL_ALLOC_N(ndr, r->data2, ndr_get_array_size(ndr, &r->data2));
5178 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, ndr_get_array_size(ndr, &r->data2)));
5179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
5182 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
5185 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
5188 return NDR_ERR_SUCCESS;
5191 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
5193 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
5195 ndr_print_uint32(ndr, "length1", r->length1);
5196 ndr_print_uint32(ndr, "length2", r->length2);
5197 ndr_print_hyper(ndr, "unknown1", r->unknown1);
5198 ndr_print_NTTIME(ndr, "time2", r->time2);
5199 ndr_print_hyper(ndr, "unknown3", r->unknown3);
5200 ndr_print_NTTIME(ndr, "time4", r->time4);
5201 ndr_print_hyper(ndr, "unknown5", r->unknown5);
5202 ndr_print_NTTIME(ndr, "time6", r->time6);
5203 ndr_print_NTSTATUS(ndr, "status", r->status);
5204 ndr_print_ptr(ndr, "data1", r->data1);
5207 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
5210 ndr_print_ptr(ndr, "data2", r->data2);
5213 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
5219 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5221 if (ndr_flags & NDR_SCALARS) {
5222 int level = ndr_push_get_switch_value(ndr, r);
5223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5226 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5230 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5233 if (ndr_flags & NDR_BUFFERS) {
5234 int level = ndr_push_get_switch_value(ndr, r);
5237 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5241 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5244 return NDR_ERR_SUCCESS;
5247 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
5251 level = ndr_pull_get_switch_value(ndr, r);
5252 if (ndr_flags & NDR_SCALARS) {
5253 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5254 if (_level != level) {
5255 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5259 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
5263 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5266 if (ndr_flags & NDR_BUFFERS) {
5269 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
5273 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5276 return NDR_ERR_SUCCESS;
5279 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
5282 level = ndr_print_get_switch_value(ndr, r);
5283 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
5286 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
5290 ndr_print_bad_level(ndr, name, level);
5294 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
5296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5297 return NDR_ERR_SUCCESS;
5300 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
5303 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5305 return NDR_ERR_SUCCESS;
5308 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
5310 const char *val = NULL;
5313 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
5314 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5315 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5316 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5317 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5318 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5319 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5320 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5322 ndr_print_enum(ndr, name, "ENUM", val, r);
5325 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
5327 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5328 return NDR_ERR_SUCCESS;
5331 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
5334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5336 return NDR_ERR_SUCCESS;
5339 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
5341 const char *val = NULL;
5344 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5345 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5346 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5347 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5348 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5350 ndr_print_enum(ndr, name, "ENUM", val, r);
5353 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
5355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5356 return NDR_ERR_SUCCESS;
5359 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
5362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5364 return NDR_ERR_SUCCESS;
5367 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
5369 const char *val = NULL;
5372 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5373 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5374 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5375 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5376 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5377 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5378 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5379 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5380 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5381 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5382 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5384 ndr_print_enum(ndr, name, "ENUM", val, r);
5387 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
5389 if (ndr_flags & NDR_SCALARS) {
5390 NDR_CHECK(ndr_push_align(ndr, 4));
5391 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
5393 if (ndr_flags & NDR_BUFFERS) {
5395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
5398 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5401 return NDR_ERR_SUCCESS;
5404 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
5407 TALLOC_CTX *_mem_save_str_0;
5408 if (ndr_flags & NDR_SCALARS) {
5409 NDR_CHECK(ndr_pull_align(ndr, 4));
5410 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
5412 NDR_PULL_ALLOC(ndr, r->str);
5417 if (ndr_flags & NDR_BUFFERS) {
5419 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
5420 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
5421 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
5422 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
5423 if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) {
5424 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));
5426 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t)));
5427 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16));
5428 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
5431 return NDR_ERR_SUCCESS;
5434 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
5436 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
5438 ndr_print_ptr(ndr, "str", r->str);
5441 ndr_print_string(ndr, "str", r->str);
5447 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
5449 uint32_t cntr_names_1;
5450 if (ndr_flags & NDR_SCALARS) {
5451 NDR_CHECK(ndr_push_align(ndr, 4));
5452 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
5453 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
5454 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
5455 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
5456 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
5457 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
5460 if (ndr_flags & NDR_BUFFERS) {
5462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5463 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5464 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5466 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5467 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5471 return NDR_ERR_SUCCESS;
5474 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
5476 uint32_t _ptr_names;
5477 uint32_t cntr_names_1;
5478 TALLOC_CTX *_mem_save_names_0;
5479 TALLOC_CTX *_mem_save_names_1;
5480 if (ndr_flags & NDR_SCALARS) {
5481 NDR_CHECK(ndr_pull_align(ndr, 4));
5482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
5483 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
5484 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
5485 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
5486 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
5487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5488 if (r->count < 1 || r->count > 10000) {
5489 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5491 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
5493 NDR_PULL_ALLOC(ndr, r->names);
5498 if (ndr_flags & NDR_BUFFERS) {
5500 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5501 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5502 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
5503 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
5504 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5505 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
5506 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5507 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
5509 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
5510 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
5512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
5513 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
5516 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
5519 return NDR_ERR_SUCCESS;
5522 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
5524 uint32_t cntr_names_1;
5525 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
5527 ndr_print_uint32(ndr, "codepage", r->codepage);
5528 ndr_print_uint32(ndr, "language", r->language);
5529 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
5530 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
5531 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
5532 ndr_print_uint32(ndr, "count", r->count);
5533 ndr_print_ptr(ndr, "names", r->names);
5536 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
5538 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
5540 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
5541 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
5551 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
5553 if (ndr_flags & NDR_SCALARS) {
5554 int level = ndr_push_get_switch_value(ndr, r);
5555 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5558 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5562 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5565 if (ndr_flags & NDR_BUFFERS) {
5566 int level = ndr_push_get_switch_value(ndr, r);
5569 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5573 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5576 return NDR_ERR_SUCCESS;
5579 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
5583 level = ndr_pull_get_switch_value(ndr, r);
5584 if (ndr_flags & NDR_SCALARS) {
5585 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5586 if (_level != level) {
5587 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5591 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
5595 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5598 if (ndr_flags & NDR_BUFFERS) {
5601 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
5605 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5608 return NDR_ERR_SUCCESS;
5611 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5614 level = ndr_print_get_switch_value(ndr, r);
5615 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5618 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5622 ndr_print_bad_level(ndr, name, level);
5626 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5628 if (ndr_flags & NDR_SCALARS) {
5629 NDR_CHECK(ndr_push_align(ndr, 4));
5630 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5631 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5632 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5634 if (ndr_flags & NDR_BUFFERS) {
5635 if (r->dns_domain_name) {
5636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5638 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5639 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));
5641 if (r->result_name) {
5642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5645 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5648 return NDR_ERR_SUCCESS;
5651 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5653 uint32_t _ptr_dns_domain_name;
5654 TALLOC_CTX *_mem_save_dns_domain_name_0;
5655 uint32_t _ptr_result_name;
5656 TALLOC_CTX *_mem_save_result_name_0;
5657 if (ndr_flags & NDR_SCALARS) {
5658 NDR_CHECK(ndr_pull_align(ndr, 4));
5659 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5660 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5661 if (_ptr_dns_domain_name) {
5662 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5664 r->dns_domain_name = NULL;
5666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5667 if (_ptr_result_name) {
5668 NDR_PULL_ALLOC(ndr, r->result_name);
5670 r->result_name = NULL;
5673 if (ndr_flags & NDR_BUFFERS) {
5674 if (r->dns_domain_name) {
5675 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5676 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5677 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5678 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5679 if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) {
5680 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));
5682 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t)));
5683 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));
5684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5686 if (r->result_name) {
5687 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5688 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5689 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5690 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5691 if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) {
5692 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));
5694 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t)));
5695 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16));
5696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5699 return NDR_ERR_SUCCESS;
5702 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5704 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5706 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5707 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5709 if (r->dns_domain_name) {
5710 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5713 ndr_print_ptr(ndr, "result_name", r->result_name);
5715 if (r->result_name) {
5716 ndr_print_string(ndr, "result_name", r->result_name);
5722 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5724 uint32_t cntr_array_1;
5725 if (ndr_flags & NDR_SCALARS) {
5726 NDR_CHECK(ndr_push_align(ndr, 4));
5727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5730 if (ndr_flags & NDR_BUFFERS) {
5732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5733 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5734 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5736 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5737 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5741 return NDR_ERR_SUCCESS;
5744 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
5746 uint32_t _ptr_array;
5747 uint32_t cntr_array_1;
5748 TALLOC_CTX *_mem_save_array_0;
5749 TALLOC_CTX *_mem_save_array_1;
5750 if (ndr_flags & NDR_SCALARS) {
5751 NDR_CHECK(ndr_pull_align(ndr, 4));
5752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5753 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
5755 NDR_PULL_ALLOC(ndr, r->array);
5760 if (ndr_flags & NDR_BUFFERS) {
5762 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5763 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
5764 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
5765 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
5766 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5767 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
5768 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5769 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5771 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5772 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
5775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
5778 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
5781 return NDR_ERR_SUCCESS;
5784 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
5786 uint32_t cntr_array_1;
5787 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
5789 ndr_print_uint32(ndr, "count", r->count);
5790 ndr_print_ptr(ndr, "array", r->array);
5793 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
5795 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
5797 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
5798 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
5808 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
5810 if (ndr_flags & NDR_SCALARS) {
5811 int level = ndr_push_get_switch_value(ndr, r);
5812 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5815 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
5819 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5822 if (ndr_flags & NDR_BUFFERS) {
5823 int level = ndr_push_get_switch_value(ndr, r);
5827 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
5832 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5835 return NDR_ERR_SUCCESS;
5838 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
5842 TALLOC_CTX *_mem_save_ctr1_0;
5843 level = ndr_pull_get_switch_value(ndr, r);
5844 if (ndr_flags & NDR_SCALARS) {
5845 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5846 if (_level != level) {
5847 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5852 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
5854 NDR_PULL_ALLOC(ndr, r->ctr1);
5861 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5864 if (ndr_flags & NDR_BUFFERS) {
5868 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5869 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
5870 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
5871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
5876 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5879 return NDR_ERR_SUCCESS;
5882 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
5885 level = ndr_print_get_switch_value(ndr, r);
5886 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
5889 ndr_print_ptr(ndr, "ctr1", r->ctr1);
5892 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
5898 ndr_print_bad_level(ndr, name, level);
5902 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
5904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5905 return NDR_ERR_SUCCESS;
5908 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
5911 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5913 return NDR_ERR_SUCCESS;
5916 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
5918 const char *val = NULL;
5921 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
5922 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
5923 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
5925 ndr_print_enum(ndr, name, "ENUM", val, r);
5928 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
5930 uint32_t cntr_spn_names_1;
5931 if (ndr_flags & NDR_SCALARS) {
5932 NDR_CHECK(ndr_push_align(ndr, 4));
5933 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
5934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5935 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
5936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5937 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
5939 if (ndr_flags & NDR_BUFFERS) {
5941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
5942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
5944 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5948 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
5949 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
5951 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
5952 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
5956 return NDR_ERR_SUCCESS;
5959 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
5961 uint32_t _ptr_object_dn;
5962 TALLOC_CTX *_mem_save_object_dn_0;
5963 uint32_t _ptr_spn_names;
5964 uint32_t cntr_spn_names_1;
5965 TALLOC_CTX *_mem_save_spn_names_0;
5966 TALLOC_CTX *_mem_save_spn_names_1;
5967 if (ndr_flags & NDR_SCALARS) {
5968 NDR_CHECK(ndr_pull_align(ndr, 4));
5969 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
5970 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5971 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
5972 if (_ptr_object_dn) {
5973 NDR_PULL_ALLOC(ndr, r->object_dn);
5975 r->object_dn = NULL;
5977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5978 if (r->count > 10000) {
5979 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5981 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
5982 if (_ptr_spn_names) {
5983 NDR_PULL_ALLOC(ndr, r->spn_names);
5985 r->spn_names = NULL;
5988 if (ndr_flags & NDR_BUFFERS) {
5990 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
5991 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
5992 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
5993 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
5994 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
5995 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));
5997 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
5998 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
5999 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
6002 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6003 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6004 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
6005 NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names));
6006 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
6007 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
6008 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6009 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
6011 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
6012 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
6014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
6015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
6018 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
6021 return NDR_ERR_SUCCESS;
6024 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
6026 uint32_t cntr_spn_names_1;
6027 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
6029 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
6030 ndr_print_uint32(ndr, "unknown1", r->unknown1);
6031 ndr_print_ptr(ndr, "object_dn", r->object_dn);
6034 ndr_print_string(ndr, "object_dn", r->object_dn);
6037 ndr_print_uint32(ndr, "count", r->count);
6038 ndr_print_ptr(ndr, "spn_names", r->spn_names);
6041 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
6043 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
6045 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
6046 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
6056 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
6058 if (ndr_flags & NDR_SCALARS) {
6059 int level = ndr_push_get_switch_value(ndr, r);
6060 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6063 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6067 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6070 if (ndr_flags & NDR_BUFFERS) {
6071 int level = ndr_push_get_switch_value(ndr, r);
6074 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6078 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6081 return NDR_ERR_SUCCESS;
6084 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
6088 level = ndr_pull_get_switch_value(ndr, r);
6089 if (ndr_flags & NDR_SCALARS) {
6090 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6091 if (_level != level) {
6092 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6096 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
6100 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6103 if (ndr_flags & NDR_BUFFERS) {
6106 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
6110 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6113 return NDR_ERR_SUCCESS;
6116 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
6119 level = ndr_print_get_switch_value(ndr, r);
6120 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
6123 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
6127 ndr_print_bad_level(ndr, name, level);
6131 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6133 if (ndr_flags & NDR_SCALARS) {
6134 NDR_CHECK(ndr_push_align(ndr, 4));
6135 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
6137 if (ndr_flags & NDR_BUFFERS) {
6139 return NDR_ERR_SUCCESS;
6142 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
6144 if (ndr_flags & NDR_SCALARS) {
6145 NDR_CHECK(ndr_pull_align(ndr, 4));
6146 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
6148 if (ndr_flags & NDR_BUFFERS) {
6150 return NDR_ERR_SUCCESS;
6153 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
6155 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
6157 ndr_print_WERROR(ndr, "status", r->status);
6161 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
6163 if (ndr_flags & NDR_SCALARS) {
6164 int level = ndr_push_get_switch_value(ndr, r);
6165 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6168 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6172 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6175 if (ndr_flags & NDR_BUFFERS) {
6176 int level = ndr_push_get_switch_value(ndr, r);
6182 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6185 return NDR_ERR_SUCCESS;
6188 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
6192 level = ndr_pull_get_switch_value(ndr, r);
6193 if (ndr_flags & NDR_SCALARS) {
6194 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6195 if (_level != level) {
6196 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6200 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
6204 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6207 if (ndr_flags & NDR_BUFFERS) {
6213 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6216 return NDR_ERR_SUCCESS;
6219 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
6222 level = ndr_print_get_switch_value(ndr, r);
6223 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
6226 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
6230 ndr_print_bad_level(ndr, name, level);
6234 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6236 if (ndr_flags & NDR_SCALARS) {
6237 NDR_CHECK(ndr_push_align(ndr, 4));
6238 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6239 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
6240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
6242 if (ndr_flags & NDR_BUFFERS) {
6244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6247 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6250 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6251 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
6253 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6256 return NDR_ERR_SUCCESS;
6259 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
6261 uint32_t _ptr_server_dn;
6262 TALLOC_CTX *_mem_save_server_dn_0;
6263 uint32_t _ptr_domain_dn;
6264 TALLOC_CTX *_mem_save_domain_dn_0;
6265 if (ndr_flags & NDR_SCALARS) {
6266 NDR_CHECK(ndr_pull_align(ndr, 4));
6267 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6268 if (_ptr_server_dn) {
6269 NDR_PULL_ALLOC(ndr, r->server_dn);
6271 r->server_dn = NULL;
6273 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
6274 if (_ptr_domain_dn) {
6275 NDR_PULL_ALLOC(ndr, r->domain_dn);
6277 r->domain_dn = NULL;
6279 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
6281 if (ndr_flags & NDR_BUFFERS) {
6283 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6284 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6285 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6286 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6287 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6288 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));
6290 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6291 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6295 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6296 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
6297 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
6298 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
6299 if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) {
6300 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));
6302 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t)));
6303 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16));
6304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
6307 return NDR_ERR_SUCCESS;
6310 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
6312 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
6314 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6317 ndr_print_string(ndr, "server_dn", r->server_dn);
6320 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
6323 ndr_print_string(ndr, "domain_dn", r->domain_dn);
6326 ndr_print_uint32(ndr, "commit", r->commit);
6330 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
6332 if (ndr_flags & NDR_SCALARS) {
6333 int level = ndr_push_get_switch_value(ndr, r);
6334 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6337 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6341 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6344 if (ndr_flags & NDR_BUFFERS) {
6345 int level = ndr_push_get_switch_value(ndr, r);
6348 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6352 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6355 return NDR_ERR_SUCCESS;
6358 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
6362 level = ndr_pull_get_switch_value(ndr, r);
6363 if (ndr_flags & NDR_SCALARS) {
6364 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6365 if (_level != level) {
6366 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6370 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
6374 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6377 if (ndr_flags & NDR_BUFFERS) {
6380 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
6384 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6387 return NDR_ERR_SUCCESS;
6390 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
6393 level = ndr_print_get_switch_value(ndr, r);
6394 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
6397 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
6401 ndr_print_bad_level(ndr, name, level);
6405 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
6407 if (ndr_flags & NDR_SCALARS) {
6408 NDR_CHECK(ndr_push_align(ndr, 4));
6409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
6411 if (ndr_flags & NDR_BUFFERS) {
6413 return NDR_ERR_SUCCESS;
6416 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
6418 if (ndr_flags & NDR_SCALARS) {
6419 NDR_CHECK(ndr_pull_align(ndr, 4));
6420 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
6422 if (ndr_flags & NDR_BUFFERS) {
6424 return NDR_ERR_SUCCESS;
6427 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
6429 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
6431 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
6435 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
6437 if (ndr_flags & NDR_SCALARS) {
6438 int level = ndr_push_get_switch_value(ndr, r);
6439 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6442 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6446 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6449 if (ndr_flags & NDR_BUFFERS) {
6450 int level = ndr_push_get_switch_value(ndr, r);
6456 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6459 return NDR_ERR_SUCCESS;
6462 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
6466 level = ndr_pull_get_switch_value(ndr, r);
6467 if (ndr_flags & NDR_SCALARS) {
6468 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6469 if (_level != level) {
6470 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6474 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
6478 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6481 if (ndr_flags & NDR_BUFFERS) {
6487 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6490 return NDR_ERR_SUCCESS;
6493 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
6496 level = ndr_print_get_switch_value(ndr, r);
6497 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
6500 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
6504 ndr_print_bad_level(ndr, name, level);
6508 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
6510 if (ndr_flags & NDR_SCALARS) {
6511 NDR_CHECK(ndr_push_align(ndr, 4));
6512 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6513 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
6515 if (ndr_flags & NDR_BUFFERS) {
6516 if (r->domain_name) {
6517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6520 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6523 return NDR_ERR_SUCCESS;
6526 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
6528 uint32_t _ptr_domain_name;
6529 TALLOC_CTX *_mem_save_domain_name_0;
6530 if (ndr_flags & NDR_SCALARS) {
6531 NDR_CHECK(ndr_pull_align(ndr, 4));
6532 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6533 if (_ptr_domain_name) {
6534 NDR_PULL_ALLOC(ndr, r->domain_name);
6536 r->domain_name = NULL;
6538 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
6540 if (ndr_flags & NDR_BUFFERS) {
6541 if (r->domain_name) {
6542 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6543 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6544 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6545 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6546 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6547 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));
6549 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6550 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6554 return NDR_ERR_SUCCESS;
6557 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
6559 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
6561 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6563 if (r->domain_name) {
6564 ndr_print_string(ndr, "domain_name", r->domain_name);
6567 ndr_print_int32(ndr, "level", r->level);
6571 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
6573 if (ndr_flags & NDR_SCALARS) {
6574 int level = ndr_push_get_switch_value(ndr, r);
6575 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
6578 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6582 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6585 if (ndr_flags & NDR_BUFFERS) {
6586 int level = ndr_push_get_switch_value(ndr, r);
6589 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6593 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6596 return NDR_ERR_SUCCESS;
6599 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6603 level = ndr_pull_get_switch_value(ndr, r);
6604 if (ndr_flags & NDR_SCALARS) {
6605 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6606 if (_level != level) {
6607 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6611 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6615 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6618 if (ndr_flags & NDR_BUFFERS) {
6621 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6625 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6628 return NDR_ERR_SUCCESS;
6631 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6634 level = ndr_print_get_switch_value(ndr, r);
6635 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6638 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6642 ndr_print_bad_level(ndr, name, level);
6646 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6648 if (ndr_flags & NDR_SCALARS) {
6649 NDR_CHECK(ndr_push_align(ndr, 4));
6650 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6651 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6652 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6653 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6654 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6656 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6658 if (ndr_flags & NDR_BUFFERS) {
6659 if (r->netbios_name) {
6660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6662 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6663 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6669 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6672 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6673 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6675 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6677 if (r->computer_dn) {
6678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6681 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6687 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6690 return NDR_ERR_SUCCESS;
6693 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6695 uint32_t _ptr_netbios_name;
6696 TALLOC_CTX *_mem_save_netbios_name_0;
6697 uint32_t _ptr_dns_name;
6698 TALLOC_CTX *_mem_save_dns_name_0;
6699 uint32_t _ptr_site_name;
6700 TALLOC_CTX *_mem_save_site_name_0;
6701 uint32_t _ptr_computer_dn;
6702 TALLOC_CTX *_mem_save_computer_dn_0;
6703 uint32_t _ptr_server_dn;
6704 TALLOC_CTX *_mem_save_server_dn_0;
6705 if (ndr_flags & NDR_SCALARS) {
6706 NDR_CHECK(ndr_pull_align(ndr, 4));
6707 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6708 if (_ptr_netbios_name) {
6709 NDR_PULL_ALLOC(ndr, r->netbios_name);
6711 r->netbios_name = NULL;
6713 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6714 if (_ptr_dns_name) {
6715 NDR_PULL_ALLOC(ndr, r->dns_name);
6719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6720 if (_ptr_site_name) {
6721 NDR_PULL_ALLOC(ndr, r->site_name);
6723 r->site_name = NULL;
6725 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6726 if (_ptr_computer_dn) {
6727 NDR_PULL_ALLOC(ndr, r->computer_dn);
6729 r->computer_dn = NULL;
6731 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6732 if (_ptr_server_dn) {
6733 NDR_PULL_ALLOC(ndr, r->server_dn);
6735 r->server_dn = NULL;
6737 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
6738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
6740 if (ndr_flags & NDR_BUFFERS) {
6741 if (r->netbios_name) {
6742 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6743 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
6744 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
6745 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
6746 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
6747 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));
6749 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
6750 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
6751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
6754 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6755 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
6756 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
6757 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
6758 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
6759 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));
6761 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
6762 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
6763 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
6766 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6767 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
6768 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
6769 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
6770 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
6771 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));
6773 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
6774 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
6775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
6777 if (r->computer_dn) {
6778 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6779 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
6780 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
6781 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
6782 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
6783 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));
6785 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
6786 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
6787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
6790 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6791 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6792 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6793 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6794 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
6795 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));
6797 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
6798 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
6799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6802 return NDR_ERR_SUCCESS;
6805 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
6807 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
6809 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
6811 if (r->netbios_name) {
6812 ndr_print_string(ndr, "netbios_name", r->netbios_name);
6815 ndr_print_ptr(ndr, "dns_name", r->dns_name);
6818 ndr_print_string(ndr, "dns_name", r->dns_name);
6821 ndr_print_ptr(ndr, "site_name", r->site_name);
6824 ndr_print_string(ndr, "site_name", r->site_name);
6827 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
6829 if (r->computer_dn) {
6830 ndr_print_string(ndr, "computer_dn", r->computer_dn);
6833 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6836 ndr_print_string(ndr, "server_dn", r->server_dn);
6839 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
6840 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
6844 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
6846 uint32_t cntr_array_1;
6847 if (ndr_flags & NDR_SCALARS) {
6848 NDR_CHECK(ndr_push_align(ndr, 4));
6849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6850 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6852 if (ndr_flags & NDR_BUFFERS) {
6854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6855 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6856 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6858 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6859 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6863 return NDR_ERR_SUCCESS;
6866 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
6868 uint32_t _ptr_array;
6869 uint32_t cntr_array_1;
6870 TALLOC_CTX *_mem_save_array_0;
6871 TALLOC_CTX *_mem_save_array_1;
6872 if (ndr_flags & NDR_SCALARS) {
6873 NDR_CHECK(ndr_pull_align(ndr, 4));
6874 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6875 if (r->count > 10000) {
6876 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6880 NDR_PULL_ALLOC(ndr, r->array);
6885 if (ndr_flags & NDR_BUFFERS) {
6887 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6888 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6889 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6890 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
6891 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6892 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6893 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6894 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6896 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6897 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6903 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6906 return NDR_ERR_SUCCESS;
6909 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
6911 uint32_t cntr_array_1;
6912 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
6914 ndr_print_uint32(ndr, "count", r->count);
6915 ndr_print_ptr(ndr, "array", r->array);
6918 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6920 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6922 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6923 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
6933 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
6935 if (ndr_flags & NDR_SCALARS) {
6936 NDR_CHECK(ndr_push_align(ndr, 4));
6937 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6940 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
6941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6942 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6943 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
6944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
6947 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
6948 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6949 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
6950 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6952 if (ndr_flags & NDR_BUFFERS) {
6953 if (r->netbios_name) {
6954 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6955 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6956 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6957 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6960 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6963 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6969 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6975 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6977 if (r->computer_dn) {
6978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6981 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6987 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6993 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6996 return NDR_ERR_SUCCESS;
6999 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
7001 uint32_t _ptr_netbios_name;
7002 TALLOC_CTX *_mem_save_netbios_name_0;
7003 uint32_t _ptr_dns_name;
7004 TALLOC_CTX *_mem_save_dns_name_0;
7005 uint32_t _ptr_site_name;
7006 TALLOC_CTX *_mem_save_site_name_0;
7007 uint32_t _ptr_site_dn;
7008 TALLOC_CTX *_mem_save_site_dn_0;
7009 uint32_t _ptr_computer_dn;
7010 TALLOC_CTX *_mem_save_computer_dn_0;
7011 uint32_t _ptr_server_dn;
7012 TALLOC_CTX *_mem_save_server_dn_0;
7013 uint32_t _ptr_ntds_dn;
7014 TALLOC_CTX *_mem_save_ntds_dn_0;
7015 if (ndr_flags & NDR_SCALARS) {
7016 NDR_CHECK(ndr_pull_align(ndr, 4));
7017 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7018 if (_ptr_netbios_name) {
7019 NDR_PULL_ALLOC(ndr, r->netbios_name);
7021 r->netbios_name = NULL;
7023 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7024 if (_ptr_dns_name) {
7025 NDR_PULL_ALLOC(ndr, r->dns_name);
7029 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7030 if (_ptr_site_name) {
7031 NDR_PULL_ALLOC(ndr, r->site_name);
7033 r->site_name = NULL;
7035 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7037 NDR_PULL_ALLOC(ndr, r->site_dn);
7041 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7042 if (_ptr_computer_dn) {
7043 NDR_PULL_ALLOC(ndr, r->computer_dn);
7045 r->computer_dn = NULL;
7047 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7048 if (_ptr_server_dn) {
7049 NDR_PULL_ALLOC(ndr, r->server_dn);
7051 r->server_dn = NULL;
7053 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7055 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7059 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7060 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7061 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7062 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7063 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7064 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7065 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7067 if (ndr_flags & NDR_BUFFERS) {
7068 if (r->netbios_name) {
7069 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7070 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7071 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7072 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7073 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7074 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));
7076 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7077 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7078 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7081 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7082 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7083 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7084 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7085 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7086 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));
7088 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7089 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7093 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7094 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7095 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7096 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7097 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7098 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));
7100 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7101 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7105 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7106 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7107 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7108 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7109 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7110 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));
7112 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7113 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7114 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7116 if (r->computer_dn) {
7117 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7118 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7119 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7120 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7121 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7122 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));
7124 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7125 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7129 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7130 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7131 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7132 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7133 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7134 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));
7136 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7137 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7141 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7142 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7143 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7144 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7145 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7146 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));
7148 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7149 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7153 return NDR_ERR_SUCCESS;
7156 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
7158 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
7160 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7162 if (r->netbios_name) {
7163 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7166 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7169 ndr_print_string(ndr, "dns_name", r->dns_name);
7172 ndr_print_ptr(ndr, "site_name", r->site_name);
7175 ndr_print_string(ndr, "site_name", r->site_name);
7178 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7181 ndr_print_string(ndr, "site_dn", r->site_dn);
7184 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7186 if (r->computer_dn) {
7187 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7190 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7193 ndr_print_string(ndr, "server_dn", r->server_dn);
7196 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7199 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7202 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7203 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7204 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7205 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7206 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7207 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7208 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7212 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
7214 uint32_t cntr_array_1;
7215 if (ndr_flags & NDR_SCALARS) {
7216 NDR_CHECK(ndr_push_align(ndr, 4));
7217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7218 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7220 if (ndr_flags & NDR_BUFFERS) {
7222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7223 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7224 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7226 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7227 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7231 return NDR_ERR_SUCCESS;
7234 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
7236 uint32_t _ptr_array;
7237 uint32_t cntr_array_1;
7238 TALLOC_CTX *_mem_save_array_0;
7239 TALLOC_CTX *_mem_save_array_1;
7240 if (ndr_flags & NDR_SCALARS) {
7241 NDR_CHECK(ndr_pull_align(ndr, 4));
7242 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7243 if (r->count > 10000) {
7244 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7246 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7248 NDR_PULL_ALLOC(ndr, r->array);
7253 if (ndr_flags & NDR_BUFFERS) {
7255 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7256 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7257 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7258 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7259 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7260 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7261 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7262 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7264 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7265 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7271 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7274 return NDR_ERR_SUCCESS;
7277 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
7279 uint32_t cntr_array_1;
7280 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
7282 ndr_print_uint32(ndr, "count", r->count);
7283 ndr_print_ptr(ndr, "array", r->array);
7286 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7288 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7290 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7291 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
7301 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
7303 if (ndr_flags & NDR_SCALARS) {
7304 NDR_CHECK(ndr_push_align(ndr, 4));
7305 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7306 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7307 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
7308 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
7309 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
7310 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
7311 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
7312 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
7313 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
7314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
7315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
7316 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
7317 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7318 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
7319 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7321 if (ndr_flags & NDR_BUFFERS) {
7322 if (r->netbios_name) {
7323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7324 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7326 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7329 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7332 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
7338 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7343 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
7344 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7346 if (r->computer_dn) {
7347 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
7350 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7353 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
7356 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
7362 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7365 return NDR_ERR_SUCCESS;
7368 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
7370 uint32_t _ptr_netbios_name;
7371 TALLOC_CTX *_mem_save_netbios_name_0;
7372 uint32_t _ptr_dns_name;
7373 TALLOC_CTX *_mem_save_dns_name_0;
7374 uint32_t _ptr_site_name;
7375 TALLOC_CTX *_mem_save_site_name_0;
7376 uint32_t _ptr_site_dn;
7377 TALLOC_CTX *_mem_save_site_dn_0;
7378 uint32_t _ptr_computer_dn;
7379 TALLOC_CTX *_mem_save_computer_dn_0;
7380 uint32_t _ptr_server_dn;
7381 TALLOC_CTX *_mem_save_server_dn_0;
7382 uint32_t _ptr_ntds_dn;
7383 TALLOC_CTX *_mem_save_ntds_dn_0;
7384 if (ndr_flags & NDR_SCALARS) {
7385 NDR_CHECK(ndr_pull_align(ndr, 4));
7386 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7387 if (_ptr_netbios_name) {
7388 NDR_PULL_ALLOC(ndr, r->netbios_name);
7390 r->netbios_name = NULL;
7392 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7393 if (_ptr_dns_name) {
7394 NDR_PULL_ALLOC(ndr, r->dns_name);
7398 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
7399 if (_ptr_site_name) {
7400 NDR_PULL_ALLOC(ndr, r->site_name);
7402 r->site_name = NULL;
7404 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
7406 NDR_PULL_ALLOC(ndr, r->site_dn);
7410 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
7411 if (_ptr_computer_dn) {
7412 NDR_PULL_ALLOC(ndr, r->computer_dn);
7414 r->computer_dn = NULL;
7416 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
7417 if (_ptr_server_dn) {
7418 NDR_PULL_ALLOC(ndr, r->server_dn);
7420 r->server_dn = NULL;
7422 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
7424 NDR_PULL_ALLOC(ndr, r->ntds_dn);
7428 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
7429 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
7430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
7431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
7432 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
7433 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
7434 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
7435 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
7437 if (ndr_flags & NDR_BUFFERS) {
7438 if (r->netbios_name) {
7439 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7440 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7441 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7442 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7443 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7444 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));
7446 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7447 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7451 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7452 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7453 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7454 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7455 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7456 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));
7458 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7459 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7463 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7464 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
7465 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
7466 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
7467 if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) {
7468 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));
7470 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t)));
7471 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16));
7472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
7475 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7476 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
7477 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
7478 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
7479 if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) {
7480 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));
7482 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t)));
7483 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16));
7484 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
7486 if (r->computer_dn) {
7487 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7488 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
7489 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
7490 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
7491 if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) {
7492 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));
7494 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t)));
7495 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16));
7496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
7499 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7500 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
7501 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
7502 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
7503 if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) {
7504 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));
7506 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t)));
7507 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16));
7508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7511 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7512 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7513 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7514 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7515 if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) {
7516 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));
7518 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t)));
7519 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16));
7520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7523 return NDR_ERR_SUCCESS;
7526 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7528 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7530 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7532 if (r->netbios_name) {
7533 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7536 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7539 ndr_print_string(ndr, "dns_name", r->dns_name);
7542 ndr_print_ptr(ndr, "site_name", r->site_name);
7545 ndr_print_string(ndr, "site_name", r->site_name);
7548 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7551 ndr_print_string(ndr, "site_dn", r->site_dn);
7554 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7556 if (r->computer_dn) {
7557 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7560 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7563 ndr_print_string(ndr, "server_dn", r->server_dn);
7566 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7569 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7572 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7573 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7574 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7575 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7576 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7577 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7578 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7579 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7583 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7585 uint32_t cntr_array_1;
7586 if (ndr_flags & NDR_SCALARS) {
7587 NDR_CHECK(ndr_push_align(ndr, 4));
7588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7589 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7591 if (ndr_flags & NDR_BUFFERS) {
7593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7594 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7595 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7597 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7598 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7602 return NDR_ERR_SUCCESS;
7605 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7607 uint32_t _ptr_array;
7608 uint32_t cntr_array_1;
7609 TALLOC_CTX *_mem_save_array_0;
7610 TALLOC_CTX *_mem_save_array_1;
7611 if (ndr_flags & NDR_SCALARS) {
7612 NDR_CHECK(ndr_pull_align(ndr, 4));
7613 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7614 if (r->count > 10000) {
7615 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7617 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7619 NDR_PULL_ALLOC(ndr, r->array);
7624 if (ndr_flags & NDR_BUFFERS) {
7626 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7627 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7628 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7629 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7630 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7631 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7632 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7633 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7635 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7636 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7638 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7642 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7645 return NDR_ERR_SUCCESS;
7648 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7650 uint32_t cntr_array_1;
7651 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7653 ndr_print_uint32(ndr, "count", r->count);
7654 ndr_print_ptr(ndr, "array", r->array);
7657 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7659 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7661 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7662 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7672 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7674 if (ndr_flags & NDR_SCALARS) {
7675 NDR_CHECK(ndr_push_align(ndr, 4));
7677 uint32_t _flags_save_ipv4address = ndr->flags;
7678 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7679 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7680 ndr->flags = _flags_save_ipv4address;
7682 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7689 if (ndr_flags & NDR_BUFFERS) {
7690 if (r->client_account) {
7691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7694 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7697 return NDR_ERR_SUCCESS;
7700 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
7702 uint32_t _ptr_client_account;
7703 TALLOC_CTX *_mem_save_client_account_0;
7704 if (ndr_flags & NDR_SCALARS) {
7705 NDR_CHECK(ndr_pull_align(ndr, 4));
7707 uint32_t _flags_save_ipv4address = ndr->flags;
7708 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7709 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
7710 ndr->flags = _flags_save_ipv4address;
7712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
7714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
7715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
7716 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
7717 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
7718 if (_ptr_client_account) {
7719 NDR_PULL_ALLOC(ndr, r->client_account);
7721 r->client_account = NULL;
7724 if (ndr_flags & NDR_BUFFERS) {
7725 if (r->client_account) {
7726 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
7727 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
7728 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
7729 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
7730 if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) {
7731 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));
7733 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t)));
7734 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16));
7735 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
7738 return NDR_ERR_SUCCESS;
7741 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
7743 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
7745 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
7746 ndr_print_uint32(ndr, "unknown2", r->unknown2);
7747 ndr_print_uint32(ndr, "connection_time", r->connection_time);
7748 ndr_print_uint32(ndr, "unknown4", r->unknown4);
7749 ndr_print_uint32(ndr, "unknown5", r->unknown5);
7750 ndr_print_uint32(ndr, "unknown6", r->unknown6);
7751 ndr_print_ptr(ndr, "client_account", r->client_account);
7753 if (r->client_account) {
7754 ndr_print_string(ndr, "client_account", r->client_account);
7760 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
7762 uint32_t cntr_array_1;
7763 if (ndr_flags & NDR_SCALARS) {
7764 NDR_CHECK(ndr_push_align(ndr, 4));
7765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7766 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7768 if (ndr_flags & NDR_BUFFERS) {
7770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7771 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7772 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7774 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7775 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7779 return NDR_ERR_SUCCESS;
7782 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
7784 uint32_t _ptr_array;
7785 uint32_t cntr_array_1;
7786 TALLOC_CTX *_mem_save_array_0;
7787 TALLOC_CTX *_mem_save_array_1;
7788 if (ndr_flags & NDR_SCALARS) {
7789 NDR_CHECK(ndr_pull_align(ndr, 4));
7790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7791 if (r->count > 10000) {
7792 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7794 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7796 NDR_PULL_ALLOC(ndr, r->array);
7801 if (ndr_flags & NDR_BUFFERS) {
7803 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7804 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7805 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7806 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7807 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7808 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7809 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7810 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7812 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7813 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7815 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7816 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7819 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7822 return NDR_ERR_SUCCESS;
7825 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
7827 uint32_t cntr_array_1;
7828 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
7830 ndr_print_uint32(ndr, "count", r->count);
7831 ndr_print_ptr(ndr, "array", r->array);
7834 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7836 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7838 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7839 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
7849 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
7851 if (ndr_flags & NDR_SCALARS) {
7852 int level = ndr_push_get_switch_value(ndr, r);
7853 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
7855 case DRSUAPI_DC_INFO_CTR_1: {
7856 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
7859 case DRSUAPI_DC_INFO_CTR_2: {
7860 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
7863 case DRSUAPI_DC_INFO_CTR_3: {
7864 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
7867 case DRSUAPI_DC_CONNECTION_CTR_01: {
7868 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
7872 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7875 if (ndr_flags & NDR_BUFFERS) {
7876 int level = ndr_push_get_switch_value(ndr, r);
7878 case DRSUAPI_DC_INFO_CTR_1:
7879 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
7882 case DRSUAPI_DC_INFO_CTR_2:
7883 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
7886 case DRSUAPI_DC_INFO_CTR_3:
7887 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
7890 case DRSUAPI_DC_CONNECTION_CTR_01:
7891 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
7895 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7898 return NDR_ERR_SUCCESS;
7901 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
7905 level = ndr_pull_get_switch_value(ndr, r);
7906 if (ndr_flags & NDR_SCALARS) {
7907 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7908 if (_level != level) {
7909 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7912 case DRSUAPI_DC_INFO_CTR_1: {
7913 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
7916 case DRSUAPI_DC_INFO_CTR_2: {
7917 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
7920 case DRSUAPI_DC_INFO_CTR_3: {
7921 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
7924 case DRSUAPI_DC_CONNECTION_CTR_01: {
7925 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
7929 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7932 if (ndr_flags & NDR_BUFFERS) {
7934 case DRSUAPI_DC_INFO_CTR_1:
7935 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
7938 case DRSUAPI_DC_INFO_CTR_2:
7939 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
7942 case DRSUAPI_DC_INFO_CTR_3:
7943 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
7946 case DRSUAPI_DC_CONNECTION_CTR_01:
7947 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
7951 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7954 return NDR_ERR_SUCCESS;
7957 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
7960 level = ndr_print_get_switch_value(ndr, r);
7961 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
7963 case DRSUAPI_DC_INFO_CTR_1:
7964 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
7967 case DRSUAPI_DC_INFO_CTR_2:
7968 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
7971 case DRSUAPI_DC_INFO_CTR_3:
7972 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
7975 case DRSUAPI_DC_CONNECTION_CTR_01:
7976 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
7980 ndr_print_bad_level(ndr, name, level);
7984 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
7986 if (ndr_flags & NDR_SCALARS) {
7987 NDR_CHECK(ndr_push_align(ndr, 4));
7988 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
7989 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
7991 if (ndr_flags & NDR_BUFFERS) {
7992 if (r->next_object) {
7993 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
7995 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
7997 return NDR_ERR_SUCCESS;
8000 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
8002 uint32_t _ptr_next_object;
8003 TALLOC_CTX *_mem_save_next_object_0;
8004 if (ndr_flags & NDR_SCALARS) {
8005 NDR_CHECK(ndr_pull_align(ndr, 4));
8006 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
8007 if (_ptr_next_object) {
8008 NDR_PULL_ALLOC(ndr, r->next_object);
8010 r->next_object = NULL;
8012 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
8014 if (ndr_flags & NDR_BUFFERS) {
8015 if (r->next_object) {
8016 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
8017 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
8018 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
8019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
8021 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
8023 return NDR_ERR_SUCCESS;
8026 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
8028 if (ndr_flags & NDR_SCALARS) {
8029 NDR_CHECK(ndr_push_align(ndr, 4));
8030 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8032 if (ndr_flags & NDR_BUFFERS) {
8033 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8035 return NDR_ERR_SUCCESS;
8038 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
8040 if (ndr_flags & NDR_SCALARS) {
8041 NDR_CHECK(ndr_pull_align(ndr, 4));
8042 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
8044 if (ndr_flags & NDR_BUFFERS) {
8045 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
8047 return NDR_ERR_SUCCESS;
8050 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
8052 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
8054 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
8058 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
8060 if (ndr_flags & NDR_SCALARS) {
8061 int level = ndr_push_get_switch_value(ndr, r);
8062 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8065 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8069 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8072 if (ndr_flags & NDR_BUFFERS) {
8073 int level = ndr_push_get_switch_value(ndr, r);
8076 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8080 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8083 return NDR_ERR_SUCCESS;
8086 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
8090 level = ndr_pull_get_switch_value(ndr, r);
8091 if (ndr_flags & NDR_SCALARS) {
8092 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8093 if (_level != level) {
8094 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8098 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
8102 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8105 if (ndr_flags & NDR_BUFFERS) {
8108 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
8112 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8115 return NDR_ERR_SUCCESS;
8118 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
8121 level = ndr_print_get_switch_value(ndr, r);
8122 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
8125 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
8129 ndr_print_bad_level(ndr, name, level);
8133 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
8135 if (ndr_flags & NDR_SCALARS) {
8136 NDR_CHECK(ndr_push_align(ndr, 4));
8137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8138 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8140 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
8142 if (ndr_flags & NDR_BUFFERS) {
8144 return NDR_ERR_SUCCESS;
8147 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
8149 if (ndr_flags & NDR_SCALARS) {
8150 NDR_CHECK(ndr_pull_align(ndr, 4));
8151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8152 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8154 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
8156 if (ndr_flags & NDR_BUFFERS) {
8158 return NDR_ERR_SUCCESS;
8161 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
8163 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
8165 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8166 ndr_print_WERROR(ndr, "status", r->status);
8167 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8168 ndr_print_uint16(ndr, "unknown3", r->unknown3);
8172 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8174 if (ndr_flags & NDR_SCALARS) {
8175 NDR_CHECK(ndr_push_align(ndr, 4));
8176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
8179 if (ndr_flags & NDR_BUFFERS) {
8181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8182 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
8185 return NDR_ERR_SUCCESS;
8188 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8191 TALLOC_CTX *_mem_save_data_0;
8192 if (ndr_flags & NDR_SCALARS) {
8193 NDR_CHECK(ndr_pull_align(ndr, 4));
8194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8195 if (r->size > 10485760) {
8196 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8198 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
8200 NDR_PULL_ALLOC(ndr, r->data);
8205 if (ndr_flags & NDR_BUFFERS) {
8207 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
8208 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
8209 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
8210 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
8211 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
8212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
8215 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
8218 return NDR_ERR_SUCCESS;
8221 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
8223 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
8225 ndr_print_uint32(ndr, "size", r->size);
8226 ndr_print_ptr(ndr, "data", r->data);
8229 ndr_print_array_uint8(ndr, "data", r->data, r->size);
8235 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
8237 if (ndr_flags & NDR_SCALARS) {
8238 NDR_CHECK(ndr_push_align(ndr, 4));
8239 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8240 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
8241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8242 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8244 if (ndr_flags & NDR_BUFFERS) {
8245 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8247 return NDR_ERR_SUCCESS;
8250 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
8252 if (ndr_flags & NDR_SCALARS) {
8253 NDR_CHECK(ndr_pull_align(ndr, 4));
8254 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8255 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
8256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8257 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
8259 if (ndr_flags & NDR_BUFFERS) {
8260 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
8262 return NDR_ERR_SUCCESS;
8265 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
8267 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
8269 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8270 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
8271 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8272 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
8276 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8278 if (ndr_flags & NDR_SCALARS) {
8279 NDR_CHECK(ndr_push_align(ndr, 4));
8280 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
8281 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8283 if (ndr_flags & NDR_BUFFERS) {
8285 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8287 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8289 return NDR_ERR_SUCCESS;
8292 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
8295 TALLOC_CTX *_mem_save_next_0;
8296 if (ndr_flags & NDR_SCALARS) {
8297 NDR_CHECK(ndr_pull_align(ndr, 4));
8298 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
8300 NDR_PULL_ALLOC(ndr, r->next);
8304 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
8306 if (ndr_flags & NDR_BUFFERS) {
8308 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
8309 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
8310 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
8311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
8313 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
8315 return NDR_ERR_SUCCESS;
8318 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
8320 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
8322 ndr_print_ptr(ndr, "next", r->next);
8325 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
8328 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
8332 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8334 if (ndr_flags & NDR_SCALARS) {
8335 NDR_CHECK(ndr_push_align(ndr, 4));
8336 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8337 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8338 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8340 if (ndr_flags & NDR_BUFFERS) {
8342 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8344 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8346 return NDR_ERR_SUCCESS;
8349 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
8352 TALLOC_CTX *_mem_save_id_0;
8353 if (ndr_flags & NDR_SCALARS) {
8354 NDR_CHECK(ndr_pull_align(ndr, 4));
8355 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8357 NDR_PULL_ALLOC(ndr, r->id);
8361 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8362 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
8364 if (ndr_flags & NDR_BUFFERS) {
8366 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8367 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8368 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8371 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
8373 return NDR_ERR_SUCCESS;
8376 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
8378 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
8380 ndr_print_ptr(ndr, "id", r->id);
8383 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8386 ndr_print_WERROR(ndr, "status", r->status);
8387 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
8391 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
8393 if (ndr_flags & NDR_SCALARS) {
8394 int level = ndr_push_get_switch_value(ndr, r);
8395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8398 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8402 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8406 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8410 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8414 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8418 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8421 if (ndr_flags & NDR_BUFFERS) {
8422 int level = ndr_push_get_switch_value(ndr, r);
8425 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8441 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8444 return NDR_ERR_SUCCESS;
8447 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
8451 level = ndr_pull_get_switch_value(ndr, r);
8452 if (ndr_flags & NDR_SCALARS) {
8453 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8454 if (_level != level) {
8455 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8459 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
8463 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8467 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8471 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8475 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
8479 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8482 if (ndr_flags & NDR_BUFFERS) {
8485 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
8501 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8504 return NDR_ERR_SUCCESS;
8507 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8510 level = ndr_print_get_switch_value(ndr, r);
8511 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8514 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8518 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8522 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8526 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8530 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8534 ndr_print_bad_level(ndr, name, level);
8538 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8540 if (ndr_flags & NDR_SCALARS) {
8541 NDR_CHECK(ndr_push_align(ndr, 4));
8542 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8546 if (ndr_flags & NDR_BUFFERS) {
8548 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8549 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8552 return NDR_ERR_SUCCESS;
8555 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8558 TALLOC_CTX *_mem_save_info_0;
8559 if (ndr_flags & NDR_SCALARS) {
8560 NDR_CHECK(ndr_pull_align(ndr, 4));
8561 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8563 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8565 NDR_PULL_ALLOC(ndr, r->info);
8570 if (ndr_flags & NDR_BUFFERS) {
8572 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8573 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8574 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8575 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8576 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8579 return NDR_ERR_SUCCESS;
8582 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8584 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
8586 ndr_print_WERROR(ndr, "status", r->status);
8587 ndr_print_uint32(ndr, "level", r->level);
8588 ndr_print_ptr(ndr, "info", r->info);
8591 ndr_print_set_switch_value(ndr, r->info, r->level);
8592 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
8598 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
8600 if (ndr_flags & NDR_SCALARS) {
8601 int level = ndr_push_get_switch_value(ndr, r);
8602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8605 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8609 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8612 if (ndr_flags & NDR_BUFFERS) {
8613 int level = ndr_push_get_switch_value(ndr, r);
8616 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8620 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8623 return NDR_ERR_SUCCESS;
8626 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8630 level = ndr_pull_get_switch_value(ndr, r);
8631 if (ndr_flags & NDR_SCALARS) {
8632 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8633 if (_level != level) {
8634 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8638 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8642 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8645 if (ndr_flags & NDR_BUFFERS) {
8648 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8652 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8655 return NDR_ERR_SUCCESS;
8658 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
8661 level = ndr_print_get_switch_value(ndr, r);
8662 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
8665 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
8669 ndr_print_bad_level(ndr, name, level);
8673 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8675 if (ndr_flags & NDR_SCALARS) {
8676 NDR_CHECK(ndr_push_align(ndr, 4));
8677 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8678 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8680 if (ndr_flags & NDR_BUFFERS) {
8681 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8683 return NDR_ERR_SUCCESS;
8686 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
8688 if (ndr_flags & NDR_SCALARS) {
8689 NDR_CHECK(ndr_pull_align(ndr, 4));
8690 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8691 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8693 if (ndr_flags & NDR_BUFFERS) {
8694 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8696 return NDR_ERR_SUCCESS;
8699 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8701 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
8703 ndr_print_GUID(ndr, "guid", &r->guid);
8704 ndr_print_dom_sid28(ndr, "sid", &r->sid);
8708 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
8710 uint32_t cntr_objects_1;
8711 if (ndr_flags & NDR_SCALARS) {
8712 NDR_CHECK(ndr_push_align(ndr, 4));
8713 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8715 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8717 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
8719 if (ndr_flags & NDR_BUFFERS) {
8721 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8725 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8726 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8728 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8729 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8733 return NDR_ERR_SUCCESS;
8736 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
8739 TALLOC_CTX *_mem_save_id_0;
8740 uint32_t _ptr_objects;
8741 uint32_t cntr_objects_1;
8742 TALLOC_CTX *_mem_save_objects_0;
8743 TALLOC_CTX *_mem_save_objects_1;
8744 if (ndr_flags & NDR_SCALARS) {
8745 NDR_CHECK(ndr_pull_align(ndr, 4));
8746 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8748 NDR_PULL_ALLOC(ndr, r->id);
8752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8753 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8754 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8755 if (r->count > 10000) {
8756 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8758 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
8760 NDR_PULL_ALLOC(ndr, r->objects);
8765 if (ndr_flags & NDR_BUFFERS) {
8767 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8768 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8769 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8773 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
8774 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8775 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
8776 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
8777 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
8778 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8779 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8780 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8782 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8783 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8785 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
8786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
8789 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
8792 return NDR_ERR_SUCCESS;
8795 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
8797 uint32_t cntr_objects_1;
8798 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
8800 ndr_print_ptr(ndr, "id", r->id);
8803 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8806 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8807 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8808 ndr_print_uint32(ndr, "count", r->count);
8809 ndr_print_ptr(ndr, "objects", r->objects);
8812 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
8814 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
8816 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
8817 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
8827 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
8829 uint32_t cntr_objects_1;
8830 if (ndr_flags & NDR_SCALARS) {
8831 NDR_CHECK(ndr_push_align(ndr, 4));
8832 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8833 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8834 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
8835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8836 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
8838 if (ndr_flags & NDR_BUFFERS) {
8840 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8843 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
8844 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
8847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8848 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8849 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8851 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8852 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8856 return NDR_ERR_SUCCESS;
8859 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
8862 TALLOC_CTX *_mem_save_id_0;
8863 uint32_t _ptr_error;
8864 TALLOC_CTX *_mem_save_error_0;
8865 uint32_t _ptr_objects;
8866 uint32_t cntr_objects_1;
8867 TALLOC_CTX *_mem_save_objects_0;
8868 TALLOC_CTX *_mem_save_objects_1;
8869 if (ndr_flags & NDR_SCALARS) {
8870 NDR_CHECK(ndr_pull_align(ndr, 4));
8871 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8873 NDR_PULL_ALLOC(ndr, r->id);
8877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
8880 NDR_PULL_ALLOC(ndr, r->error);
8884 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8885 if (r->count > 10000) {
8886 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8888 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
8890 NDR_PULL_ALLOC(ndr, r->objects);
8895 if (ndr_flags & NDR_BUFFERS) {
8897 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8898 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8899 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8903 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
8904 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
8905 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
8906 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
8907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
8910 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
8911 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8912 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
8913 NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects));
8914 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
8915 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8916 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8917 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8919 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8920 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8922 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
8923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
8926 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
8929 return NDR_ERR_SUCCESS;
8932 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
8934 uint32_t cntr_objects_1;
8935 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
8937 ndr_print_ptr(ndr, "id", r->id);
8940 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8943 ndr_print_uint32(ndr, "level", r->level);
8944 ndr_print_ptr(ndr, "error", r->error);
8947 ndr_print_set_switch_value(ndr, r->error, r->level);
8948 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
8951 ndr_print_uint32(ndr, "count", r->count);
8952 ndr_print_ptr(ndr, "objects", r->objects);
8955 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
8957 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
8959 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
8960 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
8970 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
8972 if (ndr_flags & NDR_SCALARS) {
8973 int level = ndr_push_get_switch_value(ndr, r);
8974 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8977 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
8981 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
8985 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8988 if (ndr_flags & NDR_BUFFERS) {
8989 int level = ndr_push_get_switch_value(ndr, r);
8992 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8996 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9000 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9003 return NDR_ERR_SUCCESS;
9006 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
9010 level = ndr_pull_get_switch_value(ndr, r);
9011 if (ndr_flags & NDR_SCALARS) {
9012 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
9013 if (_level != level) {
9014 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9018 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
9022 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
9026 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9029 if (ndr_flags & NDR_BUFFERS) {
9032 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
9036 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
9040 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9043 return NDR_ERR_SUCCESS;
9046 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
9049 level = ndr_print_get_switch_value(ndr, r);
9050 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
9053 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
9057 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
9061 ndr_print_bad_level(ndr, name, level);
9065 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
9067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9068 return NDR_ERR_SUCCESS;
9071 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
9074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9076 return NDR_ERR_SUCCESS;
9079 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r)
9081 ndr_print_uint32(ndr, name, r);
9083 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r);
9084 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r);
9088 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r)
9090 if (ndr_flags & NDR_SCALARS) {
9091 NDR_CHECK(ndr_push_align(ndr, 4));
9092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID));
9093 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags));
9095 if (ndr_flags & NDR_BUFFERS) {
9097 return NDR_ERR_SUCCESS;
9100 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r)
9102 if (ndr_flags & NDR_SCALARS) {
9103 NDR_CHECK(ndr_pull_align(ndr, 4));
9104 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID));
9105 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags));
9107 if (ndr_flags & NDR_BUFFERS) {
9109 return NDR_ERR_SUCCESS;
9112 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r)
9114 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1");
9116 ndr_print_uint32(ndr, "taskID", r->taskID);
9117 ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags);
9121 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r)
9123 if (ndr_flags & NDR_SCALARS) {
9124 int level = ndr_push_get_switch_value(ndr, r);
9125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
9128 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9132 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9135 if (ndr_flags & NDR_BUFFERS) {
9136 int level = ndr_push_get_switch_value(ndr, r);
9142 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9145 return NDR_ERR_SUCCESS;
9148 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r)
9152 level = ndr_pull_get_switch_value(ndr, r);
9153 if (ndr_flags & NDR_SCALARS) {
9154 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9155 if (_level != level) {
9156 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9160 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1));
9164 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9167 if (ndr_flags & NDR_BUFFERS) {
9173 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9176 return NDR_ERR_SUCCESS;
9179 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r)
9182 level = ndr_print_get_switch_value(ndr, r);
9183 ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest");
9186 ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1);
9190 ndr_print_bad_level(ndr, name, level);
9194 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
9196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9197 return NDR_ERR_SUCCESS;
9200 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
9203 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9205 return NDR_ERR_SUCCESS;
9208 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
9210 const char *val = NULL;
9213 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9214 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9216 ndr_print_enum(ndr, name, "ENUM", val, r);
9219 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
9221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
9222 return NDR_ERR_SUCCESS;
9225 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
9228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
9230 return NDR_ERR_SUCCESS;
9233 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
9235 const char *val = NULL;
9238 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9239 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9240 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9241 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9242 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9243 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9244 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9245 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9246 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9247 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9248 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9249 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
9250 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
9251 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
9252 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
9254 ndr_print_enum(ndr, name, "ENUM", val, r);
9257 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9259 if (ndr_flags & NDR_SCALARS) {
9260 NDR_CHECK(ndr_push_align(ndr, 4));
9261 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9262 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9263 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9265 if (ndr_flags & NDR_BUFFERS) {
9267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9270 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9273 return NDR_ERR_SUCCESS;
9276 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
9278 uint32_t _ptr_object_dn;
9279 TALLOC_CTX *_mem_save_object_dn_0;
9280 if (ndr_flags & NDR_SCALARS) {
9281 NDR_CHECK(ndr_pull_align(ndr, 4));
9282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9283 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9284 if (_ptr_object_dn) {
9285 NDR_PULL_ALLOC(ndr, r->object_dn);
9287 r->object_dn = NULL;
9289 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9291 if (ndr_flags & NDR_BUFFERS) {
9293 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9294 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9295 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9296 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9297 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9298 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));
9300 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9301 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9305 return NDR_ERR_SUCCESS;
9308 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
9310 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
9312 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9313 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9316 ndr_print_string(ndr, "object_dn", r->object_dn);
9319 ndr_print_GUID(ndr, "guid1", &r->guid1);
9323 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9325 if (ndr_flags & NDR_SCALARS) {
9326 NDR_CHECK(ndr_push_align(ndr, 4));
9327 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
9328 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
9329 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
9330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
9331 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
9332 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
9333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
9335 if (ndr_flags & NDR_BUFFERS) {
9337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9339 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
9340 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9343 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
9346 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
9352 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9355 return NDR_ERR_SUCCESS;
9358 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
9360 uint32_t _ptr_object_dn;
9361 TALLOC_CTX *_mem_save_object_dn_0;
9362 uint32_t _ptr_string1;
9363 TALLOC_CTX *_mem_save_string1_0;
9364 uint32_t _ptr_string2;
9365 TALLOC_CTX *_mem_save_string2_0;
9366 if (ndr_flags & NDR_SCALARS) {
9367 NDR_CHECK(ndr_pull_align(ndr, 4));
9368 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
9369 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
9370 if (_ptr_object_dn) {
9371 NDR_PULL_ALLOC(ndr, r->object_dn);
9373 r->object_dn = NULL;
9375 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
9376 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
9377 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
9379 NDR_PULL_ALLOC(ndr, r->string1);
9383 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
9385 NDR_PULL_ALLOC(ndr, r->string2);
9389 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
9391 if (ndr_flags & NDR_BUFFERS) {
9393 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9394 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
9395 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
9396 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
9397 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
9398 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));
9400 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
9401 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
9402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
9405 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
9406 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
9407 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
9408 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
9409 if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
9410 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));
9412 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
9413 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
9414 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
9417 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
9418 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
9419 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
9420 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
9421 if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
9422 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));
9424 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
9425 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
9426 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
9429 return NDR_ERR_SUCCESS;
9432 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
9434 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
9436 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
9437 ndr_print_ptr(ndr, "object_dn", r->object_dn);
9440 ndr_print_string(ndr, "object_dn", r->object_dn);
9443 ndr_print_GUID(ndr, "guid1", &r->guid1);
9444 ndr_print_uint32(ndr, "unknown1", r->unknown1);
9445 ndr_print_ptr(ndr, "string1", r->string1);
9448 ndr_print_string(ndr, "string1", r->string1);
9451 ndr_print_ptr(ndr, "string2", r->string2);
9454 ndr_print_string(ndr, "string2", r->string2);
9457 ndr_print_uint32(ndr, "unknown2", r->unknown2);
9461 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
9463 if (ndr_flags & NDR_SCALARS) {
9464 int level = ndr_push_get_switch_value(ndr, r);
9465 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
9467 case DRSUAPI_DS_REPLICA_GET_INFO: {
9468 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9471 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9472 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9476 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9479 if (ndr_flags & NDR_BUFFERS) {
9480 int level = ndr_push_get_switch_value(ndr, r);
9482 case DRSUAPI_DS_REPLICA_GET_INFO:
9483 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9486 case DRSUAPI_DS_REPLICA_GET_INFO2:
9487 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9491 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9494 return NDR_ERR_SUCCESS;
9497 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
9501 level = ndr_pull_get_switch_value(ndr, r);
9502 if (ndr_flags & NDR_SCALARS) {
9503 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
9504 if (_level != level) {
9505 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
9508 case DRSUAPI_DS_REPLICA_GET_INFO: {
9509 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
9512 case DRSUAPI_DS_REPLICA_GET_INFO2: {
9513 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
9517 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9520 if (ndr_flags & NDR_BUFFERS) {
9522 case DRSUAPI_DS_REPLICA_GET_INFO:
9523 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
9526 case DRSUAPI_DS_REPLICA_GET_INFO2:
9527 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
9531 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
9534 return NDR_ERR_SUCCESS;
9537 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
9540 level = ndr_print_get_switch_value(ndr, r);
9541 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
9543 case DRSUAPI_DS_REPLICA_GET_INFO:
9544 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
9547 case DRSUAPI_DS_REPLICA_GET_INFO2:
9548 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
9552 ndr_print_bad_level(ndr, name, level);
9556 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
9558 if (ndr_flags & NDR_SCALARS) {
9559 NDR_CHECK(ndr_push_align(ndr, 8));
9560 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
9561 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
9562 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
9563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
9564 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
9565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9566 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9567 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9568 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9569 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9570 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
9571 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
9572 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
9573 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
9574 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
9575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
9577 if (ndr_flags & NDR_BUFFERS) {
9578 if (r->naming_context_dn) {
9579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
9582 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));
9584 if (r->source_dsa_obj_dn) {
9585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
9588 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));
9590 if (r->source_dsa_address) {
9591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
9594 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));
9596 if (r->transport_obj_dn) {
9597 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9600 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));
9603 return NDR_ERR_SUCCESS;
9606 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
9608 uint32_t _ptr_naming_context_dn;
9609 TALLOC_CTX *_mem_save_naming_context_dn_0;
9610 uint32_t _ptr_source_dsa_obj_dn;
9611 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
9612 uint32_t _ptr_source_dsa_address;
9613 TALLOC_CTX *_mem_save_source_dsa_address_0;
9614 uint32_t _ptr_transport_obj_dn;
9615 TALLOC_CTX *_mem_save_transport_obj_dn_0;
9616 if (ndr_flags & NDR_SCALARS) {
9617 NDR_CHECK(ndr_pull_align(ndr, 8));
9618 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
9619 if (_ptr_naming_context_dn) {
9620 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
9622 r->naming_context_dn = NULL;
9624 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
9625 if (_ptr_source_dsa_obj_dn) {
9626 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
9628 r->source_dsa_obj_dn = NULL;
9630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
9631 if (_ptr_source_dsa_address) {
9632 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
9634 r->source_dsa_address = NULL;
9636 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
9637 if (_ptr_transport_obj_dn) {
9638 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
9640 r->transport_obj_dn = NULL;
9642 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
9643 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9644 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9645 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9646 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9647 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9648 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
9649 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
9650 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
9651 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
9652 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
9653 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
9655 if (ndr_flags & NDR_BUFFERS) {
9656 if (r->naming_context_dn) {
9657 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9658 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
9659 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
9660 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
9661 if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) {
9662 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));
9664 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t)));
9665 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));
9666 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
9668 if (r->source_dsa_obj_dn) {
9669 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9670 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
9671 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
9672 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
9673 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
9674 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));
9676 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
9677 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));
9678 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
9680 if (r->source_dsa_address) {
9681 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
9682 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
9683 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
9684 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
9685 if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) {
9686 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));
9688 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t)));
9689 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));
9690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
9692 if (r->transport_obj_dn) {
9693 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9694 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
9695 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
9696 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
9697 if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) {
9698 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));
9700 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t)));
9701 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));
9702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
9705 return NDR_ERR_SUCCESS;
9708 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
9710 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
9712 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
9714 if (r->naming_context_dn) {
9715 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
9718 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
9720 if (r->source_dsa_obj_dn) {
9721 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
9724 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
9726 if (r->source_dsa_address) {
9727 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
9730 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
9732 if (r->transport_obj_dn) {
9733 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
9736 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
9737 ndr_print_uint32(ndr, "reserved", r->reserved);
9738 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
9739 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
9740 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
9741 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
9742 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
9743 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
9744 ndr_print_NTTIME(ndr, "last_success", r->last_success);
9745 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
9746 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
9747 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
9751 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
9753 uint32_t cntr_array_0;
9754 if (ndr_flags & NDR_SCALARS) {
9755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9756 NDR_CHECK(ndr_push_align(ndr, 8));
9757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9759 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9760 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9763 if (ndr_flags & NDR_BUFFERS) {
9764 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9765 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9768 return NDR_ERR_SUCCESS;
9771 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
9773 uint32_t cntr_array_0;
9774 TALLOC_CTX *_mem_save_array_0;
9775 if (ndr_flags & NDR_SCALARS) {
9776 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9777 NDR_CHECK(ndr_pull_align(ndr, 8));
9778 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9780 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9781 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9782 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9783 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9784 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9788 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9791 if (ndr_flags & NDR_BUFFERS) {
9792 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9793 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9794 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9795 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9797 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9799 return NDR_ERR_SUCCESS;
9802 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
9804 uint32_t cntr_array_0;
9805 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
9807 ndr_print_uint32(ndr, "count", r->count);
9808 ndr_print_uint32(ndr, "reserved", r->reserved);
9809 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9811 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9813 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9814 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
9822 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
9824 uint32_t cntr_array_0;
9825 if (ndr_flags & NDR_SCALARS) {
9826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9827 NDR_CHECK(ndr_push_align(ndr, 8));
9828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9830 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9831 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9834 if (ndr_flags & NDR_BUFFERS) {
9836 return NDR_ERR_SUCCESS;
9839 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
9841 uint32_t cntr_array_0;
9842 TALLOC_CTX *_mem_save_array_0;
9843 if (ndr_flags & NDR_SCALARS) {
9844 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9845 NDR_CHECK(ndr_pull_align(ndr, 8));
9846 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9847 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9848 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9849 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9850 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9851 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9852 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9856 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9859 if (ndr_flags & NDR_BUFFERS) {
9861 return NDR_ERR_SUCCESS;
9864 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
9866 uint32_t cntr_array_0;
9867 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
9869 ndr_print_uint32(ndr, "count", r->count);
9870 ndr_print_uint32(ndr, "reserved", r->reserved);
9871 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9873 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9875 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9876 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
9884 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
9886 if (ndr_flags & NDR_SCALARS) {
9887 NDR_CHECK(ndr_push_align(ndr, 8));
9888 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
9889 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
9890 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
9891 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
9892 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
9893 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
9895 if (ndr_flags & NDR_BUFFERS) {
9896 if (r->attribute_name) {
9897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9899 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9900 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9903 return NDR_ERR_SUCCESS;
9906 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
9908 uint32_t _ptr_attribute_name;
9909 TALLOC_CTX *_mem_save_attribute_name_0;
9910 if (ndr_flags & NDR_SCALARS) {
9911 NDR_CHECK(ndr_pull_align(ndr, 8));
9912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
9913 if (_ptr_attribute_name) {
9914 NDR_PULL_ALLOC(ndr, r->attribute_name);
9916 r->attribute_name = NULL;
9918 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
9919 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
9920 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
9921 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
9922 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
9924 if (ndr_flags & NDR_BUFFERS) {
9925 if (r->attribute_name) {
9926 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9927 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
9928 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
9929 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
9930 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
9931 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));
9933 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
9934 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
9935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
9938 return NDR_ERR_SUCCESS;
9941 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
9943 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
9945 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
9947 if (r->attribute_name) {
9948 ndr_print_string(ndr, "attribute_name", r->attribute_name);
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_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *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_uint32(ndr, NDR_SCALARS, r->reserved));
9967 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9968 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(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_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9976 return NDR_ERR_SUCCESS;
9979 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *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_uint32(ndr, NDR_SCALARS, &r->reserved));
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_DsReplicaObjMetaData(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_DsReplicaObjMetaData(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_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
10012 uint32_t cntr_array_0;
10013 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
10015 ndr_print_uint32(ndr, "count", r->count);
10016 ndr_print_uint32(ndr, "reserved", r->reserved);
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_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
10030 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
10032 if (ndr_flags & NDR_SCALARS) {
10033 NDR_CHECK(ndr_push_align(ndr, 4));
10034 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
10035 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10036 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
10037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
10038 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
10040 if (ndr_flags & NDR_BUFFERS) {
10041 if (r->dsa_obj_dn) {
10042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
10045 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));
10048 return NDR_ERR_SUCCESS;
10051 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
10053 uint32_t _ptr_dsa_obj_dn;
10054 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
10055 if (ndr_flags & NDR_SCALARS) {
10056 NDR_CHECK(ndr_pull_align(ndr, 4));
10057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
10058 if (_ptr_dsa_obj_dn) {
10059 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
10061 r->dsa_obj_dn = NULL;
10063 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
10064 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
10065 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
10066 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
10068 if (ndr_flags & NDR_BUFFERS) {
10069 if (r->dsa_obj_dn) {
10070 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10071 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
10072 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
10073 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
10074 if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) {
10075 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));
10077 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t)));
10078 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));
10079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
10082 return NDR_ERR_SUCCESS;
10085 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
10087 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
10089 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10091 if (r->dsa_obj_dn) {
10092 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
10095 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
10096 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
10097 ndr_print_uint32(ndr, "num_failures", r->num_failures);
10098 ndr_print_WERROR(ndr, "last_result", r->last_result);
10102 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10104 uint32_t cntr_array_0;
10105 if (ndr_flags & NDR_SCALARS) {
10106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10107 NDR_CHECK(ndr_push_align(ndr, 4));
10108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10109 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10110 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10111 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10114 if (ndr_flags & NDR_BUFFERS) {
10115 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10116 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10119 return NDR_ERR_SUCCESS;
10122 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10124 uint32_t cntr_array_0;
10125 TALLOC_CTX *_mem_save_array_0;
10126 if (ndr_flags & NDR_SCALARS) {
10127 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10128 NDR_CHECK(ndr_pull_align(ndr, 4));
10129 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10130 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10131 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10132 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10133 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10134 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10135 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10137 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10139 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10142 if (ndr_flags & NDR_BUFFERS) {
10143 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10144 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10145 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10146 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10150 return NDR_ERR_SUCCESS;
10153 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
10155 uint32_t cntr_array_0;
10156 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
10158 ndr_print_uint32(ndr, "count", r->count);
10159 ndr_print_uint32(ndr, "reserved", r->reserved);
10160 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10162 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10164 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10165 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
10173 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
10175 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
10176 return NDR_ERR_SUCCESS;
10179 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
10182 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
10184 return NDR_ERR_SUCCESS;
10187 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
10189 const char *val = NULL;
10192 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10193 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10194 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10195 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10196 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10198 ndr_print_enum(ndr, name, "ENUM", val, r);
10201 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
10203 if (ndr_flags & NDR_SCALARS) {
10204 int level = ndr_push_get_switch_value(ndr, r);
10205 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
10207 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10208 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
10211 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10212 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
10215 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10216 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
10219 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10220 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
10223 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10224 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
10228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
10233 if (ndr_flags & NDR_BUFFERS) {
10234 int level = ndr_push_get_switch_value(ndr, r);
10236 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10239 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10242 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10245 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10248 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10256 return NDR_ERR_SUCCESS;
10259 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
10263 level = ndr_pull_get_switch_value(ndr, r);
10264 if (ndr_flags & NDR_SCALARS) {
10265 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
10266 if (_level != level) {
10267 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
10270 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
10271 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
10274 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
10275 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
10278 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
10279 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
10282 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
10283 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
10286 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
10287 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
10291 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
10296 if (ndr_flags & NDR_BUFFERS) {
10298 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10301 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10304 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10307 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10310 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10318 return NDR_ERR_SUCCESS;
10321 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
10324 level = ndr_print_get_switch_value(ndr, r);
10325 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
10327 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
10328 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
10331 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
10332 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
10335 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
10336 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
10339 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
10340 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
10343 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
10344 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
10348 ndr_print_uint32(ndr, "unknown", r->unknown);
10354 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
10356 if (ndr_flags & NDR_SCALARS) {
10357 NDR_CHECK(ndr_push_align(ndr, 4));
10358 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
10359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
10360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
10361 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
10362 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
10363 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10364 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
10365 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
10366 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
10367 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10368 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10370 if (ndr_flags & NDR_BUFFERS) {
10372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
10375 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10377 if (r->remote_dsa_obj_dn) {
10378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10379 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
10381 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));
10383 if (r->remote_dsa_address) {
10384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
10387 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));
10390 return NDR_ERR_SUCCESS;
10393 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
10395 uint32_t _ptr_nc_dn;
10396 TALLOC_CTX *_mem_save_nc_dn_0;
10397 uint32_t _ptr_remote_dsa_obj_dn;
10398 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
10399 uint32_t _ptr_remote_dsa_address;
10400 TALLOC_CTX *_mem_save_remote_dsa_address_0;
10401 if (ndr_flags & NDR_SCALARS) {
10402 NDR_CHECK(ndr_pull_align(ndr, 4));
10403 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
10404 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
10405 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
10406 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
10407 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
10408 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
10409 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
10411 NDR_PULL_ALLOC(ndr, r->nc_dn);
10415 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
10416 if (_ptr_remote_dsa_obj_dn) {
10417 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
10419 r->remote_dsa_obj_dn = NULL;
10421 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
10422 if (_ptr_remote_dsa_address) {
10423 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
10425 r->remote_dsa_address = NULL;
10427 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
10428 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
10430 if (ndr_flags & NDR_BUFFERS) {
10432 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10433 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
10434 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
10435 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
10436 if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) {
10437 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));
10439 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t)));
10440 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16));
10441 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
10443 if (r->remote_dsa_obj_dn) {
10444 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10445 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
10446 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
10447 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
10448 if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) {
10449 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));
10451 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t)));
10452 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));
10453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
10455 if (r->remote_dsa_address) {
10456 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
10457 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
10458 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
10459 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
10460 if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) {
10461 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));
10463 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t)));
10464 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));
10465 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
10468 return NDR_ERR_SUCCESS;
10471 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
10473 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
10475 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
10476 ndr_print_uint32(ndr, "serial_num", r->serial_num);
10477 ndr_print_uint32(ndr, "priority", r->priority);
10478 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
10479 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
10480 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
10481 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
10484 ndr_print_string(ndr, "nc_dn", r->nc_dn);
10487 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10489 if (r->remote_dsa_obj_dn) {
10490 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
10493 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
10495 if (r->remote_dsa_address) {
10496 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
10499 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
10500 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
10504 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
10506 uint32_t cntr_array_0;
10507 if (ndr_flags & NDR_SCALARS) {
10508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10509 NDR_CHECK(ndr_push_align(ndr, 4));
10510 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
10511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10512 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10513 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10516 if (ndr_flags & NDR_BUFFERS) {
10517 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10518 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10521 return NDR_ERR_SUCCESS;
10524 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
10526 uint32_t cntr_array_0;
10527 TALLOC_CTX *_mem_save_array_0;
10528 if (ndr_flags & NDR_SCALARS) {
10529 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10530 NDR_CHECK(ndr_pull_align(ndr, 4));
10531 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
10532 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10533 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10534 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10535 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10536 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10537 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10539 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10541 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10544 if (ndr_flags & NDR_BUFFERS) {
10545 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10546 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10547 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10548 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10550 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10552 return NDR_ERR_SUCCESS;
10555 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
10557 uint32_t cntr_array_0;
10558 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
10560 ndr_print_NTTIME(ndr, "time", r->time);
10561 ndr_print_uint32(ndr, "count", r->count);
10562 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10564 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10566 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10567 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
10575 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
10577 if (ndr_flags & NDR_SCALARS) {
10578 NDR_CHECK(ndr_push_align(ndr, 8));
10579 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10583 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10584 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10586 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10587 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10588 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10589 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10591 if (ndr_flags & NDR_BUFFERS) {
10592 if (r->attribute_name) {
10593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10596 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10598 if (r->object_dn) {
10599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10602 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10605 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10608 return NDR_ERR_SUCCESS;
10611 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
10613 uint32_t _ptr_attribute_name;
10614 TALLOC_CTX *_mem_save_attribute_name_0;
10615 uint32_t _ptr_object_dn;
10616 TALLOC_CTX *_mem_save_object_dn_0;
10617 uint32_t _ptr_binary;
10618 TALLOC_CTX *_mem_save_binary_0;
10619 if (ndr_flags & NDR_SCALARS) {
10620 NDR_CHECK(ndr_pull_align(ndr, 8));
10621 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10622 if (_ptr_attribute_name) {
10623 NDR_PULL_ALLOC(ndr, r->attribute_name);
10625 r->attribute_name = NULL;
10627 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10628 if (_ptr_object_dn) {
10629 NDR_PULL_ALLOC(ndr, r->object_dn);
10631 r->object_dn = NULL;
10633 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10634 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10636 NDR_PULL_ALLOC(ndr, r->binary);
10640 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10641 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10642 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10643 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10644 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10645 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10646 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10648 if (ndr_flags & NDR_BUFFERS) {
10649 if (r->attribute_name) {
10650 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10651 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10652 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10653 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10654 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
10655 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));
10657 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
10658 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
10659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10661 if (r->object_dn) {
10662 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10663 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10664 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10665 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10666 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
10667 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));
10669 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
10670 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
10671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10674 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10675 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10676 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10680 return NDR_ERR_SUCCESS;
10683 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
10685 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
10687 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10689 if (r->attribute_name) {
10690 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10693 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10695 if (r->object_dn) {
10696 ndr_print_string(ndr, "object_dn", r->object_dn);
10699 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);
10700 ndr_print_ptr(ndr, "binary", r->binary);
10703 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10706 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10707 ndr_print_NTTIME(ndr, "created", r->created);
10708 ndr_print_uint32(ndr, "version", r->version);
10709 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10710 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10711 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10712 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10716 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10718 uint32_t cntr_array_0;
10719 if (ndr_flags & NDR_SCALARS) {
10720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10721 NDR_CHECK(ndr_push_align(ndr, 8));
10722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10723 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10724 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10725 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10728 if (ndr_flags & NDR_BUFFERS) {
10729 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10730 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10733 return NDR_ERR_SUCCESS;
10736 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10738 uint32_t cntr_array_0;
10739 TALLOC_CTX *_mem_save_array_0;
10740 if (ndr_flags & NDR_SCALARS) {
10741 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10742 NDR_CHECK(ndr_pull_align(ndr, 8));
10743 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10744 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10745 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10746 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10747 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10748 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10753 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10756 if (ndr_flags & NDR_BUFFERS) {
10757 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10758 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10759 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10762 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10764 return NDR_ERR_SUCCESS;
10767 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10769 uint32_t cntr_array_0;
10770 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
10772 ndr_print_uint32(ndr, "count", r->count);
10773 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10774 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10776 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10778 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10779 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
10787 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
10789 uint32_t cntr_array_0;
10790 if (ndr_flags & NDR_SCALARS) {
10791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10792 NDR_CHECK(ndr_push_align(ndr, 8));
10793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10794 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10795 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10796 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10799 if (ndr_flags & NDR_BUFFERS) {
10801 return NDR_ERR_SUCCESS;
10804 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
10806 uint32_t cntr_array_0;
10807 TALLOC_CTX *_mem_save_array_0;
10808 if (ndr_flags & NDR_SCALARS) {
10809 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10810 NDR_CHECK(ndr_pull_align(ndr, 8));
10811 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10812 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10813 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10814 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10815 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10816 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10817 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10819 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10821 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10824 if (ndr_flags & NDR_BUFFERS) {
10826 return NDR_ERR_SUCCESS;
10829 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
10831 uint32_t cntr_array_0;
10832 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
10834 ndr_print_uint32(ndr, "count", r->count);
10835 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10836 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10838 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10840 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10841 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
10849 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
10851 if (ndr_flags & NDR_SCALARS) {
10852 NDR_CHECK(ndr_push_align(ndr, 8));
10853 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10854 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10855 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
10856 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
10858 if (ndr_flags & NDR_BUFFERS) {
10859 if (r->source_dsa_obj_dn) {
10860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10861 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10863 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));
10866 return NDR_ERR_SUCCESS;
10869 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
10871 uint32_t _ptr_source_dsa_obj_dn;
10872 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10873 if (ndr_flags & NDR_SCALARS) {
10874 NDR_CHECK(ndr_pull_align(ndr, 8));
10875 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10876 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10877 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
10878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10879 if (_ptr_source_dsa_obj_dn) {
10880 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10882 r->source_dsa_obj_dn = NULL;
10885 if (ndr_flags & NDR_BUFFERS) {
10886 if (r->source_dsa_obj_dn) {
10887 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10888 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10889 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10890 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10891 if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) {
10892 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));
10894 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t)));
10895 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));
10896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10899 return NDR_ERR_SUCCESS;
10902 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
10904 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
10906 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10907 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10908 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
10909 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10911 if (r->source_dsa_obj_dn) {
10912 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10918 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
10920 uint32_t cntr_array_0;
10921 if (ndr_flags & NDR_SCALARS) {
10922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10923 NDR_CHECK(ndr_push_align(ndr, 8));
10924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10925 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10926 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10927 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10930 if (ndr_flags & NDR_BUFFERS) {
10931 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10932 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10935 return NDR_ERR_SUCCESS;
10938 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
10940 uint32_t cntr_array_0;
10941 TALLOC_CTX *_mem_save_array_0;
10942 if (ndr_flags & NDR_SCALARS) {
10943 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10944 NDR_CHECK(ndr_pull_align(ndr, 8));
10945 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10946 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10947 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
10948 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10949 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10950 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10951 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10955 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10958 if (ndr_flags & NDR_BUFFERS) {
10959 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10960 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10961 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10962 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10966 return NDR_ERR_SUCCESS;
10969 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
10971 uint32_t cntr_array_0;
10972 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
10974 ndr_print_uint32(ndr, "count", r->count);
10975 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10976 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10978 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10980 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10981 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
10989 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
10991 if (ndr_flags & NDR_SCALARS) {
10992 NDR_CHECK(ndr_push_align(ndr, 8));
10993 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10995 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10996 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10997 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10998 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10999 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11001 if (ndr_flags & NDR_BUFFERS) {
11002 if (r->attribute_name) {
11003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11006 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11008 if (r->originating_dsa_dn) {
11009 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11011 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11012 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));
11015 return NDR_ERR_SUCCESS;
11018 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
11020 uint32_t _ptr_attribute_name;
11021 TALLOC_CTX *_mem_save_attribute_name_0;
11022 uint32_t _ptr_originating_dsa_dn;
11023 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11024 if (ndr_flags & NDR_SCALARS) {
11025 NDR_CHECK(ndr_pull_align(ndr, 8));
11026 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11027 if (_ptr_attribute_name) {
11028 NDR_PULL_ALLOC(ndr, r->attribute_name);
11030 r->attribute_name = NULL;
11032 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11033 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11034 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11035 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11036 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11037 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11038 if (_ptr_originating_dsa_dn) {
11039 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11041 r->originating_dsa_dn = NULL;
11044 if (ndr_flags & NDR_BUFFERS) {
11045 if (r->attribute_name) {
11046 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11047 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11048 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11049 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11050 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11051 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));
11053 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11054 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11057 if (r->originating_dsa_dn) {
11058 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11059 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11060 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11061 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11062 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11063 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));
11065 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11066 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));
11067 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11070 return NDR_ERR_SUCCESS;
11073 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
11075 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
11077 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11079 if (r->attribute_name) {
11080 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11083 ndr_print_uint32(ndr, "version", r->version);
11084 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11085 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11086 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11087 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11088 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11090 if (r->originating_dsa_dn) {
11091 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11097 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11099 uint32_t cntr_array_0;
11100 if (ndr_flags & NDR_SCALARS) {
11101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11102 NDR_CHECK(ndr_push_align(ndr, 8));
11103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11104 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11105 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11106 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11109 if (ndr_flags & NDR_BUFFERS) {
11110 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11111 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11114 return NDR_ERR_SUCCESS;
11117 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11119 uint32_t cntr_array_0;
11120 TALLOC_CTX *_mem_save_array_0;
11121 if (ndr_flags & NDR_SCALARS) {
11122 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11123 NDR_CHECK(ndr_pull_align(ndr, 8));
11124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11125 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11126 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11127 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11128 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11129 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11130 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11134 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11137 if (ndr_flags & NDR_BUFFERS) {
11138 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11139 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11140 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11141 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11143 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11145 return NDR_ERR_SUCCESS;
11148 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
11150 uint32_t cntr_array_0;
11151 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
11153 ndr_print_uint32(ndr, "count", r->count);
11154 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11155 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11157 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11159 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11160 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
11168 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11170 if (ndr_flags & NDR_SCALARS) {
11171 NDR_CHECK(ndr_push_align(ndr, 8));
11172 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
11173 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
11174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
11175 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
11176 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
11177 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
11178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
11179 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
11180 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11181 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
11182 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
11183 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
11185 if (ndr_flags & NDR_BUFFERS) {
11186 if (r->attribute_name) {
11187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
11190 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11192 if (r->object_dn) {
11193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
11196 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11199 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
11201 if (r->originating_dsa_dn) {
11202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
11205 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));
11208 return NDR_ERR_SUCCESS;
11211 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
11213 uint32_t _ptr_attribute_name;
11214 TALLOC_CTX *_mem_save_attribute_name_0;
11215 uint32_t _ptr_object_dn;
11216 TALLOC_CTX *_mem_save_object_dn_0;
11217 uint32_t _ptr_binary;
11218 TALLOC_CTX *_mem_save_binary_0;
11219 uint32_t _ptr_originating_dsa_dn;
11220 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
11221 if (ndr_flags & NDR_SCALARS) {
11222 NDR_CHECK(ndr_pull_align(ndr, 8));
11223 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
11224 if (_ptr_attribute_name) {
11225 NDR_PULL_ALLOC(ndr, r->attribute_name);
11227 r->attribute_name = NULL;
11229 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
11230 if (_ptr_object_dn) {
11231 NDR_PULL_ALLOC(ndr, r->object_dn);
11233 r->object_dn = NULL;
11235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
11236 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
11238 NDR_PULL_ALLOC(ndr, r->binary);
11242 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
11243 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
11244 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
11245 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
11246 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
11247 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
11248 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
11249 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
11250 if (_ptr_originating_dsa_dn) {
11251 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
11253 r->originating_dsa_dn = NULL;
11256 if (ndr_flags & NDR_BUFFERS) {
11257 if (r->attribute_name) {
11258 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11259 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
11260 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
11261 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
11262 if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
11263 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));
11265 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
11266 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
11267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
11269 if (r->object_dn) {
11270 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11271 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
11272 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
11273 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
11274 if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) {
11275 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));
11277 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t)));
11278 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
11279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
11282 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
11283 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
11284 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
11285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
11287 if (r->originating_dsa_dn) {
11288 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
11289 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
11290 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
11291 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
11292 if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) {
11293 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));
11295 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t)));
11296 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));
11297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
11300 return NDR_ERR_SUCCESS;
11303 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
11305 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
11307 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
11309 if (r->attribute_name) {
11310 ndr_print_string(ndr, "attribute_name", r->attribute_name);
11313 ndr_print_ptr(ndr, "object_dn", r->object_dn);
11315 if (r->object_dn) {
11316 ndr_print_string(ndr, "object_dn", r->object_dn);
11319 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);
11320 ndr_print_ptr(ndr, "binary", r->binary);
11323 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
11326 ndr_print_NTTIME(ndr, "deleted", r->deleted);
11327 ndr_print_NTTIME(ndr, "created", r->created);
11328 ndr_print_uint32(ndr, "version", r->version);
11329 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
11330 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
11331 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
11332 ndr_print_hyper(ndr, "local_usn", r->local_usn);
11333 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11335 if (r->originating_dsa_dn) {
11336 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
11342 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11344 uint32_t cntr_array_0;
11345 if (ndr_flags & NDR_SCALARS) {
11346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11347 NDR_CHECK(ndr_push_align(ndr, 8));
11348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11349 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
11350 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11351 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11354 if (ndr_flags & NDR_BUFFERS) {
11355 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11356 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11359 return NDR_ERR_SUCCESS;
11362 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11364 uint32_t cntr_array_0;
11365 TALLOC_CTX *_mem_save_array_0;
11366 if (ndr_flags & NDR_SCALARS) {
11367 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11368 NDR_CHECK(ndr_pull_align(ndr, 8));
11369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11370 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
11371 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11372 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11373 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11374 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11375 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11379 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11382 if (ndr_flags & NDR_BUFFERS) {
11383 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11384 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11385 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11386 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11388 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11390 return NDR_ERR_SUCCESS;
11393 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
11395 uint32_t cntr_array_0;
11396 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11398 ndr_print_uint32(ndr, "count", r->count);
11399 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
11400 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11402 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11404 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11405 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
11413 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
11415 if (ndr_flags & NDR_SCALARS) {
11416 NDR_CHECK(ndr_push_align(ndr, 8));
11417 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
11418 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11420 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11421 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
11423 uint32_t _flags_save_ipv4address = ndr->flags;
11424 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11425 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
11426 ndr->flags = _flags_save_ipv4address;
11428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11430 if (ndr_flags & NDR_BUFFERS) {
11432 return NDR_ERR_SUCCESS;
11435 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
11437 if (ndr_flags & NDR_SCALARS) {
11438 NDR_CHECK(ndr_pull_align(ndr, 8));
11439 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
11440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11441 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11442 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
11443 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
11445 uint32_t _flags_save_ipv4address = ndr->flags;
11446 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
11447 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
11448 ndr->flags = _flags_save_ipv4address;
11450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11452 if (ndr_flags & NDR_BUFFERS) {
11454 return NDR_ERR_SUCCESS;
11457 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
11459 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
11461 ndr_print_hyper(ndr, "u1", r->u1);
11462 ndr_print_uint32(ndr, "u2", r->u2);
11463 ndr_print_uint32(ndr, "u3", r->u3);
11464 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
11465 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
11466 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
11467 ndr_print_uint32(ndr, "u5", r->u5);
11471 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
11473 uint32_t cntr_array_0;
11474 if (ndr_flags & NDR_SCALARS) {
11475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11476 NDR_CHECK(ndr_push_align(ndr, 8));
11477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11479 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11480 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11483 if (ndr_flags & NDR_BUFFERS) {
11485 return NDR_ERR_SUCCESS;
11488 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
11490 uint32_t cntr_array_0;
11491 TALLOC_CTX *_mem_save_array_0;
11492 if (ndr_flags & NDR_SCALARS) {
11493 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11494 NDR_CHECK(ndr_pull_align(ndr, 8));
11495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11496 if (r->count > 10000) {
11497 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11499 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11500 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11501 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11502 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11503 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11504 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11508 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11511 if (ndr_flags & NDR_BUFFERS) {
11513 return NDR_ERR_SUCCESS;
11516 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11518 uint32_t cntr_array_0;
11519 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11521 ndr_print_uint32(ndr, "count", r->count);
11522 ndr_print_uint32(ndr, "reserved", r->reserved);
11523 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11525 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11527 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11528 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
11536 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
11538 if (ndr_flags & NDR_SCALARS) {
11539 NDR_CHECK(ndr_push_align(ndr, 8));
11540 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
11541 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
11542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
11545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11546 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
11547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
11549 if (ndr_flags & NDR_BUFFERS) {
11551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11554 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11557 return NDR_ERR_SUCCESS;
11560 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
11562 uint32_t _ptr_str1;
11563 TALLOC_CTX *_mem_save_str1_0;
11564 if (ndr_flags & NDR_SCALARS) {
11565 NDR_CHECK(ndr_pull_align(ndr, 8));
11566 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
11568 NDR_PULL_ALLOC(ndr, r->str1);
11572 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
11573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11574 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
11576 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11577 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
11578 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
11580 if (ndr_flags & NDR_BUFFERS) {
11582 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
11583 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
11584 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
11585 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
11586 if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) {
11587 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));
11589 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t)));
11590 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16));
11591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
11594 return NDR_ERR_SUCCESS;
11597 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
11599 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
11601 ndr_print_ptr(ndr, "str1", r->str1);
11604 ndr_print_string(ndr, "str1", r->str1);
11607 ndr_print_uint32(ndr, "u1", r->u1);
11608 ndr_print_uint32(ndr, "u2", r->u2);
11609 ndr_print_uint32(ndr, "u3", r->u3);
11610 ndr_print_uint32(ndr, "u4", r->u4);
11611 ndr_print_uint32(ndr, "u5", r->u5);
11612 ndr_print_hyper(ndr, "u6", r->u6);
11613 ndr_print_uint32(ndr, "u7", r->u7);
11617 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
11619 uint32_t cntr_array_0;
11620 if (ndr_flags & NDR_SCALARS) {
11621 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11622 NDR_CHECK(ndr_push_align(ndr, 8));
11623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11625 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11626 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11629 if (ndr_flags & NDR_BUFFERS) {
11630 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11631 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11634 return NDR_ERR_SUCCESS;
11637 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
11639 uint32_t cntr_array_0;
11640 TALLOC_CTX *_mem_save_array_0;
11641 if (ndr_flags & NDR_SCALARS) {
11642 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11643 NDR_CHECK(ndr_pull_align(ndr, 8));
11644 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11645 if (r->count > 256) {
11646 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11649 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
11650 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11651 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11652 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11653 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11655 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11657 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11660 if (ndr_flags & NDR_BUFFERS) {
11661 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11662 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11663 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11664 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11666 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11668 return NDR_ERR_SUCCESS;
11671 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
11673 uint32_t cntr_array_0;
11674 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
11676 ndr_print_uint32(ndr, "count", r->count);
11677 ndr_print_uint32(ndr, "reserved", r->reserved);
11678 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11680 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11682 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11683 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
11691 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
11693 if (ndr_flags & NDR_SCALARS) {
11694 int level = ndr_push_get_switch_value(ndr, r);
11695 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
11697 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11698 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
11701 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11702 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
11705 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11706 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
11709 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11710 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
11713 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11714 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
11717 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11718 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
11721 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11722 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
11725 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11726 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
11729 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11730 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
11733 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11734 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
11737 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11738 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
11741 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
11742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
11745 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
11746 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
11749 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
11750 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
11753 case DRSUAPI_DS_REPLICA_INFO_06: {
11754 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
11758 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11761 if (ndr_flags & NDR_BUFFERS) {
11762 int level = ndr_push_get_switch_value(ndr, r);
11764 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11765 if (r->neighbours) {
11766 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
11770 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11772 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
11776 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11777 if (r->objmetadata) {
11778 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
11782 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11783 if (r->connectfailures) {
11784 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
11788 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
11789 if (r->linkfailures) {
11790 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
11794 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
11795 if (r->pendingops) {
11796 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
11800 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
11801 if (r->attrvalmetadata) {
11802 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
11806 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
11808 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
11812 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
11814 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
11818 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
11819 if (r->objmetadata2) {
11820 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
11824 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
11825 if (r->attrvalmetadata2) {
11826 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
11830 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
11831 if (r->neighbours02) {
11832 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
11836 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
11837 if (r->connections04) {
11838 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
11842 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
11843 if (r->cursors05) {
11844 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
11848 case DRSUAPI_DS_REPLICA_INFO_06:
11850 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
11855 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
11858 return NDR_ERR_SUCCESS;
11861 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
11865 TALLOC_CTX *_mem_save_neighbours_0;
11866 TALLOC_CTX *_mem_save_cursors_0;
11867 TALLOC_CTX *_mem_save_objmetadata_0;
11868 TALLOC_CTX *_mem_save_connectfailures_0;
11869 TALLOC_CTX *_mem_save_linkfailures_0;
11870 TALLOC_CTX *_mem_save_pendingops_0;
11871 TALLOC_CTX *_mem_save_attrvalmetadata_0;
11872 TALLOC_CTX *_mem_save_cursors2_0;
11873 TALLOC_CTX *_mem_save_cursors3_0;
11874 TALLOC_CTX *_mem_save_objmetadata2_0;
11875 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
11876 TALLOC_CTX *_mem_save_neighbours02_0;
11877 TALLOC_CTX *_mem_save_connections04_0;
11878 TALLOC_CTX *_mem_save_cursors05_0;
11879 TALLOC_CTX *_mem_save_i06_0;
11880 level = ndr_pull_get_switch_value(ndr, r);
11881 if (ndr_flags & NDR_SCALARS) {
11882 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
11883 if (_level != level) {
11884 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
11887 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11888 uint32_t _ptr_neighbours;
11889 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
11890 if (_ptr_neighbours) {
11891 NDR_PULL_ALLOC(ndr, r->neighbours);
11893 r->neighbours = NULL;
11897 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11898 uint32_t _ptr_cursors;
11899 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
11900 if (_ptr_cursors) {
11901 NDR_PULL_ALLOC(ndr, r->cursors);
11907 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11908 uint32_t _ptr_objmetadata;
11909 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
11910 if (_ptr_objmetadata) {
11911 NDR_PULL_ALLOC(ndr, r->objmetadata);
11913 r->objmetadata = NULL;
11917 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11918 uint32_t _ptr_connectfailures;
11919 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
11920 if (_ptr_connectfailures) {
11921 NDR_PULL_ALLOC(ndr, r->connectfailures);
11923 r->connectfailures = NULL;
11927 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11928 uint32_t _ptr_linkfailures;
11929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
11930 if (_ptr_linkfailures) {
11931 NDR_PULL_ALLOC(ndr, r->linkfailures);
11933 r->linkfailures = NULL;
11937 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11938 uint32_t _ptr_pendingops;
11939 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
11940 if (_ptr_pendingops) {
11941 NDR_PULL_ALLOC(ndr, r->pendingops);
11943 r->pendingops = NULL;
11947 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11948 uint32_t _ptr_attrvalmetadata;
11949 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
11950 if (_ptr_attrvalmetadata) {
11951 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
11953 r->attrvalmetadata = NULL;
11957 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11958 uint32_t _ptr_cursors2;
11959 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
11960 if (_ptr_cursors2) {
11961 NDR_PULL_ALLOC(ndr, r->cursors2);
11963 r->cursors2 = NULL;
11967 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11968 uint32_t _ptr_cursors3;
11969 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
11970 if (_ptr_cursors3) {
11971 NDR_PULL_ALLOC(ndr, r->cursors3);
11973 r->cursors3 = NULL;
11977 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11978 uint32_t _ptr_objmetadata2;
11979 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
11980 if (_ptr_objmetadata2) {
11981 NDR_PULL_ALLOC(ndr, r->objmetadata2);
11983 r->objmetadata2 = NULL;
11987 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11988 uint32_t _ptr_attrvalmetadata2;
11989 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
11990 if (_ptr_attrvalmetadata2) {
11991 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
11993 r->attrvalmetadata2 = NULL;
11997 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
11998 uint32_t _ptr_neighbours02;
11999 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
12000 if (_ptr_neighbours02) {
12001 NDR_PULL_ALLOC(ndr, r->neighbours02);
12003 r->neighbours02 = NULL;
12007 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
12008 uint32_t _ptr_connections04;
12009 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
12010 if (_ptr_connections04) {
12011 NDR_PULL_ALLOC(ndr, r->connections04);
12013 r->connections04 = NULL;
12017 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
12018 uint32_t _ptr_cursors05;
12019 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
12020 if (_ptr_cursors05) {
12021 NDR_PULL_ALLOC(ndr, r->cursors05);
12023 r->cursors05 = NULL;
12027 case DRSUAPI_DS_REPLICA_INFO_06: {
12029 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
12031 NDR_PULL_ALLOC(ndr, r->i06);
12038 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12041 if (ndr_flags & NDR_BUFFERS) {
12043 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12044 if (r->neighbours) {
12045 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
12046 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
12047 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
12048 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
12052 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12054 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
12055 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
12056 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
12057 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
12061 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12062 if (r->objmetadata) {
12063 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12064 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
12065 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
12066 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
12070 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12071 if (r->connectfailures) {
12072 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12073 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
12074 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
12075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
12079 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12080 if (r->linkfailures) {
12081 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
12082 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
12083 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
12084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
12088 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12089 if (r->pendingops) {
12090 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
12091 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
12092 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
12093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
12097 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12098 if (r->attrvalmetadata) {
12099 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
12100 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
12101 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
12102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
12106 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12108 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12109 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
12110 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
12111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
12115 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12117 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12118 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
12119 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
12120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
12124 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12125 if (r->objmetadata2) {
12126 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12127 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
12128 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
12129 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
12133 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12134 if (r->attrvalmetadata2) {
12135 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
12136 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
12137 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
12138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
12142 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12143 if (r->neighbours02) {
12144 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
12145 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
12146 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
12147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
12151 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12152 if (r->connections04) {
12153 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
12154 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
12155 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
12156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
12160 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12161 if (r->cursors05) {
12162 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
12163 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
12164 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
12165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
12169 case DRSUAPI_DS_REPLICA_INFO_06:
12171 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
12172 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
12173 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
12174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
12179 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12182 return NDR_ERR_SUCCESS;
12185 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
12188 level = ndr_print_get_switch_value(ndr, r);
12189 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
12191 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
12192 ndr_print_ptr(ndr, "neighbours", r->neighbours);
12194 if (r->neighbours) {
12195 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
12200 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
12201 ndr_print_ptr(ndr, "cursors", r->cursors);
12204 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
12209 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
12210 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
12212 if (r->objmetadata) {
12213 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
12218 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
12219 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
12221 if (r->connectfailures) {
12222 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
12227 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
12228 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
12230 if (r->linkfailures) {
12231 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
12236 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
12237 ndr_print_ptr(ndr, "pendingops", r->pendingops);
12239 if (r->pendingops) {
12240 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
12245 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
12246 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
12248 if (r->attrvalmetadata) {
12249 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
12254 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
12255 ndr_print_ptr(ndr, "cursors2", r->cursors2);
12258 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
12263 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
12264 ndr_print_ptr(ndr, "cursors3", r->cursors3);
12267 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
12272 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
12273 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
12275 if (r->objmetadata2) {
12276 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
12281 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
12282 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12284 if (r->attrvalmetadata2) {
12285 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
12290 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
12291 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
12293 if (r->neighbours02) {
12294 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
12299 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
12300 ndr_print_ptr(ndr, "connections04", r->connections04);
12302 if (r->connections04) {
12303 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
12308 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
12309 ndr_print_ptr(ndr, "cursors05", r->cursors05);
12311 if (r->cursors05) {
12312 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
12317 case DRSUAPI_DS_REPLICA_INFO_06:
12318 ndr_print_ptr(ndr, "i06", r->i06);
12321 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
12327 ndr_print_bad_level(ndr, name, level);
12331 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
12333 if (ndr_flags & NDR_SCALARS) {
12334 int level = ndr_push_get_switch_value(ndr, r);
12335 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12338 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12342 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12345 if (ndr_flags & NDR_BUFFERS) {
12346 int level = ndr_push_get_switch_value(ndr, r);
12349 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12353 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12356 return NDR_ERR_SUCCESS;
12359 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
12363 level = ndr_pull_get_switch_value(ndr, r);
12364 if (ndr_flags & NDR_SCALARS) {
12365 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12366 if (_level != level) {
12367 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12371 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
12375 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12378 if (ndr_flags & NDR_BUFFERS) {
12381 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12385 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12388 return NDR_ERR_SUCCESS;
12391 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
12394 level = ndr_print_get_switch_value(ndr, r);
12395 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
12398 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
12402 ndr_print_bad_level(ndr, name, level);
12406 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
12408 uint32_t cntr_req_array_1;
12409 if (ndr_flags & NDR_SCALARS) {
12410 NDR_CHECK(ndr_push_align(ndr, 4));
12411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12412 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
12414 if (ndr_flags & NDR_BUFFERS) {
12415 if (r->req_array) {
12416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12417 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12418 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
12420 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12421 if (r->req_array[cntr_req_array_1]) {
12422 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12427 return NDR_ERR_SUCCESS;
12430 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
12432 uint32_t _ptr_req_array;
12433 uint32_t cntr_req_array_1;
12434 TALLOC_CTX *_mem_save_req_array_0;
12435 TALLOC_CTX *_mem_save_req_array_1;
12436 TALLOC_CTX *_mem_save_req_array_2;
12437 if (ndr_flags & NDR_SCALARS) {
12438 NDR_CHECK(ndr_pull_align(ndr, 4));
12439 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12440 if (r->num_req < 1 || r->num_req > 10000) {
12441 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12443 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12444 if (_ptr_req_array) {
12445 NDR_PULL_ALLOC(ndr, r->req_array);
12447 r->req_array = NULL;
12450 if (ndr_flags & NDR_BUFFERS) {
12451 if (r->req_array) {
12452 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12453 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12454 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
12455 NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array));
12456 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12457 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
12458 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12459 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
12460 if (_ptr_req_array) {
12461 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
12463 r->req_array[cntr_req_array_1] = NULL;
12466 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
12467 if (r->req_array[cntr_req_array_1]) {
12468 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
12469 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
12470 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
12471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
12474 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
12475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
12477 if (r->req_array) {
12478 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
12481 return NDR_ERR_SUCCESS;
12484 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
12486 uint32_t cntr_req_array_1;
12487 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
12489 ndr_print_uint32(ndr, "num_req", r->num_req);
12490 ndr_print_ptr(ndr, "req_array", r->req_array);
12492 if (r->req_array) {
12493 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12495 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12497 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12498 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12500 if (r->req_array[cntr_req_array_1]) {
12501 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
12513 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
12515 if (ndr_flags & NDR_SCALARS) {
12516 int level = ndr_push_get_switch_value(ndr, r);
12517 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12520 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12524 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12527 if (ndr_flags & NDR_BUFFERS) {
12528 int level = ndr_push_get_switch_value(ndr, r);
12531 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12535 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12538 return NDR_ERR_SUCCESS;
12541 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
12545 level = ndr_pull_get_switch_value(ndr, r);
12546 if (ndr_flags & NDR_SCALARS) {
12547 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12548 if (_level != level) {
12549 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12553 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12557 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12560 if (ndr_flags & NDR_BUFFERS) {
12563 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12567 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12570 return NDR_ERR_SUCCESS;
12573 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
12576 level = ndr_print_get_switch_value(ndr, r);
12577 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
12580 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
12584 ndr_print_bad_level(ndr, name, level);
12588 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
12590 if (ndr_flags & NDR_SCALARS) {
12591 NDR_CHECK(ndr_push_align(ndr, 4));
12592 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
12593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
12595 if (ndr_flags & NDR_BUFFERS) {
12597 return NDR_ERR_SUCCESS;
12600 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
12602 if (ndr_flags & NDR_SCALARS) {
12603 NDR_CHECK(ndr_pull_align(ndr, 4));
12604 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
12605 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
12607 if (ndr_flags & NDR_BUFFERS) {
12609 return NDR_ERR_SUCCESS;
12612 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
12614 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
12616 ndr_print_WERROR(ndr, "error_code", r->error_code);
12617 ndr_print_uint32(ndr, "site_cost", r->site_cost);
12621 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
12623 uint32_t cntr_info_1;
12624 if (ndr_flags & NDR_SCALARS) {
12625 NDR_CHECK(ndr_push_align(ndr, 4));
12626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
12628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
12630 if (ndr_flags & NDR_BUFFERS) {
12632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12633 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12634 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12638 return NDR_ERR_SUCCESS;
12641 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
12643 uint32_t _ptr_info;
12644 uint32_t cntr_info_1;
12645 TALLOC_CTX *_mem_save_info_0;
12646 TALLOC_CTX *_mem_save_info_1;
12647 if (ndr_flags & NDR_SCALARS) {
12648 NDR_CHECK(ndr_pull_align(ndr, 4));
12649 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
12650 if (r->num_info > 10000) {
12651 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12655 NDR_PULL_ALLOC(ndr, r->info);
12659 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
12661 if (ndr_flags & NDR_BUFFERS) {
12663 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12664 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12665 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
12666 NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info));
12667 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12668 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12669 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12670 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12676 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
12679 return NDR_ERR_SUCCESS;
12682 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
12684 uint32_t cntr_info_1;
12685 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
12687 ndr_print_uint32(ndr, "num_info", r->num_info);
12688 ndr_print_ptr(ndr, "info", r->info);
12691 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
12693 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
12695 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12696 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
12703 ndr_print_uint32(ndr, "unknown", r->unknown);
12707 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
12709 if (ndr_flags & NDR_SCALARS) {
12710 int level = ndr_push_get_switch_value(ndr, r);
12711 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12714 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12718 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12721 if (ndr_flags & NDR_BUFFERS) {
12722 int level = ndr_push_get_switch_value(ndr, r);
12725 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12729 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12732 return NDR_ERR_SUCCESS;
12735 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
12739 level = ndr_pull_get_switch_value(ndr, r);
12740 if (ndr_flags & NDR_SCALARS) {
12741 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12742 if (_level != level) {
12743 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12747 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12751 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12754 if (ndr_flags & NDR_BUFFERS) {
12757 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12761 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12764 return NDR_ERR_SUCCESS;
12767 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
12770 level = ndr_print_get_switch_value(ndr, r);
12771 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
12774 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
12778 ndr_print_bad_level(ndr, name, level);
12782 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
12784 uint32_t cntr_site_to_1;
12785 if (ndr_flags & NDR_SCALARS) {
12786 NDR_CHECK(ndr_push_align(ndr, 4));
12787 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
12788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12789 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
12790 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
12792 if (ndr_flags & NDR_BUFFERS) {
12793 if (r->site_from) {
12794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
12795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
12797 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12801 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12802 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
12804 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12805 if (r->site_to[cntr_site_to_1]) {
12806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
12807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
12809 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));
12814 return NDR_ERR_SUCCESS;
12817 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
12819 uint32_t _ptr_site_from;
12820 TALLOC_CTX *_mem_save_site_from_0;
12821 uint32_t _ptr_site_to;
12822 uint32_t cntr_site_to_1;
12823 TALLOC_CTX *_mem_save_site_to_0;
12824 TALLOC_CTX *_mem_save_site_to_1;
12825 TALLOC_CTX *_mem_save_site_to_2;
12826 if (ndr_flags & NDR_SCALARS) {
12827 NDR_CHECK(ndr_pull_align(ndr, 4));
12828 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
12829 if (_ptr_site_from) {
12830 NDR_PULL_ALLOC(ndr, r->site_from);
12832 r->site_from = NULL;
12834 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12835 if (r->num_req < 1 || r->num_req > 10000) {
12836 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
12839 if (_ptr_site_to) {
12840 NDR_PULL_ALLOC(ndr, r->site_to);
12844 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
12846 if (ndr_flags & NDR_BUFFERS) {
12847 if (r->site_from) {
12848 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
12849 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
12850 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
12851 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
12852 if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) {
12853 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));
12855 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t)));
12856 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16));
12857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
12860 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
12861 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
12862 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
12863 NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to));
12864 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
12865 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
12866 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
12868 if (_ptr_site_to) {
12869 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
12871 r->site_to[cntr_site_to_1] = NULL;
12874 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12875 if (r->site_to[cntr_site_to_1]) {
12876 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
12877 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
12878 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
12879 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
12880 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])) {
12881 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]));
12883 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t)));
12884 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));
12885 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
12888 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
12889 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
12892 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
12895 return NDR_ERR_SUCCESS;
12898 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
12900 uint32_t cntr_site_to_1;
12901 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
12903 ndr_print_ptr(ndr, "site_from", r->site_from);
12905 if (r->site_from) {
12906 ndr_print_string(ndr, "site_from", r->site_from);
12909 ndr_print_uint32(ndr, "num_req", r->num_req);
12910 ndr_print_ptr(ndr, "site_to", r->site_to);
12913 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
12915 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
12917 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
12918 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
12920 if (r->site_to[cntr_site_to_1]) {
12921 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
12930 ndr_print_uint32(ndr, "flags", r->flags);
12934 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
12936 if (ndr_flags & NDR_SCALARS) {
12937 int level = ndr_push_get_switch_value(ndr, r);
12938 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12941 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
12945 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12948 if (ndr_flags & NDR_BUFFERS) {
12949 int level = ndr_push_get_switch_value(ndr, r);
12952 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
12956 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12959 return NDR_ERR_SUCCESS;
12962 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
12966 level = ndr_pull_get_switch_value(ndr, r);
12967 if (ndr_flags & NDR_SCALARS) {
12968 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12969 if (_level != level) {
12970 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
12974 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
12978 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12981 if (ndr_flags & NDR_BUFFERS) {
12984 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
12988 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
12991 return NDR_ERR_SUCCESS;
12994 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
12997 level = ndr_print_get_switch_value(ndr, r);
12998 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
13001 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
13005 ndr_print_bad_level(ndr, name, level);
13009 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
13011 if (flags & NDR_IN) {
13012 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
13013 if (r->in.bind_guid) {
13014 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13016 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
13017 if (r->in.bind_info) {
13018 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13021 if (flags & NDR_OUT) {
13022 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
13023 if (r->out.bind_info) {
13024 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13026 if (r->out.bind_handle == NULL) {
13027 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13029 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13030 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13032 return NDR_ERR_SUCCESS;
13035 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
13037 uint32_t _ptr_bind_guid;
13038 uint32_t _ptr_bind_info;
13039 TALLOC_CTX *_mem_save_bind_guid_0;
13040 TALLOC_CTX *_mem_save_bind_info_0;
13041 TALLOC_CTX *_mem_save_bind_handle_0;
13042 if (flags & NDR_IN) {
13043 ZERO_STRUCT(r->out);
13045 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
13046 if (_ptr_bind_guid) {
13047 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
13049 r->in.bind_guid = NULL;
13051 if (r->in.bind_guid) {
13052 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13053 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
13054 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
13055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
13057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13058 if (_ptr_bind_info) {
13059 NDR_PULL_ALLOC(ndr, r->in.bind_info);
13061 r->in.bind_info = NULL;
13063 if (r->in.bind_info) {
13064 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13065 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
13066 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
13067 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13069 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13070 ZERO_STRUCTP(r->out.bind_handle);
13072 if (flags & NDR_OUT) {
13073 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
13074 if (_ptr_bind_info) {
13075 NDR_PULL_ALLOC(ndr, r->out.bind_info);
13077 r->out.bind_info = NULL;
13079 if (r->out.bind_info) {
13080 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13081 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
13082 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
13083 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
13085 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13086 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13088 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13089 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13090 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13091 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13092 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13094 return NDR_ERR_SUCCESS;
13097 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
13099 ndr_print_struct(ndr, name, "drsuapi_DsBind");
13101 if (flags & NDR_SET_VALUES) {
13102 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13104 if (flags & NDR_IN) {
13105 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
13107 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
13109 if (r->in.bind_guid) {
13110 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
13113 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
13115 if (r->in.bind_info) {
13116 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
13121 if (flags & NDR_OUT) {
13122 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
13124 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
13126 if (r->out.bind_info) {
13127 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
13130 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13132 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13134 ndr_print_WERROR(ndr, "result", r->out.result);
13140 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
13142 if (flags & NDR_IN) {
13143 if (r->in.bind_handle == NULL) {
13144 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13146 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13148 if (flags & NDR_OUT) {
13149 if (r->out.bind_handle == NULL) {
13150 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13152 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13153 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13155 return NDR_ERR_SUCCESS;
13158 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
13160 TALLOC_CTX *_mem_save_bind_handle_0;
13161 if (flags & NDR_IN) {
13162 ZERO_STRUCT(r->out);
13164 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13165 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13167 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13168 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13169 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13171 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13172 *r->out.bind_handle = *r->in.bind_handle;
13174 if (flags & NDR_OUT) {
13175 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13176 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
13178 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13179 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13180 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
13181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13182 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13184 return NDR_ERR_SUCCESS;
13187 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
13189 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
13191 if (flags & NDR_SET_VALUES) {
13192 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13194 if (flags & NDR_IN) {
13195 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
13197 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13199 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13203 if (flags & NDR_OUT) {
13204 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
13206 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
13208 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
13210 ndr_print_WERROR(ndr, "result", r->out.result);
13216 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
13218 if (flags & NDR_IN) {
13219 if (r->in.bind_handle == NULL) {
13220 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13222 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13223 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13224 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13225 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13227 if (flags & NDR_OUT) {
13228 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13230 return NDR_ERR_SUCCESS;
13233 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
13235 TALLOC_CTX *_mem_save_bind_handle_0;
13236 if (flags & NDR_IN) {
13237 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13238 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13240 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13241 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13242 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13244 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13245 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13246 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13248 if (flags & NDR_OUT) {
13249 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13251 return NDR_ERR_SUCCESS;
13254 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
13256 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
13258 if (flags & NDR_SET_VALUES) {
13259 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13261 if (flags & NDR_IN) {
13262 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
13264 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13266 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13268 ndr_print_int32(ndr, "level", r->in.level);
13269 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13270 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
13273 if (flags & NDR_OUT) {
13274 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
13276 ndr_print_WERROR(ndr, "result", r->out.result);
13282 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
13284 if (flags & NDR_IN) {
13285 if (r->in.bind_handle == NULL) {
13286 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13288 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13289 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13290 if (r->in.req == NULL) {
13291 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13293 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13294 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13296 if (flags & NDR_OUT) {
13297 if (r->out.level_out == NULL) {
13298 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13300 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13301 if (r->out.ctr == NULL) {
13302 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13304 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13305 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13306 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13308 return NDR_ERR_SUCCESS;
13311 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
13313 TALLOC_CTX *_mem_save_bind_handle_0;
13314 TALLOC_CTX *_mem_save_req_0;
13315 TALLOC_CTX *_mem_save_level_out_0;
13316 TALLOC_CTX *_mem_save_ctr_0;
13317 if (flags & NDR_IN) {
13318 ZERO_STRUCT(r->out);
13320 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13321 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13323 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13324 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13325 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13326 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13327 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13328 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13329 NDR_PULL_ALLOC(ndr, r->in.req);
13331 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13332 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13333 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13334 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13336 NDR_PULL_ALLOC(ndr, r->out.level_out);
13337 ZERO_STRUCTP(r->out.level_out);
13338 NDR_PULL_ALLOC(ndr, r->out.ctr);
13339 ZERO_STRUCTP(r->out.ctr);
13341 if (flags & NDR_OUT) {
13342 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13343 NDR_PULL_ALLOC(ndr, r->out.level_out);
13345 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13346 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13347 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13349 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13350 NDR_PULL_ALLOC(ndr, r->out.ctr);
13352 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13353 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13354 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13355 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13356 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13357 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13359 return NDR_ERR_SUCCESS;
13362 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
13364 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
13366 if (flags & NDR_SET_VALUES) {
13367 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13369 if (flags & NDR_IN) {
13370 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
13372 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13374 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13376 ndr_print_int32(ndr, "level", r->in.level);
13377 ndr_print_ptr(ndr, "req", r->in.req);
13379 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13380 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
13384 if (flags & NDR_OUT) {
13385 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
13387 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13389 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13391 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13393 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13394 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
13396 ndr_print_WERROR(ndr, "result", r->out.result);
13402 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13404 if (flags & NDR_IN) {
13405 if (r->in.bind_handle == NULL) {
13406 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13408 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13409 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13410 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13411 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13413 if (flags & NDR_OUT) {
13414 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13416 return NDR_ERR_SUCCESS;
13419 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
13421 TALLOC_CTX *_mem_save_bind_handle_0;
13422 if (flags & NDR_IN) {
13423 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13424 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13426 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13427 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13428 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13429 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13430 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13431 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13432 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13434 if (flags & NDR_OUT) {
13435 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13437 return NDR_ERR_SUCCESS;
13440 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
13442 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
13444 if (flags & NDR_SET_VALUES) {
13445 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13447 if (flags & NDR_IN) {
13448 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
13450 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13452 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13454 ndr_print_int32(ndr, "level", r->in.level);
13455 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13456 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
13459 if (flags & NDR_OUT) {
13460 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
13462 ndr_print_WERROR(ndr, "result", r->out.result);
13468 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r)
13470 if (flags & NDR_IN) {
13471 if (r->in.bind_handle == NULL) {
13472 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13474 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13475 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13476 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13477 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13479 if (flags & NDR_OUT) {
13480 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13482 return NDR_ERR_SUCCESS;
13485 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r)
13487 TALLOC_CTX *_mem_save_bind_handle_0;
13488 if (flags & NDR_IN) {
13489 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13490 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13492 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13493 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13494 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13495 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13496 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13497 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13498 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13500 if (flags & NDR_OUT) {
13501 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13503 return NDR_ERR_SUCCESS;
13506 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r)
13508 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd");
13510 if (flags & NDR_SET_VALUES) {
13511 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13513 if (flags & NDR_IN) {
13514 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd");
13516 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13518 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13520 ndr_print_int32(ndr, "level", r->in.level);
13521 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13522 ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req);
13525 if (flags & NDR_OUT) {
13526 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd");
13528 ndr_print_WERROR(ndr, "result", r->out.result);
13534 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r)
13536 if (flags & NDR_IN) {
13537 if (r->in.bind_handle == NULL) {
13538 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13540 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13541 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13542 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13543 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13545 if (flags & NDR_OUT) {
13546 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13548 return NDR_ERR_SUCCESS;
13551 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r)
13553 TALLOC_CTX *_mem_save_bind_handle_0;
13554 if (flags & NDR_IN) {
13555 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13556 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13558 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13559 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13560 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13562 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13563 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13564 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13566 if (flags & NDR_OUT) {
13567 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13569 return NDR_ERR_SUCCESS;
13572 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r)
13574 ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel");
13576 if (flags & NDR_SET_VALUES) {
13577 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13579 if (flags & NDR_IN) {
13580 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel");
13582 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13584 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13586 ndr_print_int32(ndr, "level", r->in.level);
13587 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13588 ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req);
13591 if (flags & NDR_OUT) {
13592 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel");
13594 ndr_print_WERROR(ndr, "result", r->out.result);
13600 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r)
13602 if (flags & NDR_IN) {
13603 if (r->in.bind_handle == NULL) {
13604 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13606 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13607 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13608 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
13609 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13611 if (flags & NDR_OUT) {
13612 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13614 return NDR_ERR_SUCCESS;
13617 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r)
13619 TALLOC_CTX *_mem_save_bind_handle_0;
13620 if (flags & NDR_IN) {
13621 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13622 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13624 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13625 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13626 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13628 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13629 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
13630 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
13632 if (flags & NDR_OUT) {
13633 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13635 return NDR_ERR_SUCCESS;
13638 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r)
13640 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod");
13642 if (flags & NDR_SET_VALUES) {
13643 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13645 if (flags & NDR_IN) {
13646 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod");
13648 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13650 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13652 ndr_print_int32(ndr, "level", r->in.level);
13653 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
13654 ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req);
13657 if (flags & NDR_OUT) {
13658 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod");
13660 ndr_print_WERROR(ndr, "result", r->out.result);
13666 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13668 if (flags & NDR_IN) {
13670 if (flags & NDR_OUT) {
13671 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13673 return NDR_ERR_SUCCESS;
13676 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
13678 if (flags & NDR_IN) {
13680 if (flags & NDR_OUT) {
13681 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13683 return NDR_ERR_SUCCESS;
13686 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13688 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
13690 if (flags & NDR_SET_VALUES) {
13691 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13693 if (flags & NDR_IN) {
13694 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
13698 if (flags & NDR_OUT) {
13699 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
13701 ndr_print_WERROR(ndr, "result", r->out.result);
13707 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
13709 if (flags & NDR_IN) {
13710 if (r->in.bind_handle == NULL) {
13711 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13713 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13714 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13715 if (r->in.req == NULL) {
13716 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13718 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13719 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13721 if (flags & NDR_OUT) {
13722 if (r->out.level_out == NULL) {
13723 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13725 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13726 if (r->out.ctr == NULL) {
13727 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13729 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13730 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13731 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13733 return NDR_ERR_SUCCESS;
13736 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
13738 TALLOC_CTX *_mem_save_bind_handle_0;
13739 TALLOC_CTX *_mem_save_req_0;
13740 TALLOC_CTX *_mem_save_level_out_0;
13741 TALLOC_CTX *_mem_save_ctr_0;
13742 if (flags & NDR_IN) {
13743 ZERO_STRUCT(r->out);
13745 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13746 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13748 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13749 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13750 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13752 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13753 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13754 NDR_PULL_ALLOC(ndr, r->in.req);
13756 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13757 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13758 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13759 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13761 NDR_PULL_ALLOC(ndr, r->out.level_out);
13762 ZERO_STRUCTP(r->out.level_out);
13763 NDR_PULL_ALLOC(ndr, r->out.ctr);
13764 ZERO_STRUCTP(r->out.ctr);
13766 if (flags & NDR_OUT) {
13767 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13768 NDR_PULL_ALLOC(ndr, r->out.level_out);
13770 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13771 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13772 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13774 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13775 NDR_PULL_ALLOC(ndr, r->out.ctr);
13777 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13778 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13779 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13780 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13782 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13784 return NDR_ERR_SUCCESS;
13787 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
13789 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
13791 if (flags & NDR_SET_VALUES) {
13792 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13794 if (flags & NDR_IN) {
13795 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
13797 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13799 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13801 ndr_print_int32(ndr, "level", r->in.level);
13802 ndr_print_ptr(ndr, "req", r->in.req);
13804 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13805 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
13809 if (flags & NDR_OUT) {
13810 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
13812 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13814 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13816 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13818 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13819 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
13821 ndr_print_WERROR(ndr, "result", r->out.result);
13827 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
13829 if (flags & NDR_IN) {
13831 if (flags & NDR_OUT) {
13832 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13834 return NDR_ERR_SUCCESS;
13837 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
13839 if (flags & NDR_IN) {
13841 if (flags & NDR_OUT) {
13842 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13844 return NDR_ERR_SUCCESS;
13847 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
13849 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
13851 if (flags & NDR_SET_VALUES) {
13852 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13854 if (flags & NDR_IN) {
13855 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
13859 if (flags & NDR_OUT) {
13860 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
13862 ndr_print_WERROR(ndr, "result", r->out.result);
13868 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
13870 if (flags & NDR_IN) {
13871 if (r->in.bind_handle == NULL) {
13872 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13874 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13876 if (r->in.req == NULL) {
13877 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13879 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13880 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13882 if (flags & NDR_OUT) {
13883 if (r->out.level_out == NULL) {
13884 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13887 if (r->out.info == NULL) {
13888 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13890 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
13891 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13892 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13894 return NDR_ERR_SUCCESS;
13897 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
13899 TALLOC_CTX *_mem_save_bind_handle_0;
13900 TALLOC_CTX *_mem_save_req_0;
13901 TALLOC_CTX *_mem_save_level_out_0;
13902 TALLOC_CTX *_mem_save_info_0;
13903 if (flags & NDR_IN) {
13904 ZERO_STRUCT(r->out);
13906 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13907 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13909 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13910 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13911 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13914 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13915 NDR_PULL_ALLOC(ndr, r->in.req);
13917 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13918 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13919 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13920 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13922 NDR_PULL_ALLOC(ndr, r->out.level_out);
13923 ZERO_STRUCTP(r->out.level_out);
13924 NDR_PULL_ALLOC(ndr, r->out.info);
13925 ZERO_STRUCTP(r->out.info);
13927 if (flags & NDR_OUT) {
13928 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13929 NDR_PULL_ALLOC(ndr, r->out.level_out);
13931 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13932 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13933 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
13934 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13935 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13936 NDR_PULL_ALLOC(ndr, r->out.info);
13938 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13939 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13940 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
13941 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13943 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13945 return NDR_ERR_SUCCESS;
13948 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
13950 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
13952 if (flags & NDR_SET_VALUES) {
13953 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13955 if (flags & NDR_IN) {
13956 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
13958 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13960 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13962 ndr_print_uint32(ndr, "level", r->in.level);
13963 ndr_print_ptr(ndr, "req", r->in.req);
13965 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13966 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
13970 if (flags & NDR_OUT) {
13971 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
13973 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13975 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
13977 ndr_print_ptr(ndr, "info", r->out.info);
13979 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
13980 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
13982 ndr_print_WERROR(ndr, "result", r->out.result);
13988 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
13990 if (flags & NDR_IN) {
13991 if (r->in.bind_handle == NULL) {
13992 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13994 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13995 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13996 if (r->in.req == NULL) {
13997 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13999 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14000 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14002 if (flags & NDR_OUT) {
14003 if (r->out.level_out == NULL) {
14004 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14006 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14007 if (r->out.ctr == NULL) {
14008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14010 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14011 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14012 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14014 return NDR_ERR_SUCCESS;
14017 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
14019 TALLOC_CTX *_mem_save_bind_handle_0;
14020 TALLOC_CTX *_mem_save_req_0;
14021 TALLOC_CTX *_mem_save_level_out_0;
14022 TALLOC_CTX *_mem_save_ctr_0;
14023 if (flags & NDR_IN) {
14024 ZERO_STRUCT(r->out);
14026 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14027 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14029 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14030 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14031 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14033 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14034 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14035 NDR_PULL_ALLOC(ndr, r->in.req);
14037 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14038 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14039 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14040 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14042 NDR_PULL_ALLOC(ndr, r->out.level_out);
14043 ZERO_STRUCTP(r->out.level_out);
14044 NDR_PULL_ALLOC(ndr, r->out.ctr);
14045 ZERO_STRUCTP(r->out.ctr);
14047 if (flags & NDR_OUT) {
14048 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14049 NDR_PULL_ALLOC(ndr, r->out.level_out);
14051 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14052 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14053 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14055 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14056 NDR_PULL_ALLOC(ndr, r->out.ctr);
14058 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14059 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14060 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14061 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14063 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14065 return NDR_ERR_SUCCESS;
14068 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
14070 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
14072 if (flags & NDR_SET_VALUES) {
14073 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14075 if (flags & NDR_IN) {
14076 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
14078 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14080 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14082 ndr_print_int32(ndr, "level", r->in.level);
14083 ndr_print_ptr(ndr, "req", r->in.req);
14085 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14086 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
14090 if (flags & NDR_OUT) {
14091 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
14093 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14095 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14097 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14099 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14100 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
14102 ndr_print_WERROR(ndr, "result", r->out.result);
14108 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14110 if (flags & NDR_IN) {
14111 if (r->in.bind_handle == NULL) {
14112 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14114 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14115 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14116 if (r->in.req == NULL) {
14117 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14119 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14120 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14122 if (flags & NDR_OUT) {
14123 if (r->out.level_out == NULL) {
14124 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14126 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14127 if (r->out.res == NULL) {
14128 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14130 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14131 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14132 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14134 return NDR_ERR_SUCCESS;
14137 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
14139 TALLOC_CTX *_mem_save_bind_handle_0;
14140 TALLOC_CTX *_mem_save_req_0;
14141 TALLOC_CTX *_mem_save_level_out_0;
14142 TALLOC_CTX *_mem_save_res_0;
14143 if (flags & NDR_IN) {
14144 ZERO_STRUCT(r->out);
14146 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14147 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14149 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14150 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14151 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14153 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14154 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14155 NDR_PULL_ALLOC(ndr, r->in.req);
14157 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14158 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14159 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14160 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14161 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14162 NDR_PULL_ALLOC(ndr, r->out.level_out);
14163 ZERO_STRUCTP(r->out.level_out);
14164 NDR_PULL_ALLOC(ndr, r->out.res);
14165 ZERO_STRUCTP(r->out.res);
14167 if (flags & NDR_OUT) {
14168 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14169 NDR_PULL_ALLOC(ndr, r->out.level_out);
14171 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14172 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14173 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14175 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14176 NDR_PULL_ALLOC(ndr, r->out.res);
14178 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14179 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14180 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14181 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
14182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14183 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14185 return NDR_ERR_SUCCESS;
14188 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
14190 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
14192 if (flags & NDR_SET_VALUES) {
14193 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14195 if (flags & NDR_IN) {
14196 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
14198 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14200 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14202 ndr_print_int32(ndr, "level", r->in.level);
14203 ndr_print_ptr(ndr, "req", r->in.req);
14205 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14206 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
14210 if (flags & NDR_OUT) {
14211 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
14213 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14215 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14217 ndr_print_ptr(ndr, "res", r->out.res);
14219 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14220 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
14222 ndr_print_WERROR(ndr, "result", r->out.result);
14228 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
14230 if (flags & NDR_IN) {
14231 if (r->in.bind_handle == NULL) {
14232 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14234 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14235 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14236 if (r->in.req == NULL) {
14237 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14239 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14240 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14242 if (flags & NDR_OUT) {
14243 if (r->out.level_out == NULL) {
14244 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14246 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14247 if (r->out.res == NULL) {
14248 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14250 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
14251 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14252 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14254 return NDR_ERR_SUCCESS;
14257 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
14259 TALLOC_CTX *_mem_save_bind_handle_0;
14260 TALLOC_CTX *_mem_save_req_0;
14261 TALLOC_CTX *_mem_save_level_out_0;
14262 TALLOC_CTX *_mem_save_res_0;
14263 if (flags & NDR_IN) {
14264 ZERO_STRUCT(r->out);
14266 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14267 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14269 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14270 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14271 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14273 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14274 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14275 NDR_PULL_ALLOC(ndr, r->in.req);
14277 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14278 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14279 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14280 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14282 NDR_PULL_ALLOC(ndr, r->out.level_out);
14283 ZERO_STRUCTP(r->out.level_out);
14284 NDR_PULL_ALLOC(ndr, r->out.res);
14285 ZERO_STRUCTP(r->out.res);
14287 if (flags & NDR_OUT) {
14288 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14289 NDR_PULL_ALLOC(ndr, r->out.level_out);
14291 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14292 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14293 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14295 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14296 NDR_PULL_ALLOC(ndr, r->out.res);
14298 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
14299 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
14300 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
14301 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
14302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
14303 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14305 return NDR_ERR_SUCCESS;
14308 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
14310 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
14312 if (flags & NDR_SET_VALUES) {
14313 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14315 if (flags & NDR_IN) {
14316 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
14318 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14320 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14322 ndr_print_int32(ndr, "level", r->in.level);
14323 ndr_print_ptr(ndr, "req", r->in.req);
14325 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14326 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
14330 if (flags & NDR_OUT) {
14331 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
14333 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14335 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14337 ndr_print_ptr(ndr, "res", r->out.res);
14339 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
14340 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
14342 ndr_print_WERROR(ndr, "result", r->out.result);
14348 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14350 if (flags & NDR_IN) {
14352 if (flags & NDR_OUT) {
14353 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14355 return NDR_ERR_SUCCESS;
14358 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14360 if (flags & NDR_IN) {
14362 if (flags & NDR_OUT) {
14363 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14365 return NDR_ERR_SUCCESS;
14368 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
14370 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
14372 if (flags & NDR_SET_VALUES) {
14373 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14375 if (flags & NDR_IN) {
14376 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14380 if (flags & NDR_OUT) {
14381 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14383 ndr_print_WERROR(ndr, "result", r->out.result);
14389 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14391 if (flags & NDR_IN) {
14392 if (r->in.bind_handle == NULL) {
14393 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14395 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14396 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14397 if (r->in.req == NULL) {
14398 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14400 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14401 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14403 if (flags & NDR_OUT) {
14404 if (r->out.level_out == NULL) {
14405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14407 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14408 if (r->out.ctr == NULL) {
14409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14411 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14412 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14413 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14415 return NDR_ERR_SUCCESS;
14418 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
14420 TALLOC_CTX *_mem_save_bind_handle_0;
14421 TALLOC_CTX *_mem_save_req_0;
14422 TALLOC_CTX *_mem_save_level_out_0;
14423 TALLOC_CTX *_mem_save_ctr_0;
14424 if (flags & NDR_IN) {
14425 ZERO_STRUCT(r->out);
14427 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14428 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14430 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14431 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14432 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14434 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14435 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14436 NDR_PULL_ALLOC(ndr, r->in.req);
14438 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14439 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14440 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14441 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14443 NDR_PULL_ALLOC(ndr, r->out.level_out);
14444 ZERO_STRUCTP(r->out.level_out);
14445 NDR_PULL_ALLOC(ndr, r->out.ctr);
14446 ZERO_STRUCTP(r->out.ctr);
14448 if (flags & NDR_OUT) {
14449 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14450 NDR_PULL_ALLOC(ndr, r->out.level_out);
14452 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14453 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14454 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14456 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14457 NDR_PULL_ALLOC(ndr, r->out.ctr);
14459 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14460 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14461 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14462 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14464 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14466 return NDR_ERR_SUCCESS;
14469 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
14471 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
14473 if (flags & NDR_SET_VALUES) {
14474 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14476 if (flags & NDR_IN) {
14477 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
14479 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14481 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14483 ndr_print_int32(ndr, "level", r->in.level);
14484 ndr_print_ptr(ndr, "req", r->in.req);
14486 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14487 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
14491 if (flags & NDR_OUT) {
14492 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
14494 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14496 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14498 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14500 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14501 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
14503 ndr_print_WERROR(ndr, "result", r->out.result);
14509 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
14511 if (flags & NDR_IN) {
14512 if (r->in.bind_handle == NULL) {
14513 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14515 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14516 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14517 if (r->in.req == NULL) {
14518 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14520 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14521 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14523 if (flags & NDR_OUT) {
14524 if (r->out.level_out == NULL) {
14525 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14527 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14528 if (r->out.ctr == NULL) {
14529 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14531 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14532 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14533 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14535 return NDR_ERR_SUCCESS;
14538 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
14540 TALLOC_CTX *_mem_save_bind_handle_0;
14541 TALLOC_CTX *_mem_save_req_0;
14542 TALLOC_CTX *_mem_save_level_out_0;
14543 TALLOC_CTX *_mem_save_ctr_0;
14544 if (flags & NDR_IN) {
14545 ZERO_STRUCT(r->out);
14547 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14548 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14550 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14551 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14552 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14553 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14554 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14555 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14556 NDR_PULL_ALLOC(ndr, r->in.req);
14558 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14559 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14560 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14561 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14563 NDR_PULL_ALLOC(ndr, r->out.level_out);
14564 ZERO_STRUCTP(r->out.level_out);
14565 NDR_PULL_ALLOC(ndr, r->out.ctr);
14566 ZERO_STRUCTP(r->out.ctr);
14568 if (flags & NDR_OUT) {
14569 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14570 NDR_PULL_ALLOC(ndr, r->out.level_out);
14572 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14573 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14574 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14576 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14577 NDR_PULL_ALLOC(ndr, r->out.ctr);
14579 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14580 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14581 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14582 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14583 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14584 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14586 return NDR_ERR_SUCCESS;
14589 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
14591 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
14593 if (flags & NDR_SET_VALUES) {
14594 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14596 if (flags & NDR_IN) {
14597 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
14599 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14601 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14603 ndr_print_int32(ndr, "level", r->in.level);
14604 ndr_print_ptr(ndr, "req", r->in.req);
14606 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14607 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
14611 if (flags & NDR_OUT) {
14612 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
14614 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14616 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14618 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14620 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14621 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
14623 ndr_print_WERROR(ndr, "result", r->out.result);
14629 static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r)
14631 if (flags & NDR_IN) {
14632 if (r->in.bind_handle == NULL) {
14633 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14635 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
14637 if (r->in.req == NULL) {
14638 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14640 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14641 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14643 if (flags & NDR_OUT) {
14644 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14646 return NDR_ERR_SUCCESS;
14649 static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r)
14651 TALLOC_CTX *_mem_save_bind_handle_0;
14652 TALLOC_CTX *_mem_save_req_0;
14653 if (flags & NDR_IN) {
14654 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14655 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14657 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14658 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14659 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14661 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14662 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14663 NDR_PULL_ALLOC(ndr, r->in.req);
14665 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14666 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14667 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14668 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req));
14669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14671 if (flags & NDR_OUT) {
14672 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14674 return NDR_ERR_SUCCESS;
14677 _PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r)
14679 ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC");
14681 if (flags & NDR_SET_VALUES) {
14682 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14684 if (flags & NDR_IN) {
14685 ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC");
14687 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14689 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14691 ndr_print_uint32(ndr, "level", r->in.level);
14692 ndr_print_ptr(ndr, "req", r->in.req);
14694 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14695 ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req);
14699 if (flags & NDR_OUT) {
14700 ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC");
14702 ndr_print_WERROR(ndr, "result", r->out.result);
14708 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14710 if (flags & NDR_IN) {
14711 if (r->in.bind_handle == NULL) {
14712 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14714 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14715 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
14716 if (r->in.req == NULL) {
14717 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14719 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14720 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14722 if (flags & NDR_OUT) {
14723 if (r->out.info_type == NULL) {
14724 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14726 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
14727 if (r->out.info == NULL) {
14728 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14730 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
14731 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14732 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14734 return NDR_ERR_SUCCESS;
14737 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
14739 TALLOC_CTX *_mem_save_bind_handle_0;
14740 TALLOC_CTX *_mem_save_req_0;
14741 TALLOC_CTX *_mem_save_info_type_0;
14742 TALLOC_CTX *_mem_save_info_0;
14743 if (flags & NDR_IN) {
14744 ZERO_STRUCT(r->out);
14746 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14747 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14749 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14750 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14751 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14752 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14753 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
14754 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14755 NDR_PULL_ALLOC(ndr, r->in.req);
14757 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14758 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14759 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14761 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14762 NDR_PULL_ALLOC(ndr, r->out.info_type);
14763 ZERO_STRUCTP(r->out.info_type);
14764 NDR_PULL_ALLOC(ndr, r->out.info);
14765 ZERO_STRUCTP(r->out.info);
14767 if (flags & NDR_OUT) {
14768 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14769 NDR_PULL_ALLOC(ndr, r->out.info_type);
14771 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
14772 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
14773 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
14774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
14775 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14776 NDR_PULL_ALLOC(ndr, r->out.info);
14778 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14779 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14780 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
14781 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14783 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14785 return NDR_ERR_SUCCESS;
14788 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14790 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
14792 if (flags & NDR_SET_VALUES) {
14793 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14795 if (flags & NDR_IN) {
14796 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
14798 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14800 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14802 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
14803 ndr_print_ptr(ndr, "req", r->in.req);
14805 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14806 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
14810 if (flags & NDR_OUT) {
14811 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
14813 ndr_print_ptr(ndr, "info_type", r->out.info_type);
14815 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
14817 ndr_print_ptr(ndr, "info", r->out.info);
14819 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
14820 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
14822 ndr_print_WERROR(ndr, "result", r->out.result);
14828 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
14830 if (flags & NDR_IN) {
14832 if (flags & NDR_OUT) {
14833 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14835 return NDR_ERR_SUCCESS;
14838 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
14840 if (flags & NDR_IN) {
14842 if (flags & NDR_OUT) {
14843 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14845 return NDR_ERR_SUCCESS;
14848 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
14850 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
14852 if (flags & NDR_SET_VALUES) {
14853 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14855 if (flags & NDR_IN) {
14856 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
14860 if (flags & NDR_OUT) {
14861 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
14863 ndr_print_WERROR(ndr, "result", r->out.result);
14869 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
14871 if (flags & NDR_IN) {
14872 if (r->in.bind_handle == NULL) {
14873 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14875 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14876 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14877 if (r->in.req == NULL) {
14878 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14880 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14881 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14883 if (flags & NDR_OUT) {
14884 if (r->out.level_out == NULL) {
14885 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14887 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14888 if (r->out.ctr == NULL) {
14889 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14891 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14892 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14893 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14895 return NDR_ERR_SUCCESS;
14898 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
14900 TALLOC_CTX *_mem_save_bind_handle_0;
14901 TALLOC_CTX *_mem_save_req_0;
14902 TALLOC_CTX *_mem_save_level_out_0;
14903 TALLOC_CTX *_mem_save_ctr_0;
14904 if (flags & NDR_IN) {
14905 ZERO_STRUCT(r->out);
14907 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14908 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14910 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14911 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14912 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14913 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14914 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14915 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14916 NDR_PULL_ALLOC(ndr, r->in.req);
14918 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14919 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14920 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14921 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14922 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14923 NDR_PULL_ALLOC(ndr, r->out.level_out);
14924 ZERO_STRUCTP(r->out.level_out);
14925 NDR_PULL_ALLOC(ndr, r->out.ctr);
14926 ZERO_STRUCTP(r->out.ctr);
14928 if (flags & NDR_OUT) {
14929 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14930 NDR_PULL_ALLOC(ndr, r->out.level_out);
14932 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14933 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14934 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14936 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14937 NDR_PULL_ALLOC(ndr, r->out.ctr);
14939 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14940 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14941 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14942 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14944 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14946 return NDR_ERR_SUCCESS;
14949 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
14951 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
14953 if (flags & NDR_SET_VALUES) {
14954 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14956 if (flags & NDR_IN) {
14957 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
14959 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14961 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14963 ndr_print_int32(ndr, "level", r->in.level);
14964 ndr_print_ptr(ndr, "req", r->in.req);
14966 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14967 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
14971 if (flags & NDR_OUT) {
14972 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
14974 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14976 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14978 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14980 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14981 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
14983 ndr_print_WERROR(ndr, "result", r->out.result);
14989 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
14991 if (flags & NDR_IN) {
14993 if (flags & NDR_OUT) {
14994 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14996 return NDR_ERR_SUCCESS;
14999 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15001 if (flags & NDR_IN) {
15003 if (flags & NDR_OUT) {
15004 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15006 return NDR_ERR_SUCCESS;
15009 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
15011 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15013 if (flags & NDR_SET_VALUES) {
15014 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15016 if (flags & NDR_IN) {
15017 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15021 if (flags & NDR_OUT) {
15022 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15024 ndr_print_WERROR(ndr, "result", r->out.result);
15030 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15032 if (flags & NDR_IN) {
15034 if (flags & NDR_OUT) {
15035 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15037 return NDR_ERR_SUCCESS;
15040 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15042 if (flags & NDR_IN) {
15044 if (flags & NDR_OUT) {
15045 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15047 return NDR_ERR_SUCCESS;
15050 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
15052 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
15054 if (flags & NDR_SET_VALUES) {
15055 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15057 if (flags & NDR_IN) {
15058 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15062 if (flags & NDR_OUT) {
15063 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15065 ndr_print_WERROR(ndr, "result", r->out.result);
15071 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
15073 if (flags & NDR_IN) {
15074 if (r->in.bind_handle == NULL) {
15075 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15077 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15078 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
15079 if (r->in.req == NULL) {
15080 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15082 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
15083 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15085 if (flags & NDR_OUT) {
15086 if (r->out.level_out == NULL) {
15087 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15089 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
15090 if (r->out.ctr == NULL) {
15091 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15093 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15094 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15095 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15097 return NDR_ERR_SUCCESS;
15100 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
15102 TALLOC_CTX *_mem_save_bind_handle_0;
15103 TALLOC_CTX *_mem_save_req_0;
15104 TALLOC_CTX *_mem_save_level_out_0;
15105 TALLOC_CTX *_mem_save_ctr_0;
15106 if (flags & NDR_IN) {
15107 ZERO_STRUCT(r->out);
15109 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15110 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
15112 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
15113 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
15114 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
15115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
15116 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
15117 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15118 NDR_PULL_ALLOC(ndr, r->in.req);
15120 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
15121 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
15122 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
15123 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
15124 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
15125 NDR_PULL_ALLOC(ndr, r->out.level_out);
15126 ZERO_STRUCTP(r->out.level_out);
15127 NDR_PULL_ALLOC(ndr, r->out.ctr);
15128 ZERO_STRUCTP(r->out.ctr);
15130 if (flags & NDR_OUT) {
15131 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15132 NDR_PULL_ALLOC(ndr, r->out.level_out);
15134 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
15135 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
15136 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
15137 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
15138 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15139 NDR_PULL_ALLOC(ndr, r->out.ctr);
15141 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15142 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15143 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
15144 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
15145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15146 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15148 return NDR_ERR_SUCCESS;
15151 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
15153 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
15155 if (flags & NDR_SET_VALUES) {
15156 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15158 if (flags & NDR_IN) {
15159 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
15161 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
15163 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
15165 ndr_print_int32(ndr, "level", r->in.level);
15166 ndr_print_ptr(ndr, "req", r->in.req);
15168 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
15169 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
15173 if (flags & NDR_OUT) {
15174 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
15176 ndr_print_ptr(ndr, "level_out", r->out.level_out);
15178 ndr_print_int32(ndr, "level_out", *r->out.level_out);
15180 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15182 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
15183 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
15185 ndr_print_WERROR(ndr, "result", r->out.result);
15191 static const struct ndr_interface_call drsuapi_calls[] = {
15194 sizeof(struct drsuapi_DsBind),
15195 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
15196 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
15197 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
15201 "drsuapi_DsUnbind",
15202 sizeof(struct drsuapi_DsUnbind),
15203 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
15204 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
15205 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
15209 "drsuapi_DsReplicaSync",
15210 sizeof(struct drsuapi_DsReplicaSync),
15211 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
15212 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
15213 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
15217 "drsuapi_DsGetNCChanges",
15218 sizeof(struct drsuapi_DsGetNCChanges),
15219 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
15220 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
15221 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
15225 "drsuapi_DsReplicaUpdateRefs",
15226 sizeof(struct drsuapi_DsReplicaUpdateRefs),
15227 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
15228 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
15229 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
15233 "drsuapi_DsReplicaAdd",
15234 sizeof(struct drsuapi_DsReplicaAdd),
15235 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd,
15236 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd,
15237 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd,
15241 "drsuapi_DsReplicaDel",
15242 sizeof(struct drsuapi_DsReplicaDel),
15243 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel,
15244 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel,
15245 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel,
15249 "drsuapi_DsReplicaMod",
15250 sizeof(struct drsuapi_DsReplicaMod),
15251 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod,
15252 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod,
15253 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod,
15257 "DRSUAPI_VERIFY_NAMES",
15258 sizeof(struct DRSUAPI_VERIFY_NAMES),
15259 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
15260 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
15261 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
15265 "drsuapi_DsGetMemberships",
15266 sizeof(struct drsuapi_DsGetMemberships),
15267 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
15268 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
15269 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
15273 "DRSUAPI_INTER_DOMAIN_MOVE",
15274 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
15275 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
15276 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
15277 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
15281 "drsuapi_DsGetNT4ChangeLog",
15282 sizeof(struct drsuapi_DsGetNT4ChangeLog),
15283 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
15284 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
15285 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
15289 "drsuapi_DsCrackNames",
15290 sizeof(struct drsuapi_DsCrackNames),
15291 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
15292 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
15293 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
15297 "drsuapi_DsWriteAccountSpn",
15298 sizeof(struct drsuapi_DsWriteAccountSpn),
15299 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
15300 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
15301 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
15305 "drsuapi_DsRemoveDSServer",
15306 sizeof(struct drsuapi_DsRemoveDSServer),
15307 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
15308 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
15309 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
15313 "DRSUAPI_REMOVE_DS_DOMAIN",
15314 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
15315 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
15316 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
15317 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
15321 "drsuapi_DsGetDomainControllerInfo",
15322 sizeof(struct drsuapi_DsGetDomainControllerInfo),
15323 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
15324 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
15325 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
15329 "drsuapi_DsAddEntry",
15330 sizeof(struct drsuapi_DsAddEntry),
15331 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
15332 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
15333 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
15337 "drsuapi_DsExecuteKCC",
15338 sizeof(struct drsuapi_DsExecuteKCC),
15339 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC,
15340 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC,
15341 (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC,
15345 "drsuapi_DsReplicaGetInfo",
15346 sizeof(struct drsuapi_DsReplicaGetInfo),
15347 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
15348 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
15349 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
15353 "DRSUAPI_ADD_SID_HISTORY",
15354 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
15355 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
15356 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
15357 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
15361 "drsuapi_DsGetMemberships2",
15362 sizeof(struct drsuapi_DsGetMemberships2),
15363 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
15364 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
15365 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
15369 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15370 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
15371 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15372 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15373 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
15377 "DRSUAPI_GET_OBJECT_EXISTENCE",
15378 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
15379 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
15380 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
15381 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
15385 "drsuapi_QuerySitesByCost",
15386 sizeof(struct drsuapi_QuerySitesByCost),
15387 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
15388 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
15389 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
15392 { NULL, 0, NULL, NULL, NULL, false }
15395 static const char * const drsuapi_endpoint_strings[] = {
15396 "ncacn_np:[\\pipe\\lsass]",
15397 "ncacn_np:[\\pipe\\protected_storage]",
15402 static const struct ndr_interface_string_array drsuapi_endpoints = {
15404 .names = drsuapi_endpoint_strings
15407 static const char * const drsuapi_authservice_strings[] = {
15411 static const struct ndr_interface_string_array drsuapi_authservices = {
15413 .names = drsuapi_authservice_strings
15417 const struct ndr_interface_table ndr_table_drsuapi = {
15420 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15421 NDR_DRSUAPI_VERSION
15423 .helpstring = NDR_DRSUAPI_HELPSTRING,
15425 .calls = drsuapi_calls,
15426 .endpoints = &drsuapi_endpoints,
15427 .authservices = &drsuapi_authservices