rerun 'make samba3-idl'
[Samba.git] / librpc / gen_ndr / ndr_drsuapi.c
blob8ef414cf7d32a94125798adc638c5b0e8b33e370
1 /* parser auto-generated by pidl */
3 #include "includes.h"
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)
18 uint32_t v;
19 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20 *r = 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);
27 ndr->depth++;
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);
62 ndr->depth--;
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)
73 uint32_t v;
74 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
75 *r = 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);
82 ndr->depth++;
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);
85 ndr->depth--;
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");
117 ndr->depth++;
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);
121 ndr->depth--;
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");
155 ndr->depth++;
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);
160 ndr->depth--;
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");
198 ndr->depth++;
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);
205 ndr->depth--;
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");
243 ndr->depth++;
244 ndr_print_DATA_BLOB(ndr, "info", r->info);
245 ndr->depth--;
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);
252 switch (level) {
253 case 24: {
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));
260 break; }
262 case 28: {
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));
269 break; }
271 case 48: {
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));
278 break; }
280 default: {
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));
287 break; }
291 if (ndr_flags & NDR_BUFFERS) {
292 int level = ndr_push_get_switch_value(ndr, r);
293 switch (level) {
294 case 24:
295 break;
297 case 28:
298 break;
300 case 48:
301 break;
303 default:
304 break;
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)
313 int level;
314 level = ndr_pull_get_switch_value(ndr, r);
315 if (ndr_flags & NDR_SCALARS) {
316 switch (level) {
317 case 24: {
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));
324 break; }
326 case 28: {
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));
333 break; }
335 case 48: {
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));
342 break; }
344 default: {
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));
351 break; }
355 if (ndr_flags & NDR_BUFFERS) {
356 switch (level) {
357 case 24:
358 break;
360 case 28:
361 break;
363 case 48:
364 break;
366 default:
367 break;
371 return NDR_ERR_SUCCESS;
374 _PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r)
376 int level;
377 level = ndr_print_get_switch_value(ndr, r);
378 ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo");
379 switch (level) {
380 case 24:
381 ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24);
382 break;
384 case 28:
385 ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28);
386 break;
388 case 48:
389 ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48);
390 break;
392 default:
393 ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack);
394 break;
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");
431 ndr->depth++;
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);
435 ndr->depth--;
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 uint32_t size_dn_0 = 0;
459 if (ndr_flags & NDR_SCALARS) {
460 NDR_CHECK(ndr_pull_array_size(ndr, &r->dn));
461 NDR_CHECK(ndr_pull_align(ndr, 4));
462 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
463 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
464 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
465 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
467 size_dn_0 = ndr_get_array_size(ndr, &r->dn);
468 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
469 if (r->dn) {
470 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1));
473 if (ndr_flags & NDR_BUFFERS) {
474 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
476 return NDR_ERR_SUCCESS;
479 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r)
481 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier");
482 ndr->depth++;
483 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);
484 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);
485 ndr_print_GUID(ndr, "guid", &r->guid);
486 ndr_print_dom_sid28(ndr, "sid", &r->sid);
487 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
488 ndr_print_string(ndr, "dn", r->dn);
489 ndr->depth--;
492 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags)
494 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic);
497 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
500 return NDR_ERR_SUCCESS;
503 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
505 uint32_t v;
506 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
507 *r = v;
508 return NDR_ERR_SUCCESS;
511 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print *ndr, const char *name, uint32_t r)
513 ndr_print_uint32(ndr, name, r);
514 ndr->depth++;
515 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION, r);
516 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE, r);
517 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC, r);
518 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING, r);
519 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES, r);
520 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL, r);
521 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT, r);
522 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD, r);
523 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE, r);
524 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE, r);
525 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED, r);
526 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY, r);
527 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY, r);
528 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL, r);
529 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION, r);
530 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED, r);
531 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS, r);
532 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET, r);
533 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE, r);
534 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION, r);
535 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA, r);
536 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL, r);
537 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS, r);
538 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED, r);
539 ndr->depth--;
542 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r)
544 if (ndr_flags & NDR_SCALARS) {
545 NDR_CHECK(ndr_push_align(ndr, 4));
546 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
547 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
549 uint32_t _flags_save_string = ndr->flags;
550 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
551 NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_info));
552 ndr->flags = _flags_save_string;
554 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->options));
556 if (ndr_flags & NDR_BUFFERS) {
557 if (r->naming_context) {
558 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
561 uint32_t _flags_save_string = ndr->flags;
562 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
563 if (r->other_info) {
564 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->other_info));
566 ndr->flags = _flags_save_string;
569 return NDR_ERR_SUCCESS;
572 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r)
574 uint32_t _ptr_naming_context;
575 TALLOC_CTX *_mem_save_naming_context_0;
576 uint32_t _ptr_other_info;
577 TALLOC_CTX *_mem_save_other_info_0;
578 if (ndr_flags & NDR_SCALARS) {
579 NDR_CHECK(ndr_pull_align(ndr, 4));
580 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
581 if (_ptr_naming_context) {
582 NDR_PULL_ALLOC(ndr, r->naming_context);
583 } else {
584 r->naming_context = NULL;
586 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
588 uint32_t _flags_save_string = ndr->flags;
589 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
590 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
591 if (_ptr_other_info) {
592 NDR_PULL_ALLOC(ndr, r->other_info);
593 } else {
594 r->other_info = NULL;
596 ndr->flags = _flags_save_string;
598 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->options));
600 if (ndr_flags & NDR_BUFFERS) {
601 if (r->naming_context) {
602 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
603 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
604 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
608 uint32_t _flags_save_string = ndr->flags;
609 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
610 if (r->other_info) {
611 _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
612 NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
613 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->other_info));
614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
616 ndr->flags = _flags_save_string;
619 return NDR_ERR_SUCCESS;
622 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r)
624 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1");
625 ndr->depth++;
626 ndr_print_ptr(ndr, "naming_context", r->naming_context);
627 ndr->depth++;
628 if (r->naming_context) {
629 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
631 ndr->depth--;
632 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
633 ndr_print_ptr(ndr, "other_info", r->other_info);
634 ndr->depth++;
635 if (r->other_info) {
636 ndr_print_string(ndr, "other_info", r->other_info);
638 ndr->depth--;
639 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "options", r->options);
640 ndr->depth--;
643 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r)
645 if (ndr_flags & NDR_SCALARS) {
646 int level = ndr_push_get_switch_value(ndr, r);
647 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
648 switch (level) {
649 case 1: {
650 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
651 break; }
653 default:
654 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
657 if (ndr_flags & NDR_BUFFERS) {
658 int level = ndr_push_get_switch_value(ndr, r);
659 switch (level) {
660 case 1:
661 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
662 break;
664 default:
665 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
668 return NDR_ERR_SUCCESS;
671 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
673 int level;
674 int32_t _level;
675 level = ndr_pull_get_switch_value(ndr, r);
676 if (ndr_flags & NDR_SCALARS) {
677 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
678 if (_level != level) {
679 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
681 switch (level) {
682 case 1: {
683 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1));
684 break; }
686 default:
687 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
690 if (ndr_flags & NDR_BUFFERS) {
691 switch (level) {
692 case 1:
693 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1));
694 break;
696 default:
697 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
700 return NDR_ERR_SUCCESS;
703 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r)
705 int level;
706 level = ndr_print_get_switch_value(ndr, r);
707 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest");
708 switch (level) {
709 case 1:
710 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1);
711 break;
713 default:
714 ndr_print_bad_level(ndr, name, level);
718 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r)
720 if (ndr_flags & NDR_SCALARS) {
721 NDR_CHECK(ndr_push_align(ndr, 8));
722 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
723 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn));
724 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
726 if (ndr_flags & NDR_BUFFERS) {
728 return NDR_ERR_SUCCESS;
731 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r)
733 if (ndr_flags & NDR_SCALARS) {
734 NDR_CHECK(ndr_pull_align(ndr, 8));
735 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
736 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn));
737 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
739 if (ndr_flags & NDR_BUFFERS) {
741 return NDR_ERR_SUCCESS;
744 _PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r)
746 ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark");
747 ndr->depth++;
748 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
749 ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn);
750 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
751 ndr->depth--;
754 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r)
756 if (ndr_flags & NDR_SCALARS) {
757 NDR_CHECK(ndr_push_align(ndr, 8));
758 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
759 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
761 if (ndr_flags & NDR_BUFFERS) {
763 return NDR_ERR_SUCCESS;
766 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r)
768 if (ndr_flags & NDR_SCALARS) {
769 NDR_CHECK(ndr_pull_align(ndr, 8));
770 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
771 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
773 if (ndr_flags & NDR_BUFFERS) {
775 return NDR_ERR_SUCCESS;
778 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r)
780 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor");
781 ndr->depth++;
782 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
783 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
784 ndr->depth--;
787 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r)
789 uint32_t cntr_cursors_0;
790 if (ndr_flags & NDR_SCALARS) {
791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
792 NDR_CHECK(ndr_push_align(ndr, 8));
793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
797 for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) {
798 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
801 if (ndr_flags & NDR_BUFFERS) {
803 return NDR_ERR_SUCCESS;
806 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r)
808 uint32_t size_cursors_0 = 0;
809 uint32_t cntr_cursors_0;
810 TALLOC_CTX *_mem_save_cursors_0;
811 if (ndr_flags & NDR_SCALARS) {
812 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
813 NDR_CHECK(ndr_pull_align(ndr, 8));
814 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
815 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
816 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
817 if (r->count > 0x100000) {
818 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
820 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
821 size_cursors_0 = ndr_get_array_size(ndr, &r->cursors);
822 NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
823 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
824 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
825 for (cntr_cursors_0 = 0; cntr_cursors_0 < size_cursors_0; cntr_cursors_0++) {
826 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
829 if (r->cursors) {
830 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
833 if (ndr_flags & NDR_BUFFERS) {
835 return NDR_ERR_SUCCESS;
838 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r)
840 uint32_t cntr_cursors_0;
841 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx");
842 ndr->depth++;
843 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
844 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
845 ndr_print_uint32(ndr, "count", r->count);
846 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
847 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
848 ndr->depth++;
849 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
850 char *idx_0=NULL;
851 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
852 ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]);
853 free(idx_0);
856 ndr->depth--;
857 ndr->depth--;
860 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
863 return NDR_ERR_SUCCESS;
866 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
868 uint32_t v;
869 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
870 *r = v;
871 return NDR_ERR_SUCCESS;
874 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourFlags(struct ndr_print *ndr, const char *name, uint32_t r)
876 ndr_print_uint32(ndr, name, r);
877 ndr->depth++;
878 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE", DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE, r);
879 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP", DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP, r);
880 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS", DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS, r);
881 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);
882 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC, r);
883 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS", DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS, r);
884 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS, r);
885 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET", DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET, r);
886 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED", DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED, r);
887 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED", DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED, r);
888 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS, r);
889 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC", DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC, r);
890 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES", DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES, r);
891 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS", DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS, r);
892 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET, r);
893 ndr->depth--;
896 static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r)
899 uint32_t _flags_save_ENUM = ndr->flags;
900 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
902 ndr->flags = _flags_save_ENUM;
904 return NDR_ERR_SUCCESS;
907 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r)
909 uint32_t v;
911 uint32_t _flags_save_ENUM = ndr->flags;
912 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
914 *r = v;
915 ndr->flags = _flags_save_ENUM;
917 return NDR_ERR_SUCCESS;
920 _PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r)
922 const char *val = NULL;
925 uint32_t _flags_save_ENUM = ndr->flags;
926 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
927 switch (r) {
928 case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break;
929 case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
930 case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
931 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
932 case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
933 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
934 case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break;
935 case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break;
937 ndr_print_enum(ndr, name, "ENUM", val, r);
938 ndr->flags = _flags_save_ENUM;
942 static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r)
945 uint32_t _flags_save_ENUM = ndr->flags;
946 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
948 ndr->flags = _flags_save_ENUM;
950 return NDR_ERR_SUCCESS;
953 static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r)
955 uint32_t v;
957 uint32_t _flags_save_ENUM = ndr->flags;
958 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
959 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
960 *r = v;
961 ndr->flags = _flags_save_ENUM;
963 return NDR_ERR_SUCCESS;
966 _PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r)
968 const char *val = NULL;
971 uint32_t _flags_save_ENUM = ndr->flags;
972 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
973 switch (r) {
974 case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break;
975 case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break;
976 case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
977 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
978 case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
979 case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
980 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
981 case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
982 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
983 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
984 case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break;
985 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
986 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
987 case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
988 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
989 case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
990 case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
992 ndr_print_enum(ndr, name, "ENUM", val, r);
993 ndr->flags = _flags_save_ENUM;
997 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r)
999 if (ndr_flags & NDR_SCALARS) {
1000 NDR_CHECK(ndr_push_align(ndr, 8));
1001 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1002 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1003 if (r->naming_context == NULL) {
1004 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1006 NDR_CHECK(ndr_push_ref_ptr(ndr));
1007 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1008 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
1009 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
1010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count));
1011 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size));
1012 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op));
1013 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info));
1015 if (ndr_flags & NDR_BUFFERS) {
1016 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1017 if (r->uptodateness_vector) {
1018 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1021 return NDR_ERR_SUCCESS;
1024 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r)
1026 uint32_t _ptr_naming_context;
1027 TALLOC_CTX *_mem_save_naming_context_0;
1028 uint32_t _ptr_uptodateness_vector;
1029 TALLOC_CTX *_mem_save_uptodateness_vector_0;
1030 if (ndr_flags & NDR_SCALARS) {
1031 NDR_CHECK(ndr_pull_align(ndr, 8));
1032 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid));
1033 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
1034 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
1035 if (_ptr_naming_context) {
1036 NDR_PULL_ALLOC(ndr, r->naming_context);
1037 } else {
1038 r->naming_context = NULL;
1040 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark));
1041 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
1042 if (_ptr_uptodateness_vector) {
1043 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
1044 } else {
1045 r->uptodateness_vector = NULL;
1047 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
1048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count));
1049 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size));
1050 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op));
1051 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info));
1053 if (ndr_flags & NDR_BUFFERS) {
1054 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
1055 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
1056 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
1057 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
1058 if (r->uptodateness_vector) {
1059 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
1060 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
1061 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
1062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
1065 return NDR_ERR_SUCCESS;
1068 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r)
1070 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5");
1071 ndr->depth++;
1072 ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid);
1073 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
1074 ndr_print_ptr(ndr, "naming_context", r->naming_context);
1075 ndr->depth++;
1076 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1077 ndr->depth--;
1078 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1079 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1080 ndr->depth++;
1081 if (r->uptodateness_vector) {
1082 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1084 ndr->depth--;
1085 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
1086 ndr_print_uint32(ndr, "max_object_count", r->max_object_count);
1087 ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size);
1088 ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op);
1089 ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info);
1090 ndr->depth--;
1093 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOID(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOID *r)
1095 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOID");
1096 ndr->depth++;
1097 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaOID_oid(r->oid, 0):r->__ndr_size);
1098 ndr_print_ptr(ndr, "oid", r->oid);
1099 ndr->depth++;
1100 if (r->oid) {
1101 ndr_print_string(ndr, "oid", r->oid);
1103 ndr->depth--;
1104 ndr->depth--;
1107 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r)
1109 if (ndr_flags & NDR_SCALARS) {
1110 NDR_CHECK(ndr_push_align(ndr, 4));
1111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix));
1112 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1114 if (ndr_flags & NDR_BUFFERS) {
1115 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1117 return NDR_ERR_SUCCESS;
1120 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r)
1122 if (ndr_flags & NDR_SCALARS) {
1123 NDR_CHECK(ndr_pull_align(ndr, 4));
1124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix));
1125 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid));
1127 if (ndr_flags & NDR_BUFFERS) {
1128 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid));
1130 return NDR_ERR_SUCCESS;
1133 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r)
1135 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping");
1136 ndr->depth++;
1137 ndr_print_uint32(ndr, "id_prefix", r->id_prefix);
1138 ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid);
1139 ndr->depth--;
1142 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1144 uint32_t cntr_mappings_1;
1145 if (ndr_flags & NDR_SCALARS) {
1146 NDR_CHECK(ndr_push_align(ndr, 4));
1147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1148 NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings));
1150 if (ndr_flags & NDR_BUFFERS) {
1151 if (r->mappings) {
1152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings));
1153 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1154 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1156 for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) {
1157 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1161 return NDR_ERR_SUCCESS;
1164 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1166 uint32_t _ptr_mappings;
1167 uint32_t size_mappings_1 = 0;
1168 uint32_t cntr_mappings_1;
1169 TALLOC_CTX *_mem_save_mappings_0;
1170 TALLOC_CTX *_mem_save_mappings_1;
1171 if (ndr_flags & NDR_SCALARS) {
1172 NDR_CHECK(ndr_pull_align(ndr, 4));
1173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings));
1174 if (r->num_mappings > 0x100000) {
1175 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1177 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings));
1178 if (_ptr_mappings) {
1179 NDR_PULL_ALLOC(ndr, r->mappings);
1180 } else {
1181 r->mappings = NULL;
1184 if (ndr_flags & NDR_BUFFERS) {
1185 if (r->mappings) {
1186 _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1187 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1188 NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings));
1189 size_mappings_1 = ndr_get_array_size(ndr, &r->mappings);
1190 NDR_PULL_ALLOC_N(ndr, r->mappings, size_mappings_1);
1191 _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1192 NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0);
1193 for (cntr_mappings_1 = 0; cntr_mappings_1 < size_mappings_1; cntr_mappings_1++) {
1194 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1]));
1196 for (cntr_mappings_1 = 0; cntr_mappings_1 < size_mappings_1; cntr_mappings_1++) {
1197 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1]));
1199 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0);
1200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0);
1202 if (r->mappings) {
1203 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings));
1206 return NDR_ERR_SUCCESS;
1209 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r)
1211 uint32_t cntr_mappings_1;
1212 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr");
1213 ndr->depth++;
1214 ndr_print_uint32(ndr, "num_mappings", r->num_mappings);
1215 ndr_print_ptr(ndr, "mappings", r->mappings);
1216 ndr->depth++;
1217 if (r->mappings) {
1218 ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings);
1219 ndr->depth++;
1220 for (cntr_mappings_1=0;cntr_mappings_1<r->num_mappings;cntr_mappings_1++) {
1221 char *idx_1=NULL;
1222 if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) {
1223 ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]);
1224 free(idx_1);
1227 ndr->depth--;
1229 ndr->depth--;
1230 ndr->depth--;
1233 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r)
1236 uint32_t _flags_save_ENUM = ndr->flags;
1237 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1239 ndr->flags = _flags_save_ENUM;
1241 return NDR_ERR_SUCCESS;
1244 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r)
1246 uint32_t v;
1248 uint32_t _flags_save_ENUM = ndr->flags;
1249 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1250 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1251 *r = v;
1252 ndr->flags = _flags_save_ENUM;
1254 return NDR_ERR_SUCCESS;
1257 _PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r)
1259 const char *val = NULL;
1262 uint32_t _flags_save_ENUM = ndr->flags;
1263 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1264 switch (r) {
1265 case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break;
1266 case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break;
1267 case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break;
1268 case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break;
1269 case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1270 case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1271 case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break;
1272 case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break;
1273 case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1274 case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1275 case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1276 case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1277 case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1278 case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1279 case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break;
1280 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1281 case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1282 case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1283 case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1284 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1285 case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1286 case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1287 case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break;
1288 case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1289 case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break;
1290 case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1291 case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1292 case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1293 case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break;
1294 case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break;
1295 case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1296 case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1297 case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break;
1298 case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1299 case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1300 case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1301 case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break;
1302 case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1303 case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1304 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1305 case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1306 case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1307 case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1308 case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1309 case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1310 case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break;
1311 case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1312 case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1313 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1314 case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1315 case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1316 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1317 case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1318 case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break;
1319 case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1320 case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1321 case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break;
1322 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1323 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1324 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1325 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1327 ndr_print_enum(ndr, name, "ENUM", val, r);
1328 ndr->flags = _flags_save_ENUM;
1332 static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r)
1334 uint32_t cntr_attids_0;
1335 if (ndr_flags & NDR_SCALARS) {
1336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1337 NDR_CHECK(ndr_push_align(ndr, 4));
1338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
1339 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1340 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids));
1341 for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) {
1342 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0]));
1345 if (ndr_flags & NDR_BUFFERS) {
1347 return NDR_ERR_SUCCESS;
1350 static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r)
1352 uint32_t size_attids_0 = 0;
1353 uint32_t cntr_attids_0;
1354 TALLOC_CTX *_mem_save_attids_0;
1355 if (ndr_flags & NDR_SCALARS) {
1356 NDR_CHECK(ndr_pull_array_size(ndr, &r->attids));
1357 NDR_CHECK(ndr_pull_align(ndr, 4));
1358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1359 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids));
1361 if (r->num_attids < 1 || r->num_attids > 0x100000) {
1362 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1364 size_attids_0 = ndr_get_array_size(ndr, &r->attids);
1365 NDR_PULL_ALLOC_N(ndr, r->attids, size_attids_0);
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 < size_attids_0; 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);
1372 if (r->attids) {
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");
1385 ndr->depth++;
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);
1390 ndr->depth++;
1391 for (cntr_attids_0=0;cntr_attids_0<r->num_attids;cntr_attids_0++) {
1392 char *idx_0=NULL;
1393 if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) {
1394 ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]);
1395 free(idx_0);
1398 ndr->depth--;
1399 ndr->depth--;
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);
1456 } else {
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);
1463 } else {
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);
1474 } else {
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);
1480 } else {
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");
1516 ndr->depth++;
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);
1520 ndr->depth++;
1521 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
1522 ndr->depth--;
1523 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark);
1524 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
1525 ndr->depth++;
1526 if (r->uptodateness_vector) {
1527 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
1529 ndr->depth--;
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);
1536 ndr->depth++;
1537 if (r->partial_attribute_set) {
1538 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set);
1540 ndr->depth--;
1541 ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1542 ndr->depth++;
1543 if (r->partial_attribute_set_ex) {
1544 ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex);
1546 ndr->depth--;
1547 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
1548 ndr->depth--;
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));
1556 switch (level) {
1557 case 5: {
1558 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1559 break; }
1561 case 8: {
1562 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1563 break; }
1565 default:
1566 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1569 if (ndr_flags & NDR_BUFFERS) {
1570 int level = ndr_push_get_switch_value(ndr, r);
1571 switch (level) {
1572 case 5:
1573 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1574 break;
1576 case 8:
1577 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1578 break;
1580 default:
1581 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
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)
1589 int level;
1590 int32_t _level;
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", _level);
1597 switch (level) {
1598 case 5: {
1599 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5));
1600 break; }
1602 case 8: {
1603 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8));
1604 break; }
1606 default:
1607 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1610 if (ndr_flags & NDR_BUFFERS) {
1611 switch (level) {
1612 case 5:
1613 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5));
1614 break;
1616 case 8:
1617 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8));
1618 break;
1620 default:
1621 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1624 return NDR_ERR_SUCCESS;
1627 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r)
1629 int level;
1630 level = ndr_print_get_switch_value(ndr, r);
1631 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest");
1632 switch (level) {
1633 case 5:
1634 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5);
1635 break;
1637 case 8:
1638 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8);
1639 break;
1641 default:
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");
1675 ndr->depth++;
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);
1679 ndr->depth--;
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 size_cursors_0 = 0;
1704 uint32_t cntr_cursors_0;
1705 TALLOC_CTX *_mem_save_cursors_0;
1706 if (ndr_flags & NDR_SCALARS) {
1707 NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors));
1708 NDR_CHECK(ndr_pull_align(ndr, 8));
1709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
1711 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1712 if (r->count > 0x100000) {
1713 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
1716 size_cursors_0 = ndr_get_array_size(ndr, &r->cursors);
1717 NDR_PULL_ALLOC_N(ndr, r->cursors, size_cursors_0);
1718 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1719 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
1720 for (cntr_cursors_0 = 0; cntr_cursors_0 < size_cursors_0; cntr_cursors_0++) {
1721 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0]));
1723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
1724 if (r->cursors) {
1725 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count));
1728 if (ndr_flags & NDR_BUFFERS) {
1730 return NDR_ERR_SUCCESS;
1733 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r)
1735 uint32_t cntr_cursors_0;
1736 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx");
1737 ndr->depth++;
1738 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
1739 ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1);
1740 ndr_print_uint32(ndr, "count", r->count);
1741 ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2);
1742 ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count);
1743 ndr->depth++;
1744 for (cntr_cursors_0=0;cntr_cursors_0<r->count;cntr_cursors_0++) {
1745 char *idx_0=NULL;
1746 if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) {
1747 ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]);
1748 free(idx_0);
1751 ndr->depth--;
1752 ndr->depth--;
1755 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r)
1757 if (ndr_flags & NDR_SCALARS) {
1758 NDR_CHECK(ndr_push_align(ndr, 4));
1759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0)));
1760 NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob));
1762 if (ndr_flags & NDR_BUFFERS) {
1763 if (r->blob) {
1764 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob));
1767 return NDR_ERR_SUCCESS;
1770 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r)
1772 uint32_t _ptr_blob;
1773 TALLOC_CTX *_mem_save_blob_0;
1774 if (ndr_flags & NDR_SCALARS) {
1775 NDR_CHECK(ndr_pull_align(ndr, 4));
1776 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1777 if (r->__ndr_size > 10485760) {
1778 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1780 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob));
1781 if (_ptr_blob) {
1782 NDR_PULL_ALLOC(ndr, r->blob);
1783 } else {
1784 r->blob = NULL;
1787 if (ndr_flags & NDR_BUFFERS) {
1788 if (r->blob) {
1789 _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
1790 NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0);
1791 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
1792 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0);
1795 return NDR_ERR_SUCCESS;
1798 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r)
1800 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue");
1801 ndr->depth++;
1802 ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size);
1803 ndr_print_ptr(ndr, "blob", r->blob);
1804 ndr->depth++;
1805 if (r->blob) {
1806 ndr_print_DATA_BLOB(ndr, "blob", *r->blob);
1808 ndr->depth--;
1809 ndr->depth--;
1812 static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r)
1814 uint32_t cntr_values_1;
1815 if (ndr_flags & NDR_SCALARS) {
1816 NDR_CHECK(ndr_push_align(ndr, 4));
1817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
1818 NDR_CHECK(ndr_push_unique_ptr(ndr, r->values));
1820 if (ndr_flags & NDR_BUFFERS) {
1821 if (r->values) {
1822 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values));
1823 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1824 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
1826 for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) {
1827 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
1831 return NDR_ERR_SUCCESS;
1834 static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r)
1836 uint32_t _ptr_values;
1837 uint32_t size_values_1 = 0;
1838 uint32_t cntr_values_1;
1839 TALLOC_CTX *_mem_save_values_0;
1840 TALLOC_CTX *_mem_save_values_1;
1841 if (ndr_flags & NDR_SCALARS) {
1842 NDR_CHECK(ndr_pull_align(ndr, 4));
1843 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values));
1844 if (r->num_values > 10485760) {
1845 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1847 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values));
1848 if (_ptr_values) {
1849 NDR_PULL_ALLOC(ndr, r->values);
1850 } else {
1851 r->values = NULL;
1854 if (ndr_flags & NDR_BUFFERS) {
1855 if (r->values) {
1856 _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
1857 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
1858 NDR_CHECK(ndr_pull_array_size(ndr, &r->values));
1859 size_values_1 = ndr_get_array_size(ndr, &r->values);
1860 NDR_PULL_ALLOC_N(ndr, r->values, size_values_1);
1861 _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
1862 NDR_PULL_SET_MEM_CTX(ndr, r->values, 0);
1863 for (cntr_values_1 = 0; cntr_values_1 < size_values_1; cntr_values_1++) {
1864 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1]));
1866 for (cntr_values_1 = 0; cntr_values_1 < size_values_1; cntr_values_1++) {
1867 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1]));
1869 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
1870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0);
1872 if (r->values) {
1873 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values));
1876 return NDR_ERR_SUCCESS;
1879 _PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r)
1881 uint32_t cntr_values_1;
1882 ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr");
1883 ndr->depth++;
1884 ndr_print_uint32(ndr, "num_values", r->num_values);
1885 ndr_print_ptr(ndr, "values", r->values);
1886 ndr->depth++;
1887 if (r->values) {
1888 ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values);
1889 ndr->depth++;
1890 for (cntr_values_1=0;cntr_values_1<r->num_values;cntr_values_1++) {
1891 char *idx_1=NULL;
1892 if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
1893 ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]);
1894 free(idx_1);
1897 ndr->depth--;
1899 ndr->depth--;
1900 ndr->depth--;
1903 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
1905 if (ndr_flags & NDR_SCALARS) {
1906 NDR_CHECK(ndr_push_align(ndr, 4));
1907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags)));
1908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
1909 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
1910 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
1912 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
1914 if (ndr_flags & NDR_BUFFERS) {
1915 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1917 return NDR_ERR_SUCCESS;
1920 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r)
1922 uint32_t size_dn_0 = 0;
1923 if (ndr_flags & NDR_SCALARS) {
1924 NDR_CHECK(ndr_pull_align(ndr, 4));
1925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1926 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
1927 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
1928 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1929 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
1930 size_dn_0 = r->__ndr_size_dn + 1;
1931 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
1933 if (ndr_flags & NDR_BUFFERS) {
1934 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1936 return NDR_ERR_SUCCESS;
1939 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r)
1941 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3");
1942 ndr->depth++;
1943 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);
1944 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);
1945 ndr_print_GUID(ndr, "guid", &r->guid);
1946 ndr_print_dom_sid28(ndr, "sid", &r->sid);
1947 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
1948 ndr_print_string(ndr, "dn", r->dn);
1949 ndr->depth--;
1952 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags)
1954 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic);
1957 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
1959 if (ndr_flags & NDR_SCALARS) {
1960 NDR_CHECK(ndr_push_align(ndr, 4));
1961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r, ndr->iconv_convenience, ndr->flags)));
1962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags)));
1963 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
1964 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn)));
1966 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16));
1967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4));
1969 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1970 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1971 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
1972 ndr->flags = _flags_save_DATA_BLOB;
1975 if (ndr_flags & NDR_BUFFERS) {
1976 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
1978 return NDR_ERR_SUCCESS;
1981 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
1983 uint32_t size_dn_0 = 0;
1984 if (ndr_flags & NDR_SCALARS) {
1985 NDR_CHECK(ndr_pull_align(ndr, 4));
1986 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
1987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid));
1988 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
1989 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
1990 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn));
1991 size_dn_0 = r->__ndr_size_dn + 1;
1992 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, size_dn_0, sizeof(uint16_t), CH_UTF16));
1993 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
1995 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1996 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1997 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
1998 ndr->flags = _flags_save_DATA_BLOB;
2001 if (ndr_flags & NDR_BUFFERS) {
2002 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
2004 return NDR_ERR_SUCCESS;
2007 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r)
2009 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary");
2010 ndr->depth++;
2011 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);
2012 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);
2013 ndr_print_GUID(ndr, "guid", &r->guid);
2014 ndr_print_dom_sid28(ndr, "sid", &r->sid);
2015 ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn);
2016 ndr_print_string(ndr, "dn", r->dn);
2017 ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary);
2018 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
2019 ndr->depth--;
2022 _PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, struct smb_iconv_convenience *ic, int flags)
2024 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary, ic);
2027 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r)
2029 if (ndr_flags & NDR_SCALARS) {
2030 NDR_CHECK(ndr_push_align(ndr, 4));
2031 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2032 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2034 if (ndr_flags & NDR_BUFFERS) {
2035 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2037 return NDR_ERR_SUCCESS;
2040 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r)
2042 if (ndr_flags & NDR_SCALARS) {
2043 NDR_CHECK(ndr_pull_align(ndr, 4));
2044 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2045 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr));
2047 if (ndr_flags & NDR_BUFFERS) {
2048 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr));
2050 return NDR_ERR_SUCCESS;
2053 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r)
2055 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute");
2056 ndr->depth++;
2057 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2058 ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr);
2059 ndr->depth--;
2062 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r)
2064 uint32_t cntr_attributes_1;
2065 if (ndr_flags & NDR_SCALARS) {
2066 NDR_CHECK(ndr_push_align(ndr, 4));
2067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2068 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
2070 if (ndr_flags & NDR_BUFFERS) {
2071 if (r->attributes) {
2072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes));
2073 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2074 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2076 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) {
2077 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2081 return NDR_ERR_SUCCESS;
2084 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r)
2086 uint32_t _ptr_attributes;
2087 uint32_t size_attributes_1 = 0;
2088 uint32_t cntr_attributes_1;
2089 TALLOC_CTX *_mem_save_attributes_0;
2090 TALLOC_CTX *_mem_save_attributes_1;
2091 if (ndr_flags & NDR_SCALARS) {
2092 NDR_CHECK(ndr_pull_align(ndr, 4));
2093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes));
2094 if (r->num_attributes > 1048576) {
2095 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
2098 if (_ptr_attributes) {
2099 NDR_PULL_ALLOC(ndr, r->attributes);
2100 } else {
2101 r->attributes = NULL;
2104 if (ndr_flags & NDR_BUFFERS) {
2105 if (r->attributes) {
2106 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2107 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2108 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
2109 size_attributes_1 = ndr_get_array_size(ndr, &r->attributes);
2110 NDR_PULL_ALLOC_N(ndr, r->attributes, size_attributes_1);
2111 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2112 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
2113 for (cntr_attributes_1 = 0; cntr_attributes_1 < size_attributes_1; cntr_attributes_1++) {
2114 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
2116 for (cntr_attributes_1 = 0; cntr_attributes_1 < size_attributes_1; cntr_attributes_1++) {
2117 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1]));
2119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
2120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
2122 if (r->attributes) {
2123 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes));
2126 return NDR_ERR_SUCCESS;
2129 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r)
2131 uint32_t cntr_attributes_1;
2132 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr");
2133 ndr->depth++;
2134 ndr_print_uint32(ndr, "num_attributes", r->num_attributes);
2135 ndr_print_ptr(ndr, "attributes", r->attributes);
2136 ndr->depth++;
2137 if (r->attributes) {
2138 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes);
2139 ndr->depth++;
2140 for (cntr_attributes_1=0;cntr_attributes_1<r->num_attributes;cntr_attributes_1++) {
2141 char *idx_1=NULL;
2142 if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) {
2143 ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]);
2144 free(idx_1);
2147 ndr->depth--;
2149 ndr->depth--;
2150 ndr->depth--;
2153 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2156 return NDR_ERR_SUCCESS;
2159 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2161 uint32_t v;
2162 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2163 *r = v;
2164 return NDR_ERR_SUCCESS;
2167 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2169 ndr_print_uint32(ndr, name, r);
2170 ndr->depth++;
2171 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r);
2172 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r);
2173 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r);
2174 ndr->depth--;
2177 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r)
2179 if (ndr_flags & NDR_SCALARS) {
2180 NDR_CHECK(ndr_push_align(ndr, 4));
2181 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2182 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags));
2183 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2185 if (ndr_flags & NDR_BUFFERS) {
2186 if (r->identifier) {
2187 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2189 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2191 return NDR_ERR_SUCCESS;
2194 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r)
2196 uint32_t _ptr_identifier;
2197 TALLOC_CTX *_mem_save_identifier_0;
2198 if (ndr_flags & NDR_SCALARS) {
2199 NDR_CHECK(ndr_pull_align(ndr, 4));
2200 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2201 if (_ptr_identifier) {
2202 NDR_PULL_ALLOC(ndr, r->identifier);
2203 } else {
2204 r->identifier = NULL;
2206 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags));
2207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr));
2209 if (ndr_flags & NDR_BUFFERS) {
2210 if (r->identifier) {
2211 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2212 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2213 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2216 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr));
2218 return NDR_ERR_SUCCESS;
2221 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r)
2223 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject");
2224 ndr->depth++;
2225 ndr_print_ptr(ndr, "identifier", r->identifier);
2226 ndr->depth++;
2227 if (r->identifier) {
2228 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2230 ndr->depth--;
2231 ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags);
2232 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr);
2233 ndr->depth--;
2236 static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r)
2238 if (ndr_flags & NDR_SCALARS) {
2239 NDR_CHECK(ndr_push_align(ndr, 8));
2240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2241 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time));
2242 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2243 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
2245 if (ndr_flags & NDR_BUFFERS) {
2247 return NDR_ERR_SUCCESS;
2250 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r)
2252 if (ndr_flags & NDR_SCALARS) {
2253 NDR_CHECK(ndr_pull_align(ndr, 8));
2254 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2255 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time));
2256 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
2257 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
2259 if (ndr_flags & NDR_BUFFERS) {
2261 return NDR_ERR_SUCCESS;
2264 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r)
2266 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData");
2267 ndr->depth++;
2268 ndr_print_uint32(ndr, "version", r->version);
2269 ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time);
2270 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
2271 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
2272 ndr->depth--;
2275 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r)
2277 uint32_t cntr_meta_data_0;
2278 if (ndr_flags & NDR_SCALARS) {
2279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2280 NDR_CHECK(ndr_push_align(ndr, 8));
2281 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2282 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) {
2283 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2286 if (ndr_flags & NDR_BUFFERS) {
2288 return NDR_ERR_SUCCESS;
2291 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r)
2293 uint32_t size_meta_data_0 = 0;
2294 uint32_t cntr_meta_data_0;
2295 TALLOC_CTX *_mem_save_meta_data_0;
2296 if (ndr_flags & NDR_SCALARS) {
2297 NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data));
2298 NDR_CHECK(ndr_pull_align(ndr, 8));
2299 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2300 if (r->count > 1048576) {
2301 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2303 size_meta_data_0 = ndr_get_array_size(ndr, &r->meta_data);
2304 NDR_PULL_ALLOC_N(ndr, r->meta_data, size_meta_data_0);
2305 _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2306 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0);
2307 for (cntr_meta_data_0 = 0; cntr_meta_data_0 < size_meta_data_0; cntr_meta_data_0++) {
2308 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0]));
2310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0);
2311 if (r->meta_data) {
2312 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count));
2315 if (ndr_flags & NDR_BUFFERS) {
2317 return NDR_ERR_SUCCESS;
2320 _PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r)
2322 uint32_t cntr_meta_data_0;
2323 ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr");
2324 ndr->depth++;
2325 ndr_print_uint32(ndr, "count", r->count);
2326 ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count);
2327 ndr->depth++;
2328 for (cntr_meta_data_0=0;cntr_meta_data_0<r->count;cntr_meta_data_0++) {
2329 char *idx_0=NULL;
2330 if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) {
2331 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]);
2332 free(idx_0);
2335 ndr->depth--;
2336 ndr->depth--;
2339 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r)
2341 if (ndr_flags & NDR_SCALARS) {
2342 NDR_CHECK(ndr_push_align(ndr, 4));
2343 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
2344 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix));
2346 NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid));
2347 NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr));
2349 if (ndr_flags & NDR_BUFFERS) {
2350 if (r->next_object) {
2351 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2353 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2354 if (r->parent_object_guid) {
2355 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2357 if (r->meta_data_ctr) {
2358 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2361 return NDR_ERR_SUCCESS;
2364 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r)
2366 uint32_t _ptr_next_object;
2367 TALLOC_CTX *_mem_save_next_object_0;
2368 uint32_t _ptr_parent_object_guid;
2369 TALLOC_CTX *_mem_save_parent_object_guid_0;
2370 uint32_t _ptr_meta_data_ctr;
2371 TALLOC_CTX *_mem_save_meta_data_ctr_0;
2372 if (ndr_flags & NDR_SCALARS) {
2373 NDR_CHECK(ndr_pull_align(ndr, 4));
2374 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
2375 if (_ptr_next_object) {
2376 NDR_PULL_ALLOC(ndr, r->next_object);
2377 } else {
2378 r->next_object = NULL;
2380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
2381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix));
2382 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid));
2383 if (_ptr_parent_object_guid) {
2384 NDR_PULL_ALLOC(ndr, r->parent_object_guid);
2385 } else {
2386 r->parent_object_guid = NULL;
2388 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr));
2389 if (_ptr_meta_data_ctr) {
2390 NDR_PULL_ALLOC(ndr, r->meta_data_ctr);
2391 } else {
2392 r->meta_data_ctr = NULL;
2395 if (ndr_flags & NDR_BUFFERS) {
2396 if (r->next_object) {
2397 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2398 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
2399 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
2400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
2402 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
2403 if (r->parent_object_guid) {
2404 _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2405 NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0);
2406 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid));
2407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0);
2409 if (r->meta_data_ctr) {
2410 _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
2411 NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0);
2412 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr));
2413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0);
2416 return NDR_ERR_SUCCESS;
2419 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r)
2421 if (ndr_flags & NDR_SCALARS) {
2422 NDR_CHECK(ndr_push_align(ndr, 8));
2423 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2424 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2425 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2426 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2427 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2428 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2429 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2430 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55));
2433 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2436 if (ndr_flags & NDR_BUFFERS) {
2437 if (r->naming_context) {
2438 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2440 if (r->uptodateness_vector) {
2441 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2443 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2444 if (r->first_object) {
2445 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2448 return NDR_ERR_SUCCESS;
2451 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r)
2453 uint32_t _ptr_naming_context;
2454 TALLOC_CTX *_mem_save_naming_context_0;
2455 uint32_t _ptr_uptodateness_vector;
2456 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2457 uint32_t _ptr_first_object;
2458 TALLOC_CTX *_mem_save_first_object_0;
2459 if (ndr_flags & NDR_SCALARS) {
2460 NDR_CHECK(ndr_pull_align(ndr, 8));
2461 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2462 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2463 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2464 if (_ptr_naming_context) {
2465 NDR_PULL_ALLOC(ndr, r->naming_context);
2466 } else {
2467 r->naming_context = NULL;
2469 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2470 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2471 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2472 if (_ptr_uptodateness_vector) {
2473 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2474 } else {
2475 r->uptodateness_vector = NULL;
2477 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2478 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2479 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2480 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2481 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2482 if (_ptr_first_object) {
2483 NDR_PULL_ALLOC(ndr, r->first_object);
2484 } else {
2485 r->first_object = NULL;
2487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2489 if (ndr_flags & NDR_BUFFERS) {
2490 if (r->naming_context) {
2491 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2492 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2493 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2496 if (r->uptodateness_vector) {
2497 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2498 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2499 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2502 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2503 if (r->first_object) {
2504 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2505 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2506 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2510 return NDR_ERR_SUCCESS;
2513 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r)
2515 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1");
2516 ndr->depth++;
2517 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2518 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2519 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2520 ndr->depth++;
2521 if (r->naming_context) {
2522 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2524 ndr->depth--;
2525 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2526 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2527 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2528 ndr->depth++;
2529 if (r->uptodateness_vector) {
2530 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2532 ndr->depth--;
2533 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2534 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2535 ndr_print_uint32(ndr, "object_count", r->object_count);
2536 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);
2537 ndr_print_ptr(ndr, "first_object", r->first_object);
2538 ndr->depth++;
2539 if (r->first_object) {
2540 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2542 ndr->depth--;
2543 ndr_print_uint32(ndr, "more_data", r->more_data);
2544 ndr->depth--;
2547 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags)
2549 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic);
2552 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2554 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2555 return NDR_ERR_SUCCESS;
2558 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2560 uint32_t v;
2561 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2562 *r = v;
2563 return NDR_ERR_SUCCESS;
2566 _PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r)
2568 ndr_print_uint32(ndr, name, r);
2569 ndr->depth++;
2570 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r);
2571 ndr->depth--;
2574 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r)
2576 if (ndr_flags & NDR_SCALARS) {
2577 NDR_CHECK(ndr_push_align(ndr, 8));
2578 NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier));
2579 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
2580 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2581 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags));
2582 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time));
2583 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2585 if (ndr_flags & NDR_BUFFERS) {
2586 if (r->identifier) {
2587 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2589 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2591 return NDR_ERR_SUCCESS;
2594 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r)
2596 uint32_t _ptr_identifier;
2597 TALLOC_CTX *_mem_save_identifier_0;
2598 if (ndr_flags & NDR_SCALARS) {
2599 NDR_CHECK(ndr_pull_align(ndr, 8));
2600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier));
2601 if (_ptr_identifier) {
2602 NDR_PULL_ALLOC(ndr, r->identifier);
2603 } else {
2604 r->identifier = NULL;
2606 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
2607 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value));
2608 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags));
2609 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time));
2610 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data));
2612 if (ndr_flags & NDR_BUFFERS) {
2613 if (r->identifier) {
2614 _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
2615 NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0);
2616 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier));
2617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0);
2619 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value));
2621 return NDR_ERR_SUCCESS;
2624 _PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r)
2626 ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute");
2627 ndr->depth++;
2628 ndr_print_ptr(ndr, "identifier", r->identifier);
2629 ndr->depth++;
2630 if (r->identifier) {
2631 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier);
2633 ndr->depth--;
2634 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
2635 ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value);
2636 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags);
2637 ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time);
2638 ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data);
2639 ndr->depth--;
2642 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r)
2644 uint32_t cntr_linked_attributes_1;
2645 if (ndr_flags & NDR_SCALARS) {
2646 NDR_CHECK(ndr_push_align(ndr, 8));
2647 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2648 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2649 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
2650 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2651 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2652 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector));
2653 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2654 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret));
2655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count));
2656 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55));
2657 NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object));
2658 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data));
2659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count));
2660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count));
2661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2662 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes));
2663 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error));
2665 if (ndr_flags & NDR_BUFFERS) {
2666 if (r->naming_context) {
2667 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2669 if (r->uptodateness_vector) {
2670 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2672 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2673 if (r->first_object) {
2674 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2676 if (r->linked_attributes) {
2677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count));
2678 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2679 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2681 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) {
2682 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2686 return NDR_ERR_SUCCESS;
2689 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r)
2691 uint32_t _ptr_naming_context;
2692 TALLOC_CTX *_mem_save_naming_context_0;
2693 uint32_t _ptr_uptodateness_vector;
2694 TALLOC_CTX *_mem_save_uptodateness_vector_0;
2695 uint32_t _ptr_first_object;
2696 TALLOC_CTX *_mem_save_first_object_0;
2697 uint32_t _ptr_linked_attributes;
2698 uint32_t size_linked_attributes_1 = 0;
2699 uint32_t cntr_linked_attributes_1;
2700 TALLOC_CTX *_mem_save_linked_attributes_0;
2701 TALLOC_CTX *_mem_save_linked_attributes_1;
2702 if (ndr_flags & NDR_SCALARS) {
2703 NDR_CHECK(ndr_pull_align(ndr, 8));
2704 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
2705 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
2706 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
2707 if (_ptr_naming_context) {
2708 NDR_PULL_ALLOC(ndr, r->naming_context);
2709 } else {
2710 r->naming_context = NULL;
2712 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark));
2713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark));
2714 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector));
2715 if (_ptr_uptodateness_vector) {
2716 NDR_PULL_ALLOC(ndr, r->uptodateness_vector);
2717 } else {
2718 r->uptodateness_vector = NULL;
2720 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr));
2721 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret));
2722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count));
2723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size));
2724 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object));
2725 if (_ptr_first_object) {
2726 NDR_PULL_ALLOC(ndr, r->first_object);
2727 } else {
2728 r->first_object = NULL;
2730 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data));
2731 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count));
2732 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count));
2733 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count));
2734 if (r->linked_attributes_count > 1048576) {
2735 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2737 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes));
2738 if (_ptr_linked_attributes) {
2739 NDR_PULL_ALLOC(ndr, r->linked_attributes);
2740 } else {
2741 r->linked_attributes = NULL;
2743 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error));
2745 if (ndr_flags & NDR_BUFFERS) {
2746 if (r->naming_context) {
2747 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
2748 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
2749 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
2750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
2752 if (r->uptodateness_vector) {
2753 _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr);
2754 NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0);
2755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector));
2756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0);
2758 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr));
2759 if (r->first_object) {
2760 _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2761 NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0);
2762 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object));
2763 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0);
2765 if (r->linked_attributes) {
2766 _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
2767 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
2768 NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes));
2769 size_linked_attributes_1 = ndr_get_array_size(ndr, &r->linked_attributes);
2770 NDR_PULL_ALLOC_N(ndr, r->linked_attributes, size_linked_attributes_1);
2771 _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
2772 NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0);
2773 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < size_linked_attributes_1; cntr_linked_attributes_1++) {
2774 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1]));
2776 for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < size_linked_attributes_1; cntr_linked_attributes_1++) {
2777 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1]));
2779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0);
2780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0);
2782 if (r->linked_attributes) {
2783 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count));
2786 return NDR_ERR_SUCCESS;
2789 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r)
2791 uint32_t cntr_linked_attributes_1;
2792 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6");
2793 ndr->depth++;
2794 ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
2795 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
2796 ndr_print_ptr(ndr, "naming_context", r->naming_context);
2797 ndr->depth++;
2798 if (r->naming_context) {
2799 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
2801 ndr->depth--;
2802 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark);
2803 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark);
2804 ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector);
2805 ndr->depth++;
2806 if (r->uptodateness_vector) {
2807 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector);
2809 ndr->depth--;
2810 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr);
2811 ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret);
2812 ndr_print_uint32(ndr, "object_count", r->object_count);
2813 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);
2814 ndr_print_ptr(ndr, "first_object", r->first_object);
2815 ndr->depth++;
2816 if (r->first_object) {
2817 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object);
2819 ndr->depth--;
2820 ndr_print_uint32(ndr, "more_data", r->more_data);
2821 ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count);
2822 ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count);
2823 ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count);
2824 ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes);
2825 ndr->depth++;
2826 if (r->linked_attributes) {
2827 ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count);
2828 ndr->depth++;
2829 for (cntr_linked_attributes_1=0;cntr_linked_attributes_1<r->linked_attributes_count;cntr_linked_attributes_1++) {
2830 char *idx_1=NULL;
2831 if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) {
2832 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]);
2833 free(idx_1);
2836 ndr->depth--;
2838 ndr->depth--;
2839 ndr_print_WERROR(ndr, "drs_error", r->drs_error);
2840 ndr->depth--;
2843 _PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags)
2845 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic);
2848 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r)
2850 if (ndr_flags & NDR_SCALARS) {
2851 NDR_CHECK(ndr_push_align(ndr, 1));
2853 struct ndr_push *_ndr_ctr1;
2854 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
2855 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
2856 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
2859 if (ndr_flags & NDR_BUFFERS) {
2861 return NDR_ERR_SUCCESS;
2864 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r)
2866 if (ndr_flags & NDR_SCALARS) {
2867 NDR_CHECK(ndr_pull_align(ndr, 1));
2869 struct ndr_pull *_ndr_ctr1;
2870 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1));
2871 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1));
2872 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1));
2875 if (ndr_flags & NDR_BUFFERS) {
2877 return NDR_ERR_SUCCESS;
2880 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r)
2882 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS");
2883 ndr->depth++;
2884 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
2885 ndr->depth--;
2888 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r)
2890 if (ndr_flags & NDR_SCALARS) {
2891 NDR_CHECK(ndr_push_align(ndr, 1));
2893 struct ndr_push *_ndr_ctr6;
2894 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
2895 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
2896 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
2899 if (ndr_flags & NDR_BUFFERS) {
2901 return NDR_ERR_SUCCESS;
2904 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r)
2906 if (ndr_flags & NDR_SCALARS) {
2907 NDR_CHECK(ndr_pull_align(ndr, 1));
2909 struct ndr_pull *_ndr_ctr6;
2910 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1));
2911 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6));
2912 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1));
2915 if (ndr_flags & NDR_BUFFERS) {
2917 return NDR_ERR_SUCCESS;
2920 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r)
2922 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS");
2923 ndr->depth++;
2924 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
2925 ndr->depth--;
2928 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
2930 uint32_t _ptr_ts;
2931 TALLOC_CTX *_mem_save_ts_0;
2932 if (ndr_flags & NDR_SCALARS) {
2933 NDR_CHECK(ndr_pull_align(ndr, 4));
2934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
2935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
2936 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
2937 if (_ptr_ts) {
2938 NDR_PULL_ALLOC(ndr, r->ts);
2939 } else {
2940 r->ts = NULL;
2943 if (ndr_flags & NDR_BUFFERS) {
2944 if (r->ts) {
2945 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
2946 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
2948 struct ndr_pull *_ndr_ts;
2949 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
2951 struct ndr_pull *_ndr_ts_compressed;
2952 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2953 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
2954 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
2956 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
2958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
2961 return NDR_ERR_SUCCESS;
2964 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r)
2966 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1");
2967 ndr->depth++;
2968 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
2969 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
2970 ndr_print_ptr(ndr, "ts", r->ts);
2971 ndr->depth++;
2972 if (r->ts) {
2973 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
2975 ndr->depth--;
2976 ndr->depth--;
2979 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
2981 uint32_t _ptr_ts;
2982 TALLOC_CTX *_mem_save_ts_0;
2983 if (ndr_flags & NDR_SCALARS) {
2984 NDR_CHECK(ndr_pull_align(ndr, 4));
2985 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
2986 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
2987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
2988 if (_ptr_ts) {
2989 NDR_PULL_ALLOC(ndr, r->ts);
2990 } else {
2991 r->ts = NULL;
2994 if (ndr_flags & NDR_BUFFERS) {
2995 if (r->ts) {
2996 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
2997 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
2999 struct ndr_pull *_ndr_ts;
3000 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3002 struct ndr_pull *_ndr_ts_compressed;
3003 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3004 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3005 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length));
3007 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3009 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3012 return NDR_ERR_SUCCESS;
3015 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r)
3017 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6");
3018 ndr->depth++;
3019 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3020 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3021 ndr_print_ptr(ndr, "ts", r->ts);
3022 ndr->depth++;
3023 if (r->ts) {
3024 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3026 ndr->depth--;
3027 ndr->depth--;
3030 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3032 uint32_t _ptr_ts;
3033 TALLOC_CTX *_mem_save_ts_0;
3034 if (ndr_flags & NDR_SCALARS) {
3035 NDR_CHECK(ndr_pull_align(ndr, 4));
3036 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3037 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3038 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3039 if (_ptr_ts) {
3040 NDR_PULL_ALLOC(ndr, r->ts);
3041 } else {
3042 r->ts = NULL;
3045 if (ndr_flags & NDR_BUFFERS) {
3046 if (r->ts) {
3047 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3048 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3050 struct ndr_pull *_ndr_ts;
3051 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3053 struct ndr_pull *_ndr_ts_compressed;
3054 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3055 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3056 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3058 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3063 return NDR_ERR_SUCCESS;
3066 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r)
3068 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1");
3069 ndr->depth++;
3070 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3071 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3072 ndr_print_ptr(ndr, "ts", r->ts);
3073 ndr->depth++;
3074 if (r->ts) {
3075 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts);
3077 ndr->depth--;
3078 ndr->depth--;
3081 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3083 uint32_t _ptr_ts;
3084 TALLOC_CTX *_mem_save_ts_0;
3085 if (ndr_flags & NDR_SCALARS) {
3086 NDR_CHECK(ndr_pull_align(ndr, 4));
3087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length));
3088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length));
3089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts));
3090 if (_ptr_ts) {
3091 NDR_PULL_ALLOC(ndr, r->ts);
3092 } else {
3093 r->ts = NULL;
3096 if (ndr_flags & NDR_BUFFERS) {
3097 if (r->ts) {
3098 _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr);
3099 NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0);
3101 struct ndr_pull *_ndr_ts;
3102 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length));
3104 struct ndr_pull *_ndr_ts_compressed;
3105 NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3106 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
3107 NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length));
3109 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length));
3111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0);
3114 return NDR_ERR_SUCCESS;
3117 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r)
3119 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6");
3120 ndr->depth++;
3121 ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length);
3122 ndr_print_uint32(ndr, "compressed_length", r->compressed_length);
3123 ndr_print_ptr(ndr, "ts", r->ts);
3124 ndr->depth++;
3125 if (r->ts) {
3126 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts);
3128 ndr->depth--;
3129 ndr->depth--;
3132 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r)
3134 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3135 return NDR_ERR_SUCCESS;
3138 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r)
3140 uint16_t v;
3141 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3142 *r = v;
3143 return NDR_ERR_SUCCESS;
3146 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r)
3148 const char *val = NULL;
3150 switch (r) {
3151 case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3152 case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3154 ndr_print_enum(ndr, name, "ENUM", val, r);
3157 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3160 uint32_t _flags_save_UNION = ndr->flags;
3161 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3162 if (ndr_flags & NDR_SCALARS) {
3163 int level = ndr_push_get_switch_value(ndr, r);
3164 switch (level) {
3165 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3166 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3167 break; }
3169 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3170 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3171 break; }
3173 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3174 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3175 break; }
3177 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3178 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3179 break; }
3181 default:
3182 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3185 if (ndr_flags & NDR_BUFFERS) {
3186 int level = ndr_push_get_switch_value(ndr, r);
3187 switch (level) {
3188 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3189 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3190 break;
3192 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3193 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3194 break;
3196 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3197 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3198 break;
3200 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3201 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3202 break;
3204 default:
3205 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3208 ndr->flags = _flags_save_UNION;
3210 return NDR_ERR_SUCCESS;
3213 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r)
3215 int level;
3217 uint32_t _flags_save_UNION = ndr->flags;
3218 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3219 level = ndr_pull_get_switch_value(ndr, r);
3220 if (ndr_flags & NDR_SCALARS) {
3221 switch (level) {
3222 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3223 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3224 break; }
3226 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): {
3227 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6));
3228 break; }
3230 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3231 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1));
3232 break; }
3234 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): {
3235 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6));
3236 break; }
3238 default:
3239 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3242 if (ndr_flags & NDR_BUFFERS) {
3243 switch (level) {
3244 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3245 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3246 break;
3248 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3249 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6));
3250 break;
3252 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3253 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1));
3254 break;
3256 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3257 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6));
3258 break;
3260 default:
3261 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3264 ndr->flags = _flags_save_UNION;
3266 return NDR_ERR_SUCCESS;
3269 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r)
3271 int level;
3273 uint32_t _flags_save_UNION = ndr->flags;
3274 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3275 level = ndr_print_get_switch_value(ndr, r);
3276 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr");
3277 switch (level) {
3278 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3279 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3280 break;
3282 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16):
3283 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6);
3284 break;
3286 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3287 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1);
3288 break;
3290 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16):
3291 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6);
3292 break;
3294 default:
3295 ndr_print_bad_level(ndr, name, level);
3297 ndr->flags = _flags_save_UNION;
3301 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r)
3303 if (ndr_flags & NDR_SCALARS) {
3304 NDR_CHECK(ndr_push_align(ndr, 4));
3305 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3307 if (ndr_flags & NDR_BUFFERS) {
3308 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3310 return NDR_ERR_SUCCESS;
3313 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r)
3315 if (ndr_flags & NDR_SCALARS) {
3316 NDR_CHECK(ndr_pull_align(ndr, 4));
3317 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1));
3319 if (ndr_flags & NDR_BUFFERS) {
3320 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1));
3322 return NDR_ERR_SUCCESS;
3325 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r)
3327 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2");
3328 ndr->depth++;
3329 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1);
3330 ndr->depth--;
3333 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r)
3335 if (ndr_flags & NDR_SCALARS) {
3336 NDR_CHECK(ndr_push_align(ndr, 4));
3337 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
3338 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type));
3339 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3340 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3342 if (ndr_flags & NDR_BUFFERS) {
3343 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3345 return NDR_ERR_SUCCESS;
3348 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r)
3350 if (ndr_flags & NDR_SCALARS) {
3351 NDR_CHECK(ndr_pull_align(ndr, 4));
3352 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
3353 if (r->level < 0 || r->level > 6) {
3354 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3356 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type));
3357 if (r->type < 2 || r->type > 3) {
3358 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3360 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)));
3361 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr));
3363 if (ndr_flags & NDR_BUFFERS) {
3364 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr));
3366 return NDR_ERR_SUCCESS;
3369 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r)
3371 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7");
3372 ndr->depth++;
3373 ndr_print_int32(ndr, "level", r->level);
3374 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type);
3375 ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16));
3376 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr);
3377 ndr->depth--;
3380 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r)
3382 if (ndr_flags & NDR_SCALARS) {
3383 int level = ndr_push_get_switch_value(ndr, r);
3384 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3385 switch (level) {
3386 case 1: {
3387 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3388 break; }
3390 case 2: {
3391 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3392 break; }
3394 case 6: {
3395 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3396 break; }
3398 case 7: {
3399 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3400 break; }
3402 default:
3403 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3406 if (ndr_flags & NDR_BUFFERS) {
3407 int level = ndr_push_get_switch_value(ndr, r);
3408 switch (level) {
3409 case 1:
3410 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3411 break;
3413 case 2:
3414 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3415 break;
3417 case 6:
3418 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3419 break;
3421 case 7:
3422 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3423 break;
3425 default:
3426 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3429 return NDR_ERR_SUCCESS;
3432 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r)
3434 int level;
3435 int32_t _level;
3436 level = ndr_pull_get_switch_value(ndr, r);
3437 if (ndr_flags & NDR_SCALARS) {
3438 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3439 if (_level != level) {
3440 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3442 switch (level) {
3443 case 1: {
3444 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1));
3445 break; }
3447 case 2: {
3448 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2));
3449 break; }
3451 case 6: {
3452 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6));
3453 break; }
3455 case 7: {
3456 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7));
3457 break; }
3459 default:
3460 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3463 if (ndr_flags & NDR_BUFFERS) {
3464 switch (level) {
3465 case 1:
3466 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1));
3467 break;
3469 case 2:
3470 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2));
3471 break;
3473 case 6:
3474 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6));
3475 break;
3477 case 7:
3478 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7));
3479 break;
3481 default:
3482 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3485 return NDR_ERR_SUCCESS;
3488 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r)
3490 int level;
3491 level = ndr_print_get_switch_value(ndr, r);
3492 ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr");
3493 switch (level) {
3494 case 1:
3495 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1);
3496 break;
3498 case 2:
3499 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2);
3500 break;
3502 case 6:
3503 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6);
3504 break;
3506 case 7:
3507 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7);
3508 break;
3510 default:
3511 ndr_print_bad_level(ndr, name, level);
3515 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3518 return NDR_ERR_SUCCESS;
3521 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3523 uint32_t v;
3524 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3525 *r = v;
3526 return NDR_ERR_SUCCESS;
3529 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3531 ndr_print_uint32(ndr, name, r);
3532 ndr->depth++;
3533 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
3534 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
3535 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
3536 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
3537 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_0x00000010", DRSUAPI_DS_REPLICA_UPDATE_0x00000010, r);
3538 ndr->depth--;
3541 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3543 if (ndr_flags & NDR_SCALARS) {
3544 NDR_CHECK(ndr_push_align(ndr, 4));
3545 if (r->naming_context == NULL) {
3546 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3548 NDR_CHECK(ndr_push_ref_ptr(ndr));
3549 if (r->dest_dsa_dns_name == NULL) {
3550 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3552 NDR_CHECK(ndr_push_ref_ptr(ndr));
3553 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3554 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
3556 if (ndr_flags & NDR_BUFFERS) {
3557 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS)));
3561 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));
3563 return NDR_ERR_SUCCESS;
3566 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3568 uint32_t _ptr_naming_context;
3569 TALLOC_CTX *_mem_save_naming_context_0;
3570 uint32_t _ptr_dest_dsa_dns_name;
3571 uint32_t size_dest_dsa_dns_name_1 = 0;
3572 uint32_t length_dest_dsa_dns_name_1 = 0;
3573 if (ndr_flags & NDR_SCALARS) {
3574 NDR_CHECK(ndr_pull_align(ndr, 4));
3575 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
3576 if (_ptr_naming_context) {
3577 NDR_PULL_ALLOC(ndr, r->naming_context);
3578 } else {
3579 r->naming_context = NULL;
3581 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name));
3582 if (_ptr_dest_dsa_dns_name) {
3583 NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name);
3584 } else {
3585 r->dest_dsa_dns_name = NULL;
3587 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
3588 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
3590 if (ndr_flags & NDR_BUFFERS) {
3591 _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
3592 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
3593 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
3594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
3595 NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name));
3596 NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name));
3597 size_dest_dsa_dns_name_1 = ndr_get_array_size(ndr, &r->dest_dsa_dns_name);
3598 length_dest_dsa_dns_name_1 = ndr_get_array_length(ndr, &r->dest_dsa_dns_name);
3599 if (length_dest_dsa_dns_name_1 > size_dest_dsa_dns_name_1) {
3600 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dest_dsa_dns_name_1, length_dest_dsa_dns_name_1);
3602 NDR_CHECK(ndr_check_string_terminator(ndr, length_dest_dsa_dns_name_1, sizeof(uint8_t)));
3603 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, length_dest_dsa_dns_name_1, sizeof(uint8_t), CH_DOS));
3605 return NDR_ERR_SUCCESS;
3608 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
3610 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1");
3611 ndr->depth++;
3612 ndr_print_ptr(ndr, "naming_context", r->naming_context);
3613 ndr->depth++;
3614 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
3615 ndr->depth--;
3616 ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3617 ndr->depth++;
3618 ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
3619 ndr->depth--;
3620 ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
3621 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
3622 ndr->depth--;
3625 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3627 if (ndr_flags & NDR_SCALARS) {
3628 int level = ndr_push_get_switch_value(ndr, r);
3629 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
3630 switch (level) {
3631 case 1: {
3632 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3633 break; }
3635 default:
3636 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3639 if (ndr_flags & NDR_BUFFERS) {
3640 int level = ndr_push_get_switch_value(ndr, r);
3641 switch (level) {
3642 case 1:
3643 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3644 break;
3646 default:
3647 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3650 return NDR_ERR_SUCCESS;
3653 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r)
3655 int level;
3656 int32_t _level;
3657 level = ndr_pull_get_switch_value(ndr, r);
3658 if (ndr_flags & NDR_SCALARS) {
3659 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
3660 if (_level != level) {
3661 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3663 switch (level) {
3664 case 1: {
3665 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1));
3666 break; }
3668 default:
3669 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3672 if (ndr_flags & NDR_BUFFERS) {
3673 switch (level) {
3674 case 1:
3675 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1));
3676 break;
3678 default:
3679 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3682 return NDR_ERR_SUCCESS;
3685 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r)
3687 int level;
3688 level = ndr_print_get_switch_value(ndr, r);
3689 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest");
3690 switch (level) {
3691 case 1:
3692 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1);
3693 break;
3695 default:
3696 ndr_print_bad_level(ndr, name, level);
3700 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3702 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3703 return NDR_ERR_SUCCESS;
3706 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3708 uint32_t v;
3709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3710 *r = v;
3711 return NDR_ERR_SUCCESS;
3714 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3716 ndr_print_uint32(ndr, name, r);
3717 ndr->depth++;
3718 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
3719 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
3720 ndr->depth--;
3723 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3726 return NDR_ERR_SUCCESS;
3729 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3731 uint32_t v;
3732 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3733 *r = v;
3734 return NDR_ERR_SUCCESS;
3737 _PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3739 ndr_print_uint32(ndr, name, r);
3740 ndr->depth++;
3741 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION, r);
3742 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_DELETE_WRITEABLE", DRSUAPI_DS_REPLICA_DELETE_WRITEABLE, r);
3743 ndr->depth--;
3746 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
3748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3749 return NDR_ERR_SUCCESS;
3752 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
3754 uint32_t v;
3755 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3756 *r = v;
3757 return NDR_ERR_SUCCESS;
3760 _PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
3762 ndr_print_uint32(ndr, name, r);
3763 ndr->depth++;
3764 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION, r);
3765 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE", DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE, r);
3766 ndr->depth--;
3769 static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r)
3771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3772 return NDR_ERR_SUCCESS;
3775 static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r)
3777 uint32_t v;
3778 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3779 *r = v;
3780 return NDR_ERR_SUCCESS;
3783 _PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r)
3785 const char *val = NULL;
3787 switch (r) {
3788 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
3789 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
3790 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
3791 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
3792 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
3793 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
3794 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
3796 ndr_print_enum(ndr, name, "ENUM", val, r);
3799 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r)
3801 uint32_t cntr_info_array_1;
3802 uint32_t cntr_group_attrs_1;
3803 uint32_t cntr_sids_1;
3804 if (ndr_flags & NDR_SCALARS) {
3805 NDR_CHECK(ndr_push_align(ndr, 4));
3806 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
3807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
3808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
3809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
3810 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs));
3811 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
3813 if (ndr_flags & NDR_BUFFERS) {
3814 if (r->info_array) {
3815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
3816 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
3817 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
3819 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) {
3820 if (r->info_array[cntr_info_array_1]) {
3821 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
3825 if (r->group_attrs) {
3826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships));
3827 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) {
3828 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1]));
3831 if (r->sids) {
3832 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
3833 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
3834 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1]));
3836 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
3837 if (r->sids[cntr_sids_1]) {
3838 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
3843 return NDR_ERR_SUCCESS;
3846 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r)
3848 uint32_t _ptr_info_array;
3849 uint32_t size_info_array_1 = 0;
3850 uint32_t cntr_info_array_1;
3851 TALLOC_CTX *_mem_save_info_array_0;
3852 TALLOC_CTX *_mem_save_info_array_1;
3853 TALLOC_CTX *_mem_save_info_array_2;
3854 uint32_t _ptr_group_attrs;
3855 uint32_t size_group_attrs_1 = 0;
3856 uint32_t cntr_group_attrs_1;
3857 TALLOC_CTX *_mem_save_group_attrs_0;
3858 TALLOC_CTX *_mem_save_group_attrs_1;
3859 uint32_t _ptr_sids;
3860 uint32_t size_sids_1 = 0;
3861 uint32_t cntr_sids_1;
3862 TALLOC_CTX *_mem_save_sids_0;
3863 TALLOC_CTX *_mem_save_sids_1;
3864 TALLOC_CTX *_mem_save_sids_2;
3865 if (ndr_flags & NDR_SCALARS) {
3866 NDR_CHECK(ndr_pull_align(ndr, 4));
3867 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
3868 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships));
3869 if (r->num_memberships > 10000) {
3870 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3872 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
3873 if (r->num_sids > 10000) {
3874 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
3876 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
3877 if (_ptr_info_array) {
3878 NDR_PULL_ALLOC(ndr, r->info_array);
3879 } else {
3880 r->info_array = NULL;
3882 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs));
3883 if (_ptr_group_attrs) {
3884 NDR_PULL_ALLOC(ndr, r->group_attrs);
3885 } else {
3886 r->group_attrs = NULL;
3888 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
3889 if (_ptr_sids) {
3890 NDR_PULL_ALLOC(ndr, r->sids);
3891 } else {
3892 r->sids = NULL;
3895 if (ndr_flags & NDR_BUFFERS) {
3896 if (r->info_array) {
3897 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
3898 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
3899 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
3900 size_info_array_1 = ndr_get_array_size(ndr, &r->info_array);
3901 NDR_PULL_ALLOC_N(ndr, r->info_array, size_info_array_1);
3902 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
3903 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
3904 for (cntr_info_array_1 = 0; cntr_info_array_1 < size_info_array_1; cntr_info_array_1++) {
3905 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
3906 if (_ptr_info_array) {
3907 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
3908 } else {
3909 r->info_array[cntr_info_array_1] = NULL;
3912 for (cntr_info_array_1 = 0; cntr_info_array_1 < size_info_array_1; cntr_info_array_1++) {
3913 if (r->info_array[cntr_info_array_1]) {
3914 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
3915 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
3916 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
3917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
3920 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
3921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
3923 if (r->group_attrs) {
3924 _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr);
3925 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
3926 NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs));
3927 size_group_attrs_1 = ndr_get_array_size(ndr, &r->group_attrs);
3928 NDR_PULL_ALLOC_N(ndr, r->group_attrs, size_group_attrs_1);
3929 _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr);
3930 NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0);
3931 for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < size_group_attrs_1; cntr_group_attrs_1++) {
3932 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1]));
3934 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0);
3935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0);
3937 if (r->sids) {
3938 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
3939 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
3940 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
3941 size_sids_1 = ndr_get_array_size(ndr, &r->sids);
3942 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
3943 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
3944 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
3945 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
3946 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
3947 if (_ptr_sids) {
3948 NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]);
3949 } else {
3950 r->sids[cntr_sids_1] = NULL;
3953 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
3954 if (r->sids[cntr_sids_1]) {
3955 _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr);
3956 NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0);
3957 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1]));
3958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0);
3961 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
3962 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
3964 if (r->info_array) {
3965 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships));
3967 if (r->group_attrs) {
3968 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships));
3970 if (r->sids) {
3971 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
3974 return NDR_ERR_SUCCESS;
3977 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r)
3979 uint32_t cntr_info_array_1;
3980 uint32_t cntr_group_attrs_1;
3981 uint32_t cntr_sids_1;
3982 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1");
3983 ndr->depth++;
3984 ndr_print_NTSTATUS(ndr, "status", r->status);
3985 ndr_print_uint32(ndr, "num_memberships", r->num_memberships);
3986 ndr_print_uint32(ndr, "num_sids", r->num_sids);
3987 ndr_print_ptr(ndr, "info_array", r->info_array);
3988 ndr->depth++;
3989 if (r->info_array) {
3990 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships);
3991 ndr->depth++;
3992 for (cntr_info_array_1=0;cntr_info_array_1<r->num_memberships;cntr_info_array_1++) {
3993 char *idx_1=NULL;
3994 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
3995 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
3996 ndr->depth++;
3997 if (r->info_array[cntr_info_array_1]) {
3998 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4000 ndr->depth--;
4001 free(idx_1);
4004 ndr->depth--;
4006 ndr->depth--;
4007 ndr_print_ptr(ndr, "group_attrs", r->group_attrs);
4008 ndr->depth++;
4009 if (r->group_attrs) {
4010 ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships);
4011 ndr->depth++;
4012 for (cntr_group_attrs_1=0;cntr_group_attrs_1<r->num_memberships;cntr_group_attrs_1++) {
4013 char *idx_1=NULL;
4014 if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) {
4015 ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]);
4016 free(idx_1);
4019 ndr->depth--;
4021 ndr->depth--;
4022 ndr_print_ptr(ndr, "sids", r->sids);
4023 ndr->depth++;
4024 if (r->sids) {
4025 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
4026 ndr->depth++;
4027 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
4028 char *idx_1=NULL;
4029 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4030 ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]);
4031 ndr->depth++;
4032 if (r->sids[cntr_sids_1]) {
4033 ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]);
4035 ndr->depth--;
4036 free(idx_1);
4039 ndr->depth--;
4041 ndr->depth--;
4042 ndr->depth--;
4045 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r)
4047 if (ndr_flags & NDR_SCALARS) {
4048 int level = ndr_push_get_switch_value(ndr, r);
4049 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4050 switch (level) {
4051 case 1: {
4052 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4053 break; }
4055 default:
4056 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4059 if (ndr_flags & NDR_BUFFERS) {
4060 int level = ndr_push_get_switch_value(ndr, r);
4061 switch (level) {
4062 case 1:
4063 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4064 break;
4066 default:
4067 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4070 return NDR_ERR_SUCCESS;
4073 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r)
4075 int level;
4076 int32_t _level;
4077 level = ndr_pull_get_switch_value(ndr, r);
4078 if (ndr_flags & NDR_SCALARS) {
4079 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4080 if (_level != level) {
4081 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4083 switch (level) {
4084 case 1: {
4085 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
4086 break; }
4088 default:
4089 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4092 if (ndr_flags & NDR_BUFFERS) {
4093 switch (level) {
4094 case 1:
4095 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
4096 break;
4098 default:
4099 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4102 return NDR_ERR_SUCCESS;
4105 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r)
4107 int level;
4108 level = ndr_print_get_switch_value(ndr, r);
4109 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr");
4110 switch (level) {
4111 case 1:
4112 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
4113 break;
4115 default:
4116 ndr_print_bad_level(ndr, name, level);
4120 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r)
4122 uint32_t cntr_info_array_1;
4123 if (ndr_flags & NDR_SCALARS) {
4124 NDR_CHECK(ndr_push_align(ndr, 4));
4125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4126 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array));
4127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4128 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type));
4129 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4131 if (ndr_flags & NDR_BUFFERS) {
4132 if (r->info_array) {
4133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4134 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4135 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1]));
4137 for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) {
4138 if (r->info_array[cntr_info_array_1]) {
4139 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4143 if (r->domain) {
4144 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4147 return NDR_ERR_SUCCESS;
4150 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r)
4152 uint32_t _ptr_info_array;
4153 uint32_t size_info_array_1 = 0;
4154 uint32_t cntr_info_array_1;
4155 TALLOC_CTX *_mem_save_info_array_0;
4156 TALLOC_CTX *_mem_save_info_array_1;
4157 TALLOC_CTX *_mem_save_info_array_2;
4158 uint32_t _ptr_domain;
4159 TALLOC_CTX *_mem_save_domain_0;
4160 if (ndr_flags & NDR_SCALARS) {
4161 NDR_CHECK(ndr_pull_align(ndr, 4));
4162 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4163 if (r->count < 1 || r->count > 10000) {
4164 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4167 if (_ptr_info_array) {
4168 NDR_PULL_ALLOC(ndr, r->info_array);
4169 } else {
4170 r->info_array = NULL;
4172 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4173 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
4174 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4175 if (_ptr_domain) {
4176 NDR_PULL_ALLOC(ndr, r->domain);
4177 } else {
4178 r->domain = NULL;
4181 if (ndr_flags & NDR_BUFFERS) {
4182 if (r->info_array) {
4183 _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
4184 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4185 NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array));
4186 size_info_array_1 = ndr_get_array_size(ndr, &r->info_array);
4187 NDR_PULL_ALLOC_N(ndr, r->info_array, size_info_array_1);
4188 _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
4189 NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0);
4190 for (cntr_info_array_1 = 0; cntr_info_array_1 < size_info_array_1; cntr_info_array_1++) {
4191 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array));
4192 if (_ptr_info_array) {
4193 NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]);
4194 } else {
4195 r->info_array[cntr_info_array_1] = NULL;
4198 for (cntr_info_array_1 = 0; cntr_info_array_1 < size_info_array_1; cntr_info_array_1++) {
4199 if (r->info_array[cntr_info_array_1]) {
4200 _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
4201 NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0);
4202 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1]));
4203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0);
4206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0);
4207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0);
4209 if (r->domain) {
4210 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4211 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4212 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4215 if (r->info_array) {
4216 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count));
4219 return NDR_ERR_SUCCESS;
4222 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r)
4224 uint32_t cntr_info_array_1;
4225 ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1");
4226 ndr->depth++;
4227 ndr_print_uint32(ndr, "count", r->count);
4228 ndr_print_ptr(ndr, "info_array", r->info_array);
4229 ndr->depth++;
4230 if (r->info_array) {
4231 ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count);
4232 ndr->depth++;
4233 for (cntr_info_array_1=0;cntr_info_array_1<r->count;cntr_info_array_1++) {
4234 char *idx_1=NULL;
4235 if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) {
4236 ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]);
4237 ndr->depth++;
4238 if (r->info_array[cntr_info_array_1]) {
4239 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]);
4241 ndr->depth--;
4242 free(idx_1);
4245 ndr->depth--;
4247 ndr->depth--;
4248 ndr_print_uint32(ndr, "flags", r->flags);
4249 ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type);
4250 ndr_print_ptr(ndr, "domain", r->domain);
4251 ndr->depth++;
4252 if (r->domain) {
4253 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain);
4255 ndr->depth--;
4256 ndr->depth--;
4259 static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r)
4261 if (ndr_flags & NDR_SCALARS) {
4262 int level = ndr_push_get_switch_value(ndr, r);
4263 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4264 switch (level) {
4265 case 1: {
4266 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
4267 break; }
4269 default:
4270 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4273 if (ndr_flags & NDR_BUFFERS) {
4274 int level = ndr_push_get_switch_value(ndr, r);
4275 switch (level) {
4276 case 1:
4277 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
4278 break;
4280 default:
4281 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4284 return NDR_ERR_SUCCESS;
4287 static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r)
4289 int level;
4290 int32_t _level;
4291 level = ndr_pull_get_switch_value(ndr, r);
4292 if (ndr_flags & NDR_SCALARS) {
4293 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4294 if (_level != level) {
4295 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4297 switch (level) {
4298 case 1: {
4299 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1));
4300 break; }
4302 default:
4303 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4306 if (ndr_flags & NDR_BUFFERS) {
4307 switch (level) {
4308 case 1:
4309 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1));
4310 break;
4312 default:
4313 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4316 return NDR_ERR_SUCCESS;
4319 _PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r)
4321 int level;
4322 level = ndr_print_get_switch_value(ndr, r);
4323 ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest");
4324 switch (level) {
4325 case 1:
4326 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1);
4327 break;
4329 default:
4330 ndr_print_bad_level(ndr, name, level);
4334 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
4336 if (ndr_flags & NDR_SCALARS) {
4337 NDR_CHECK(ndr_push_align(ndr, 4));
4338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
4339 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4340 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4341 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
4343 if (ndr_flags & NDR_BUFFERS) {
4344 if (r->data) {
4345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4346 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
4349 return NDR_ERR_SUCCESS;
4352 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
4354 uint32_t _ptr_data;
4355 uint32_t size_data_1 = 0;
4356 TALLOC_CTX *_mem_save_data_0;
4357 if (ndr_flags & NDR_SCALARS) {
4358 NDR_CHECK(ndr_pull_align(ndr, 4));
4359 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
4360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
4362 if (r->length > 0x00A00000) {
4363 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4365 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
4366 if (_ptr_data) {
4367 NDR_PULL_ALLOC(ndr, r->data);
4368 } else {
4369 r->data = NULL;
4372 if (ndr_flags & NDR_BUFFERS) {
4373 if (r->data) {
4374 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4375 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
4376 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
4377 size_data_1 = ndr_get_array_size(ndr, &r->data);
4378 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
4379 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
4380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
4382 if (r->data) {
4383 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
4386 return NDR_ERR_SUCCESS;
4389 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r)
4391 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1");
4392 ndr->depth++;
4393 ndr_print_uint32(ndr, "unknown1", r->unknown1);
4394 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4395 ndr_print_uint32(ndr, "length", r->length);
4396 ndr_print_ptr(ndr, "data", r->data);
4397 ndr->depth++;
4398 if (r->data) {
4399 ndr_print_array_uint8(ndr, "data", r->data, r->length);
4401 ndr->depth--;
4402 ndr->depth--;
4405 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r)
4407 if (ndr_flags & NDR_SCALARS) {
4408 int level = ndr_push_get_switch_value(ndr, r);
4409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4410 switch (level) {
4411 case 1: {
4412 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
4413 break; }
4415 default:
4416 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4419 if (ndr_flags & NDR_BUFFERS) {
4420 int level = ndr_push_get_switch_value(ndr, r);
4421 switch (level) {
4422 case 1:
4423 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
4424 break;
4426 default:
4427 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4430 return NDR_ERR_SUCCESS;
4433 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r)
4435 int level;
4436 uint32_t _level;
4437 level = ndr_pull_get_switch_value(ndr, r);
4438 if (ndr_flags & NDR_SCALARS) {
4439 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4440 if (_level != level) {
4441 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4443 switch (level) {
4444 case 1: {
4445 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1));
4446 break; }
4448 default:
4449 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4452 if (ndr_flags & NDR_BUFFERS) {
4453 switch (level) {
4454 case 1:
4455 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1));
4456 break;
4458 default:
4459 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4462 return NDR_ERR_SUCCESS;
4465 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r)
4467 int level;
4468 level = ndr_print_get_switch_value(ndr, r);
4469 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest");
4470 switch (level) {
4471 case 1:
4472 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1);
4473 break;
4475 default:
4476 ndr_print_bad_level(ndr, name, level);
4480 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
4482 if (ndr_flags & NDR_SCALARS) {
4483 NDR_CHECK(ndr_push_align(ndr, 8));
4484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
4485 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
4486 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
4487 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time2));
4488 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
4489 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time4));
4490 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
4491 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time6));
4492 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
4493 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data1));
4494 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data2));
4496 if (ndr_flags & NDR_BUFFERS) {
4497 if (r->data1) {
4498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length1));
4499 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data1, r->length1));
4501 if (r->data2) {
4502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length2));
4503 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data2, r->length2));
4506 return NDR_ERR_SUCCESS;
4509 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
4511 uint32_t _ptr_data1;
4512 uint32_t size_data1_1 = 0;
4513 TALLOC_CTX *_mem_save_data1_0;
4514 uint32_t _ptr_data2;
4515 uint32_t size_data2_1 = 0;
4516 TALLOC_CTX *_mem_save_data2_0;
4517 if (ndr_flags & NDR_SCALARS) {
4518 NDR_CHECK(ndr_pull_align(ndr, 8));
4519 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length1));
4520 if (r->length1 > 0x00A00000) {
4521 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4523 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length2));
4524 if (r->length2 > 0x00A00000) {
4525 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4527 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
4528 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time2));
4529 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
4530 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time4));
4531 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
4532 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time6));
4533 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
4534 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data1));
4535 if (_ptr_data1) {
4536 NDR_PULL_ALLOC(ndr, r->data1);
4537 } else {
4538 r->data1 = NULL;
4540 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data2));
4541 if (_ptr_data2) {
4542 NDR_PULL_ALLOC(ndr, r->data2);
4543 } else {
4544 r->data2 = NULL;
4547 if (ndr_flags & NDR_BUFFERS) {
4548 if (r->data1) {
4549 _mem_save_data1_0 = NDR_PULL_GET_MEM_CTX(ndr);
4550 NDR_PULL_SET_MEM_CTX(ndr, r->data1, 0);
4551 NDR_CHECK(ndr_pull_array_size(ndr, &r->data1));
4552 size_data1_1 = ndr_get_array_size(ndr, &r->data1);
4553 NDR_PULL_ALLOC_N(ndr, r->data1, size_data1_1);
4554 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data1, size_data1_1));
4555 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data1_0, 0);
4557 if (r->data2) {
4558 _mem_save_data2_0 = NDR_PULL_GET_MEM_CTX(ndr);
4559 NDR_PULL_SET_MEM_CTX(ndr, r->data2, 0);
4560 NDR_CHECK(ndr_pull_array_size(ndr, &r->data2));
4561 size_data2_1 = ndr_get_array_size(ndr, &r->data2);
4562 NDR_PULL_ALLOC_N(ndr, r->data2, size_data2_1);
4563 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data2, size_data2_1));
4564 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data2_0, 0);
4566 if (r->data1) {
4567 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data1, r->length1));
4569 if (r->data2) {
4570 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data2, r->length2));
4573 return NDR_ERR_SUCCESS;
4576 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r)
4578 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1");
4579 ndr->depth++;
4580 ndr_print_uint32(ndr, "length1", r->length1);
4581 ndr_print_uint32(ndr, "length2", r->length2);
4582 ndr_print_hyper(ndr, "unknown1", r->unknown1);
4583 ndr_print_NTTIME(ndr, "time2", r->time2);
4584 ndr_print_hyper(ndr, "unknown3", r->unknown3);
4585 ndr_print_NTTIME(ndr, "time4", r->time4);
4586 ndr_print_hyper(ndr, "unknown5", r->unknown5);
4587 ndr_print_NTTIME(ndr, "time6", r->time6);
4588 ndr_print_NTSTATUS(ndr, "status", r->status);
4589 ndr_print_ptr(ndr, "data1", r->data1);
4590 ndr->depth++;
4591 if (r->data1) {
4592 ndr_print_array_uint8(ndr, "data1", r->data1, r->length1);
4594 ndr->depth--;
4595 ndr_print_ptr(ndr, "data2", r->data2);
4596 ndr->depth++;
4597 if (r->data2) {
4598 ndr_print_array_uint8(ndr, "data2", r->data2, r->length2);
4600 ndr->depth--;
4601 ndr->depth--;
4604 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r)
4606 if (ndr_flags & NDR_SCALARS) {
4607 int level = ndr_push_get_switch_value(ndr, r);
4608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4609 switch (level) {
4610 case 1: {
4611 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
4612 break; }
4614 default:
4615 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4618 if (ndr_flags & NDR_BUFFERS) {
4619 int level = ndr_push_get_switch_value(ndr, r);
4620 switch (level) {
4621 case 1:
4622 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
4623 break;
4625 default:
4626 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4629 return NDR_ERR_SUCCESS;
4632 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r)
4634 int level;
4635 uint32_t _level;
4636 level = ndr_pull_get_switch_value(ndr, r);
4637 if (ndr_flags & NDR_SCALARS) {
4638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4639 if (_level != level) {
4640 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4642 switch (level) {
4643 case 1: {
4644 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1));
4645 break; }
4647 default:
4648 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4651 if (ndr_flags & NDR_BUFFERS) {
4652 switch (level) {
4653 case 1:
4654 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1));
4655 break;
4657 default:
4658 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4661 return NDR_ERR_SUCCESS;
4664 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r)
4666 int level;
4667 level = ndr_print_get_switch_value(ndr, r);
4668 ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo");
4669 switch (level) {
4670 case 1:
4671 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1);
4672 break;
4674 default:
4675 ndr_print_bad_level(ndr, name, level);
4679 static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r)
4681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4682 return NDR_ERR_SUCCESS;
4685 static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r)
4687 uint32_t v;
4688 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4689 *r = v;
4690 return NDR_ERR_SUCCESS;
4693 _PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r)
4695 const char *val = NULL;
4697 switch (r) {
4698 case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break;
4699 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
4700 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
4701 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
4702 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
4703 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
4704 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
4705 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
4707 ndr_print_enum(ndr, name, "ENUM", val, r);
4710 static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r)
4712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4713 return NDR_ERR_SUCCESS;
4716 static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r)
4718 uint32_t v;
4719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4720 *r = v;
4721 return NDR_ERR_SUCCESS;
4724 _PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r)
4726 const char *val = NULL;
4728 switch (r) {
4729 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
4730 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
4731 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
4732 case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
4733 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
4735 ndr_print_enum(ndr, name, "ENUM", val, r);
4738 static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r)
4740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4741 return NDR_ERR_SUCCESS;
4744 static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r)
4746 uint32_t v;
4747 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4748 *r = v;
4749 return NDR_ERR_SUCCESS;
4752 _PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r)
4754 const char *val = NULL;
4756 switch (r) {
4757 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
4758 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
4759 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
4760 case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
4761 case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
4762 case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
4763 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
4764 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
4765 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
4766 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
4767 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
4769 ndr_print_enum(ndr, name, "ENUM", val, r);
4772 static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r)
4774 if (ndr_flags & NDR_SCALARS) {
4775 NDR_CHECK(ndr_push_align(ndr, 4));
4776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str));
4778 if (ndr_flags & NDR_BUFFERS) {
4779 if (r->str) {
4780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
4781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4782 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16)));
4783 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4786 return NDR_ERR_SUCCESS;
4789 static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r)
4791 uint32_t _ptr_str;
4792 uint32_t size_str_1 = 0;
4793 uint32_t length_str_1 = 0;
4794 TALLOC_CTX *_mem_save_str_0;
4795 if (ndr_flags & NDR_SCALARS) {
4796 NDR_CHECK(ndr_pull_align(ndr, 4));
4797 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str));
4798 if (_ptr_str) {
4799 NDR_PULL_ALLOC(ndr, r->str);
4800 } else {
4801 r->str = NULL;
4804 if (ndr_flags & NDR_BUFFERS) {
4805 if (r->str) {
4806 _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
4807 NDR_PULL_SET_MEM_CTX(ndr, r->str, 0);
4808 NDR_CHECK(ndr_pull_array_size(ndr, &r->str));
4809 NDR_CHECK(ndr_pull_array_length(ndr, &r->str));
4810 size_str_1 = ndr_get_array_size(ndr, &r->str);
4811 length_str_1 = ndr_get_array_length(ndr, &r->str);
4812 if (length_str_1 > size_str_1) {
4813 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_str_1, length_str_1);
4815 NDR_CHECK(ndr_check_string_terminator(ndr, length_str_1, sizeof(uint16_t)));
4816 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, length_str_1, sizeof(uint16_t), CH_UTF16));
4817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0);
4820 return NDR_ERR_SUCCESS;
4823 _PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r)
4825 ndr_print_struct(ndr, name, "drsuapi_DsNameString");
4826 ndr->depth++;
4827 ndr_print_ptr(ndr, "str", r->str);
4828 ndr->depth++;
4829 if (r->str) {
4830 ndr_print_string(ndr, "str", r->str);
4832 ndr->depth--;
4833 ndr->depth--;
4836 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r)
4838 uint32_t cntr_names_1;
4839 if (ndr_flags & NDR_SCALARS) {
4840 NDR_CHECK(ndr_push_align(ndr, 4));
4841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage));
4842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language));
4843 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags));
4844 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered));
4845 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired));
4846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4847 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
4849 if (ndr_flags & NDR_BUFFERS) {
4850 if (r->names) {
4851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4852 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4853 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
4855 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4856 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
4860 return NDR_ERR_SUCCESS;
4863 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r)
4865 uint32_t _ptr_names;
4866 uint32_t size_names_1 = 0;
4867 uint32_t cntr_names_1;
4868 TALLOC_CTX *_mem_save_names_0;
4869 TALLOC_CTX *_mem_save_names_1;
4870 if (ndr_flags & NDR_SCALARS) {
4871 NDR_CHECK(ndr_pull_align(ndr, 4));
4872 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage));
4873 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language));
4874 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags));
4875 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered));
4876 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired));
4877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4878 if (r->count < 1 || r->count > 10000) {
4879 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4881 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
4882 if (_ptr_names) {
4883 NDR_PULL_ALLOC(ndr, r->names);
4884 } else {
4885 r->names = NULL;
4888 if (ndr_flags & NDR_BUFFERS) {
4889 if (r->names) {
4890 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4891 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
4892 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
4893 size_names_1 = ndr_get_array_size(ndr, &r->names);
4894 NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
4895 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
4896 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
4897 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
4898 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
4900 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
4901 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
4903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
4904 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
4906 if (r->names) {
4907 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
4910 return NDR_ERR_SUCCESS;
4913 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r)
4915 uint32_t cntr_names_1;
4916 ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1");
4917 ndr->depth++;
4918 ndr_print_uint32(ndr, "codepage", r->codepage);
4919 ndr_print_uint32(ndr, "language", r->language);
4920 ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags);
4921 ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered);
4922 ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired);
4923 ndr_print_uint32(ndr, "count", r->count);
4924 ndr_print_ptr(ndr, "names", r->names);
4925 ndr->depth++;
4926 if (r->names) {
4927 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
4928 ndr->depth++;
4929 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
4930 char *idx_1=NULL;
4931 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
4932 ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]);
4933 free(idx_1);
4936 ndr->depth--;
4938 ndr->depth--;
4939 ndr->depth--;
4942 static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r)
4944 if (ndr_flags & NDR_SCALARS) {
4945 int level = ndr_push_get_switch_value(ndr, r);
4946 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
4947 switch (level) {
4948 case 1: {
4949 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
4950 break; }
4952 default:
4953 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4956 if (ndr_flags & NDR_BUFFERS) {
4957 int level = ndr_push_get_switch_value(ndr, r);
4958 switch (level) {
4959 case 1:
4960 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
4961 break;
4963 default:
4964 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4967 return NDR_ERR_SUCCESS;
4970 static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r)
4972 int level;
4973 int32_t _level;
4974 level = ndr_pull_get_switch_value(ndr, r);
4975 if (ndr_flags & NDR_SCALARS) {
4976 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
4977 if (_level != level) {
4978 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4980 switch (level) {
4981 case 1: {
4982 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1));
4983 break; }
4985 default:
4986 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4989 if (ndr_flags & NDR_BUFFERS) {
4990 switch (level) {
4991 case 1:
4992 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1));
4993 break;
4995 default:
4996 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4999 return NDR_ERR_SUCCESS;
5002 _PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r)
5004 int level;
5005 level = ndr_print_get_switch_value(ndr, r);
5006 ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest");
5007 switch (level) {
5008 case 1:
5009 ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1);
5010 break;
5012 default:
5013 ndr_print_bad_level(ndr, name, level);
5017 static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r)
5019 if (ndr_flags & NDR_SCALARS) {
5020 NDR_CHECK(ndr_push_align(ndr, 4));
5021 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status));
5022 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name));
5023 NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name));
5025 if (ndr_flags & NDR_BUFFERS) {
5026 if (r->dns_domain_name) {
5027 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16)));
5030 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));
5032 if (r->result_name) {
5033 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16)));
5036 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5039 return NDR_ERR_SUCCESS;
5042 static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r)
5044 uint32_t _ptr_dns_domain_name;
5045 uint32_t size_dns_domain_name_1 = 0;
5046 uint32_t length_dns_domain_name_1 = 0;
5047 TALLOC_CTX *_mem_save_dns_domain_name_0;
5048 uint32_t _ptr_result_name;
5049 uint32_t size_result_name_1 = 0;
5050 uint32_t length_result_name_1 = 0;
5051 TALLOC_CTX *_mem_save_result_name_0;
5052 if (ndr_flags & NDR_SCALARS) {
5053 NDR_CHECK(ndr_pull_align(ndr, 4));
5054 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status));
5055 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name));
5056 if (_ptr_dns_domain_name) {
5057 NDR_PULL_ALLOC(ndr, r->dns_domain_name);
5058 } else {
5059 r->dns_domain_name = NULL;
5061 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name));
5062 if (_ptr_result_name) {
5063 NDR_PULL_ALLOC(ndr, r->result_name);
5064 } else {
5065 r->result_name = NULL;
5068 if (ndr_flags & NDR_BUFFERS) {
5069 if (r->dns_domain_name) {
5070 _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5071 NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
5072 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name));
5073 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name));
5074 size_dns_domain_name_1 = ndr_get_array_size(ndr, &r->dns_domain_name);
5075 length_dns_domain_name_1 = ndr_get_array_length(ndr, &r->dns_domain_name);
5076 if (length_dns_domain_name_1 > size_dns_domain_name_1) {
5077 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_domain_name_1, length_dns_domain_name_1);
5079 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_domain_name_1, sizeof(uint16_t)));
5080 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, length_dns_domain_name_1, sizeof(uint16_t), CH_UTF16));
5081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
5083 if (r->result_name) {
5084 _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5085 NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0);
5086 NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name));
5087 NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name));
5088 size_result_name_1 = ndr_get_array_size(ndr, &r->result_name);
5089 length_result_name_1 = ndr_get_array_length(ndr, &r->result_name);
5090 if (length_result_name_1 > size_result_name_1) {
5091 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_result_name_1, length_result_name_1);
5093 NDR_CHECK(ndr_check_string_terminator(ndr, length_result_name_1, sizeof(uint16_t)));
5094 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, length_result_name_1, sizeof(uint16_t), CH_UTF16));
5095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0);
5098 return NDR_ERR_SUCCESS;
5101 _PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r)
5103 ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1");
5104 ndr->depth++;
5105 ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status);
5106 ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
5107 ndr->depth++;
5108 if (r->dns_domain_name) {
5109 ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
5111 ndr->depth--;
5112 ndr_print_ptr(ndr, "result_name", r->result_name);
5113 ndr->depth++;
5114 if (r->result_name) {
5115 ndr_print_string(ndr, "result_name", r->result_name);
5117 ndr->depth--;
5118 ndr->depth--;
5121 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r)
5123 uint32_t cntr_array_1;
5124 if (ndr_flags & NDR_SCALARS) {
5125 NDR_CHECK(ndr_push_align(ndr, 4));
5126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5127 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
5129 if (ndr_flags & NDR_BUFFERS) {
5130 if (r->array) {
5131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5132 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5133 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5135 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
5136 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5140 return NDR_ERR_SUCCESS;
5143 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r)
5145 uint32_t _ptr_array;
5146 uint32_t size_array_1 = 0;
5147 uint32_t cntr_array_1;
5148 TALLOC_CTX *_mem_save_array_0;
5149 TALLOC_CTX *_mem_save_array_1;
5150 if (ndr_flags & NDR_SCALARS) {
5151 NDR_CHECK(ndr_pull_align(ndr, 4));
5152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5153 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
5154 if (_ptr_array) {
5155 NDR_PULL_ALLOC(ndr, r->array);
5156 } else {
5157 r->array = NULL;
5160 if (ndr_flags & NDR_BUFFERS) {
5161 if (r->array) {
5162 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
5163 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
5164 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
5165 size_array_1 = ndr_get_array_size(ndr, &r->array);
5166 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
5167 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
5168 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
5169 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
5170 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
5172 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
5173 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
5175 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
5176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
5178 if (r->array) {
5179 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
5182 return NDR_ERR_SUCCESS;
5185 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r)
5187 uint32_t cntr_array_1;
5188 ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1");
5189 ndr->depth++;
5190 ndr_print_uint32(ndr, "count", r->count);
5191 ndr_print_ptr(ndr, "array", r->array);
5192 ndr->depth++;
5193 if (r->array) {
5194 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
5195 ndr->depth++;
5196 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
5197 char *idx_1=NULL;
5198 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
5199 ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]);
5200 free(idx_1);
5203 ndr->depth--;
5205 ndr->depth--;
5206 ndr->depth--;
5209 static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r)
5211 if (ndr_flags & NDR_SCALARS) {
5212 int level = ndr_push_get_switch_value(ndr, r);
5213 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5214 switch (level) {
5215 case 1: {
5216 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
5217 break; }
5219 default:
5220 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5223 if (ndr_flags & NDR_BUFFERS) {
5224 int level = ndr_push_get_switch_value(ndr, r);
5225 switch (level) {
5226 case 1:
5227 if (r->ctr1) {
5228 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
5230 break;
5232 default:
5233 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5236 return NDR_ERR_SUCCESS;
5239 static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r)
5241 int level;
5242 int32_t _level;
5243 TALLOC_CTX *_mem_save_ctr1_0;
5244 uint32_t _ptr_ctr1;
5245 level = ndr_pull_get_switch_value(ndr, r);
5246 if (ndr_flags & NDR_SCALARS) {
5247 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5248 if (_level != level) {
5249 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5251 switch (level) {
5252 case 1: {
5253 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
5254 if (_ptr_ctr1) {
5255 NDR_PULL_ALLOC(ndr, r->ctr1);
5256 } else {
5257 r->ctr1 = NULL;
5259 break; }
5261 default:
5262 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5265 if (ndr_flags & NDR_BUFFERS) {
5266 switch (level) {
5267 case 1:
5268 if (r->ctr1) {
5269 _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5270 NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
5271 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
5272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
5274 break;
5276 default:
5277 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5280 return NDR_ERR_SUCCESS;
5283 _PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r)
5285 int level;
5286 level = ndr_print_get_switch_value(ndr, r);
5287 ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr");
5288 switch (level) {
5289 case 1:
5290 ndr_print_ptr(ndr, "ctr1", r->ctr1);
5291 ndr->depth++;
5292 if (r->ctr1) {
5293 ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1);
5295 ndr->depth--;
5296 break;
5298 default:
5299 ndr_print_bad_level(ndr, name, level);
5303 static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r)
5305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5306 return NDR_ERR_SUCCESS;
5309 static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r)
5311 uint32_t v;
5312 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5313 *r = v;
5314 return NDR_ERR_SUCCESS;
5317 _PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r)
5319 const char *val = NULL;
5321 switch (r) {
5322 case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
5323 case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
5324 case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
5326 ndr_print_enum(ndr, name, "ENUM", val, r);
5329 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
5331 uint32_t cntr_spn_names_1;
5332 if (ndr_flags & NDR_SCALARS) {
5333 NDR_CHECK(ndr_push_align(ndr, 4));
5334 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation));
5335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5336 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
5337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5338 NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names));
5340 if (ndr_flags & NDR_BUFFERS) {
5341 if (r->object_dn) {
5342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
5343 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
5345 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5347 if (r->spn_names) {
5348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5349 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
5350 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
5352 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) {
5353 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
5357 return NDR_ERR_SUCCESS;
5360 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r)
5362 uint32_t _ptr_object_dn;
5363 uint32_t size_object_dn_1 = 0;
5364 uint32_t length_object_dn_1 = 0;
5365 TALLOC_CTX *_mem_save_object_dn_0;
5366 uint32_t _ptr_spn_names;
5367 uint32_t size_spn_names_1 = 0;
5368 uint32_t cntr_spn_names_1;
5369 TALLOC_CTX *_mem_save_spn_names_0;
5370 TALLOC_CTX *_mem_save_spn_names_1;
5371 if (ndr_flags & NDR_SCALARS) {
5372 NDR_CHECK(ndr_pull_align(ndr, 4));
5373 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation));
5374 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5375 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
5376 if (_ptr_object_dn) {
5377 NDR_PULL_ALLOC(ndr, r->object_dn);
5378 } else {
5379 r->object_dn = NULL;
5381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5382 if (r->count > 10000) {
5383 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5385 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names));
5386 if (_ptr_spn_names) {
5387 NDR_PULL_ALLOC(ndr, r->spn_names);
5388 } else {
5389 r->spn_names = NULL;
5392 if (ndr_flags & NDR_BUFFERS) {
5393 if (r->object_dn) {
5394 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
5395 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
5396 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
5397 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
5398 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
5399 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
5400 if (length_object_dn_1 > size_object_dn_1) {
5401 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
5403 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
5404 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
5405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
5407 if (r->spn_names) {
5408 _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
5409 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
5410 NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names));
5411 size_spn_names_1 = ndr_get_array_size(ndr, &r->spn_names);
5412 NDR_PULL_ALLOC_N(ndr, r->spn_names, size_spn_names_1);
5413 _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
5414 NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0);
5415 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < size_spn_names_1; cntr_spn_names_1++) {
5416 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1]));
5418 for (cntr_spn_names_1 = 0; cntr_spn_names_1 < size_spn_names_1; cntr_spn_names_1++) {
5419 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1]));
5421 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0);
5422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0);
5424 if (r->spn_names) {
5425 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count));
5428 return NDR_ERR_SUCCESS;
5431 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r)
5433 uint32_t cntr_spn_names_1;
5434 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1");
5435 ndr->depth++;
5436 ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation);
5437 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5438 ndr_print_ptr(ndr, "object_dn", r->object_dn);
5439 ndr->depth++;
5440 if (r->object_dn) {
5441 ndr_print_string(ndr, "object_dn", r->object_dn);
5443 ndr->depth--;
5444 ndr_print_uint32(ndr, "count", r->count);
5445 ndr_print_ptr(ndr, "spn_names", r->spn_names);
5446 ndr->depth++;
5447 if (r->spn_names) {
5448 ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count);
5449 ndr->depth++;
5450 for (cntr_spn_names_1=0;cntr_spn_names_1<r->count;cntr_spn_names_1++) {
5451 char *idx_1=NULL;
5452 if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) {
5453 ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]);
5454 free(idx_1);
5457 ndr->depth--;
5459 ndr->depth--;
5460 ndr->depth--;
5463 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r)
5465 if (ndr_flags & NDR_SCALARS) {
5466 int level = ndr_push_get_switch_value(ndr, r);
5467 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5468 switch (level) {
5469 case 1: {
5470 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
5471 break; }
5473 default:
5474 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5477 if (ndr_flags & NDR_BUFFERS) {
5478 int level = ndr_push_get_switch_value(ndr, r);
5479 switch (level) {
5480 case 1:
5481 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
5482 break;
5484 default:
5485 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5488 return NDR_ERR_SUCCESS;
5491 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r)
5493 int level;
5494 int32_t _level;
5495 level = ndr_pull_get_switch_value(ndr, r);
5496 if (ndr_flags & NDR_SCALARS) {
5497 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5498 if (_level != level) {
5499 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5501 switch (level) {
5502 case 1: {
5503 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1));
5504 break; }
5506 default:
5507 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5510 if (ndr_flags & NDR_BUFFERS) {
5511 switch (level) {
5512 case 1:
5513 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1));
5514 break;
5516 default:
5517 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5520 return NDR_ERR_SUCCESS;
5523 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r)
5525 int level;
5526 level = ndr_print_get_switch_value(ndr, r);
5527 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest");
5528 switch (level) {
5529 case 1:
5530 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1);
5531 break;
5533 default:
5534 ndr_print_bad_level(ndr, name, level);
5538 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r)
5540 if (ndr_flags & NDR_SCALARS) {
5541 NDR_CHECK(ndr_push_align(ndr, 4));
5542 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
5544 if (ndr_flags & NDR_BUFFERS) {
5546 return NDR_ERR_SUCCESS;
5549 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r)
5551 if (ndr_flags & NDR_SCALARS) {
5552 NDR_CHECK(ndr_pull_align(ndr, 4));
5553 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
5555 if (ndr_flags & NDR_BUFFERS) {
5557 return NDR_ERR_SUCCESS;
5560 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r)
5562 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1");
5563 ndr->depth++;
5564 ndr_print_WERROR(ndr, "status", r->status);
5565 ndr->depth--;
5568 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r)
5570 if (ndr_flags & NDR_SCALARS) {
5571 int level = ndr_push_get_switch_value(ndr, r);
5572 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5573 switch (level) {
5574 case 1: {
5575 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
5576 break; }
5578 default:
5579 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5582 if (ndr_flags & NDR_BUFFERS) {
5583 int level = ndr_push_get_switch_value(ndr, r);
5584 switch (level) {
5585 case 1:
5586 break;
5588 default:
5589 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5592 return NDR_ERR_SUCCESS;
5595 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r)
5597 int level;
5598 int32_t _level;
5599 level = ndr_pull_get_switch_value(ndr, r);
5600 if (ndr_flags & NDR_SCALARS) {
5601 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5602 if (_level != level) {
5603 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5605 switch (level) {
5606 case 1: {
5607 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1));
5608 break; }
5610 default:
5611 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5614 if (ndr_flags & NDR_BUFFERS) {
5615 switch (level) {
5616 case 1:
5617 break;
5619 default:
5620 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5623 return NDR_ERR_SUCCESS;
5626 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r)
5628 int level;
5629 level = ndr_print_get_switch_value(ndr, r);
5630 ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult");
5631 switch (level) {
5632 case 1:
5633 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1);
5634 break;
5636 default:
5637 ndr_print_bad_level(ndr, name, level);
5641 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r)
5643 if (ndr_flags & NDR_SCALARS) {
5644 NDR_CHECK(ndr_push_align(ndr, 4));
5645 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
5646 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn));
5647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit));
5649 if (ndr_flags & NDR_BUFFERS) {
5650 if (r->server_dn) {
5651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
5652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
5654 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5656 if (r->domain_dn) {
5657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
5658 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16)));
5660 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5663 return NDR_ERR_SUCCESS;
5666 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r)
5668 uint32_t _ptr_server_dn;
5669 uint32_t size_server_dn_1 = 0;
5670 uint32_t length_server_dn_1 = 0;
5671 TALLOC_CTX *_mem_save_server_dn_0;
5672 uint32_t _ptr_domain_dn;
5673 uint32_t size_domain_dn_1 = 0;
5674 uint32_t length_domain_dn_1 = 0;
5675 TALLOC_CTX *_mem_save_domain_dn_0;
5676 if (ndr_flags & NDR_SCALARS) {
5677 NDR_CHECK(ndr_pull_align(ndr, 4));
5678 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
5679 if (_ptr_server_dn) {
5680 NDR_PULL_ALLOC(ndr, r->server_dn);
5681 } else {
5682 r->server_dn = NULL;
5684 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn));
5685 if (_ptr_domain_dn) {
5686 NDR_PULL_ALLOC(ndr, r->domain_dn);
5687 } else {
5688 r->domain_dn = NULL;
5690 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit));
5692 if (ndr_flags & NDR_BUFFERS) {
5693 if (r->server_dn) {
5694 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
5695 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
5696 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
5697 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
5698 size_server_dn_1 = ndr_get_array_size(ndr, &r->server_dn);
5699 length_server_dn_1 = ndr_get_array_length(ndr, &r->server_dn);
5700 if (length_server_dn_1 > size_server_dn_1) {
5701 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
5703 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
5704 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
5705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
5707 if (r->domain_dn) {
5708 _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
5709 NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0);
5710 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn));
5711 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn));
5712 size_domain_dn_1 = ndr_get_array_size(ndr, &r->domain_dn);
5713 length_domain_dn_1 = ndr_get_array_length(ndr, &r->domain_dn);
5714 if (length_domain_dn_1 > size_domain_dn_1) {
5715 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_dn_1, length_domain_dn_1);
5717 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_dn_1, sizeof(uint16_t)));
5718 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, length_domain_dn_1, sizeof(uint16_t), CH_UTF16));
5719 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0);
5722 return NDR_ERR_SUCCESS;
5725 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r)
5727 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1");
5728 ndr->depth++;
5729 ndr_print_ptr(ndr, "server_dn", r->server_dn);
5730 ndr->depth++;
5731 if (r->server_dn) {
5732 ndr_print_string(ndr, "server_dn", r->server_dn);
5734 ndr->depth--;
5735 ndr_print_ptr(ndr, "domain_dn", r->domain_dn);
5736 ndr->depth++;
5737 if (r->domain_dn) {
5738 ndr_print_string(ndr, "domain_dn", r->domain_dn);
5740 ndr->depth--;
5741 ndr_print_uint32(ndr, "commit", r->commit);
5742 ndr->depth--;
5745 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r)
5747 if (ndr_flags & NDR_SCALARS) {
5748 int level = ndr_push_get_switch_value(ndr, r);
5749 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5750 switch (level) {
5751 case 1: {
5752 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
5753 break; }
5755 default:
5756 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5759 if (ndr_flags & NDR_BUFFERS) {
5760 int level = ndr_push_get_switch_value(ndr, r);
5761 switch (level) {
5762 case 1:
5763 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
5764 break;
5766 default:
5767 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5770 return NDR_ERR_SUCCESS;
5773 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r)
5775 int level;
5776 int32_t _level;
5777 level = ndr_pull_get_switch_value(ndr, r);
5778 if (ndr_flags & NDR_SCALARS) {
5779 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5780 if (_level != level) {
5781 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5783 switch (level) {
5784 case 1: {
5785 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1));
5786 break; }
5788 default:
5789 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5792 if (ndr_flags & NDR_BUFFERS) {
5793 switch (level) {
5794 case 1:
5795 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1));
5796 break;
5798 default:
5799 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5802 return NDR_ERR_SUCCESS;
5805 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r)
5807 int level;
5808 level = ndr_print_get_switch_value(ndr, r);
5809 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest");
5810 switch (level) {
5811 case 1:
5812 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1);
5813 break;
5815 default:
5816 ndr_print_bad_level(ndr, name, level);
5820 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r)
5822 if (ndr_flags & NDR_SCALARS) {
5823 NDR_CHECK(ndr_push_align(ndr, 4));
5824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain));
5826 if (ndr_flags & NDR_BUFFERS) {
5828 return NDR_ERR_SUCCESS;
5831 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r)
5833 if (ndr_flags & NDR_SCALARS) {
5834 NDR_CHECK(ndr_pull_align(ndr, 4));
5835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain));
5837 if (ndr_flags & NDR_BUFFERS) {
5839 return NDR_ERR_SUCCESS;
5842 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r)
5844 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1");
5845 ndr->depth++;
5846 ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain);
5847 ndr->depth--;
5850 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r)
5852 if (ndr_flags & NDR_SCALARS) {
5853 int level = ndr_push_get_switch_value(ndr, r);
5854 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5855 switch (level) {
5856 case 1: {
5857 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
5858 break; }
5860 default:
5861 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5864 if (ndr_flags & NDR_BUFFERS) {
5865 int level = ndr_push_get_switch_value(ndr, r);
5866 switch (level) {
5867 case 1:
5868 break;
5870 default:
5871 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5874 return NDR_ERR_SUCCESS;
5877 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r)
5879 int level;
5880 int32_t _level;
5881 level = ndr_pull_get_switch_value(ndr, r);
5882 if (ndr_flags & NDR_SCALARS) {
5883 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
5884 if (_level != level) {
5885 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5887 switch (level) {
5888 case 1: {
5889 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1));
5890 break; }
5892 default:
5893 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5896 if (ndr_flags & NDR_BUFFERS) {
5897 switch (level) {
5898 case 1:
5899 break;
5901 default:
5902 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5905 return NDR_ERR_SUCCESS;
5908 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r)
5910 int level;
5911 level = ndr_print_get_switch_value(ndr, r);
5912 ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult");
5913 switch (level) {
5914 case 1:
5915 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1);
5916 break;
5918 default:
5919 ndr_print_bad_level(ndr, name, level);
5923 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r)
5925 if (ndr_flags & NDR_SCALARS) {
5926 NDR_CHECK(ndr_push_align(ndr, 4));
5927 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
5928 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level));
5930 if (ndr_flags & NDR_BUFFERS) {
5931 if (r->domain_name) {
5932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
5933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
5935 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5938 return NDR_ERR_SUCCESS;
5941 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r)
5943 uint32_t _ptr_domain_name;
5944 uint32_t size_domain_name_1 = 0;
5945 uint32_t length_domain_name_1 = 0;
5946 TALLOC_CTX *_mem_save_domain_name_0;
5947 if (ndr_flags & NDR_SCALARS) {
5948 NDR_CHECK(ndr_pull_align(ndr, 4));
5949 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
5950 if (_ptr_domain_name) {
5951 NDR_PULL_ALLOC(ndr, r->domain_name);
5952 } else {
5953 r->domain_name = NULL;
5955 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level));
5957 if (ndr_flags & NDR_BUFFERS) {
5958 if (r->domain_name) {
5959 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5960 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
5961 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
5962 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
5963 size_domain_name_1 = ndr_get_array_size(ndr, &r->domain_name);
5964 length_domain_name_1 = ndr_get_array_length(ndr, &r->domain_name);
5965 if (length_domain_name_1 > size_domain_name_1) {
5966 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
5968 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
5969 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
5970 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
5973 return NDR_ERR_SUCCESS;
5976 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r)
5978 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1");
5979 ndr->depth++;
5980 ndr_print_ptr(ndr, "domain_name", r->domain_name);
5981 ndr->depth++;
5982 if (r->domain_name) {
5983 ndr_print_string(ndr, "domain_name", r->domain_name);
5985 ndr->depth--;
5986 ndr_print_int32(ndr, "level", r->level);
5987 ndr->depth--;
5990 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r)
5992 if (ndr_flags & NDR_SCALARS) {
5993 int level = ndr_push_get_switch_value(ndr, r);
5994 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
5995 switch (level) {
5996 case 1: {
5997 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
5998 break; }
6000 default:
6001 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6004 if (ndr_flags & NDR_BUFFERS) {
6005 int level = ndr_push_get_switch_value(ndr, r);
6006 switch (level) {
6007 case 1:
6008 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6009 break;
6011 default:
6012 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6015 return NDR_ERR_SUCCESS;
6018 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r)
6020 int level;
6021 int32_t _level;
6022 level = ndr_pull_get_switch_value(ndr, r);
6023 if (ndr_flags & NDR_SCALARS) {
6024 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
6025 if (_level != level) {
6026 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6028 switch (level) {
6029 case 1: {
6030 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1));
6031 break; }
6033 default:
6034 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6037 if (ndr_flags & NDR_BUFFERS) {
6038 switch (level) {
6039 case 1:
6040 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
6041 break;
6043 default:
6044 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6047 return NDR_ERR_SUCCESS;
6050 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r)
6052 int level;
6053 level = ndr_print_get_switch_value(ndr, r);
6054 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest");
6055 switch (level) {
6056 case 1:
6057 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1);
6058 break;
6060 default:
6061 ndr_print_bad_level(ndr, name, level);
6065 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r)
6067 if (ndr_flags & NDR_SCALARS) {
6068 NDR_CHECK(ndr_push_align(ndr, 4));
6069 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6070 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6073 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6074 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6077 if (ndr_flags & NDR_BUFFERS) {
6078 if (r->netbios_name) {
6079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6080 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6082 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6084 if (r->dns_name) {
6085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6088 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6090 if (r->site_name) {
6091 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6094 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6096 if (r->computer_dn) {
6097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6098 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6100 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6102 if (r->server_dn) {
6103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6106 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6109 return NDR_ERR_SUCCESS;
6112 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r)
6114 uint32_t _ptr_netbios_name;
6115 uint32_t size_netbios_name_1 = 0;
6116 uint32_t length_netbios_name_1 = 0;
6117 TALLOC_CTX *_mem_save_netbios_name_0;
6118 uint32_t _ptr_dns_name;
6119 uint32_t size_dns_name_1 = 0;
6120 uint32_t length_dns_name_1 = 0;
6121 TALLOC_CTX *_mem_save_dns_name_0;
6122 uint32_t _ptr_site_name;
6123 uint32_t size_site_name_1 = 0;
6124 uint32_t length_site_name_1 = 0;
6125 TALLOC_CTX *_mem_save_site_name_0;
6126 uint32_t _ptr_computer_dn;
6127 uint32_t size_computer_dn_1 = 0;
6128 uint32_t length_computer_dn_1 = 0;
6129 TALLOC_CTX *_mem_save_computer_dn_0;
6130 uint32_t _ptr_server_dn;
6131 uint32_t size_server_dn_1 = 0;
6132 uint32_t length_server_dn_1 = 0;
6133 TALLOC_CTX *_mem_save_server_dn_0;
6134 if (ndr_flags & NDR_SCALARS) {
6135 NDR_CHECK(ndr_pull_align(ndr, 4));
6136 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6137 if (_ptr_netbios_name) {
6138 NDR_PULL_ALLOC(ndr, r->netbios_name);
6139 } else {
6140 r->netbios_name = NULL;
6142 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6143 if (_ptr_dns_name) {
6144 NDR_PULL_ALLOC(ndr, r->dns_name);
6145 } else {
6146 r->dns_name = NULL;
6148 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6149 if (_ptr_site_name) {
6150 NDR_PULL_ALLOC(ndr, r->site_name);
6151 } else {
6152 r->site_name = NULL;
6154 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6155 if (_ptr_computer_dn) {
6156 NDR_PULL_ALLOC(ndr, r->computer_dn);
6157 } else {
6158 r->computer_dn = NULL;
6160 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6161 if (_ptr_server_dn) {
6162 NDR_PULL_ALLOC(ndr, r->server_dn);
6163 } else {
6164 r->server_dn = NULL;
6166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
6167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
6169 if (ndr_flags & NDR_BUFFERS) {
6170 if (r->netbios_name) {
6171 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6172 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
6173 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
6174 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
6175 size_netbios_name_1 = ndr_get_array_size(ndr, &r->netbios_name);
6176 length_netbios_name_1 = ndr_get_array_length(ndr, &r->netbios_name);
6177 if (length_netbios_name_1 > size_netbios_name_1) {
6178 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
6180 NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
6181 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
6182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
6184 if (r->dns_name) {
6185 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6186 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
6187 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
6188 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
6189 size_dns_name_1 = ndr_get_array_size(ndr, &r->dns_name);
6190 length_dns_name_1 = ndr_get_array_length(ndr, &r->dns_name);
6191 if (length_dns_name_1 > size_dns_name_1) {
6192 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
6194 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
6195 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
6196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
6198 if (r->site_name) {
6199 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6200 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
6201 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
6202 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
6203 size_site_name_1 = ndr_get_array_size(ndr, &r->site_name);
6204 length_site_name_1 = ndr_get_array_length(ndr, &r->site_name);
6205 if (length_site_name_1 > size_site_name_1) {
6206 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
6208 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
6209 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
6210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
6212 if (r->computer_dn) {
6213 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6214 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
6215 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
6216 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
6217 size_computer_dn_1 = ndr_get_array_size(ndr, &r->computer_dn);
6218 length_computer_dn_1 = ndr_get_array_length(ndr, &r->computer_dn);
6219 if (length_computer_dn_1 > size_computer_dn_1) {
6220 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
6222 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
6223 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
6224 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
6226 if (r->server_dn) {
6227 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6228 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6229 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6230 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6231 size_server_dn_1 = ndr_get_array_size(ndr, &r->server_dn);
6232 length_server_dn_1 = ndr_get_array_length(ndr, &r->server_dn);
6233 if (length_server_dn_1 > size_server_dn_1) {
6234 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
6236 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
6237 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
6238 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6241 return NDR_ERR_SUCCESS;
6244 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r)
6246 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1");
6247 ndr->depth++;
6248 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
6249 ndr->depth++;
6250 if (r->netbios_name) {
6251 ndr_print_string(ndr, "netbios_name", r->netbios_name);
6253 ndr->depth--;
6254 ndr_print_ptr(ndr, "dns_name", r->dns_name);
6255 ndr->depth++;
6256 if (r->dns_name) {
6257 ndr_print_string(ndr, "dns_name", r->dns_name);
6259 ndr->depth--;
6260 ndr_print_ptr(ndr, "site_name", r->site_name);
6261 ndr->depth++;
6262 if (r->site_name) {
6263 ndr_print_string(ndr, "site_name", r->site_name);
6265 ndr->depth--;
6266 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
6267 ndr->depth++;
6268 if (r->computer_dn) {
6269 ndr_print_string(ndr, "computer_dn", r->computer_dn);
6271 ndr->depth--;
6272 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6273 ndr->depth++;
6274 if (r->server_dn) {
6275 ndr_print_string(ndr, "server_dn", r->server_dn);
6277 ndr->depth--;
6278 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
6279 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
6280 ndr->depth--;
6283 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r)
6285 uint32_t cntr_array_1;
6286 if (ndr_flags & NDR_SCALARS) {
6287 NDR_CHECK(ndr_push_align(ndr, 4));
6288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6289 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6291 if (ndr_flags & NDR_BUFFERS) {
6292 if (r->array) {
6293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6294 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6295 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6297 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6298 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6302 return NDR_ERR_SUCCESS;
6305 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r)
6307 uint32_t _ptr_array;
6308 uint32_t size_array_1 = 0;
6309 uint32_t cntr_array_1;
6310 TALLOC_CTX *_mem_save_array_0;
6311 TALLOC_CTX *_mem_save_array_1;
6312 if (ndr_flags & NDR_SCALARS) {
6313 NDR_CHECK(ndr_pull_align(ndr, 4));
6314 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6315 if (r->count > 10000) {
6316 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6318 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6319 if (_ptr_array) {
6320 NDR_PULL_ALLOC(ndr, r->array);
6321 } else {
6322 r->array = NULL;
6325 if (ndr_flags & NDR_BUFFERS) {
6326 if (r->array) {
6327 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6328 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6329 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6330 size_array_1 = ndr_get_array_size(ndr, &r->array);
6331 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
6332 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6333 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6334 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
6335 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6337 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
6338 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6340 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6341 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6343 if (r->array) {
6344 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6347 return NDR_ERR_SUCCESS;
6350 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r)
6352 uint32_t cntr_array_1;
6353 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1");
6354 ndr->depth++;
6355 ndr_print_uint32(ndr, "count", r->count);
6356 ndr_print_ptr(ndr, "array", r->array);
6357 ndr->depth++;
6358 if (r->array) {
6359 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6360 ndr->depth++;
6361 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6362 char *idx_1=NULL;
6363 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6364 ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]);
6365 free(idx_1);
6368 ndr->depth--;
6370 ndr->depth--;
6371 ndr->depth--;
6374 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r)
6376 if (ndr_flags & NDR_SCALARS) {
6377 NDR_CHECK(ndr_push_align(ndr, 4));
6378 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6379 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6380 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6381 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
6382 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6383 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6384 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
6385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
6388 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
6389 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6390 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
6391 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6393 if (ndr_flags & NDR_BUFFERS) {
6394 if (r->netbios_name) {
6395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6398 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6400 if (r->dns_name) {
6401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6404 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6406 if (r->site_name) {
6407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6410 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6412 if (r->site_dn) {
6413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6416 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6418 if (r->computer_dn) {
6419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6422 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6424 if (r->server_dn) {
6425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6428 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6430 if (r->ntds_dn) {
6431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6434 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6437 return NDR_ERR_SUCCESS;
6440 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r)
6442 uint32_t _ptr_netbios_name;
6443 uint32_t size_netbios_name_1 = 0;
6444 uint32_t length_netbios_name_1 = 0;
6445 TALLOC_CTX *_mem_save_netbios_name_0;
6446 uint32_t _ptr_dns_name;
6447 uint32_t size_dns_name_1 = 0;
6448 uint32_t length_dns_name_1 = 0;
6449 TALLOC_CTX *_mem_save_dns_name_0;
6450 uint32_t _ptr_site_name;
6451 uint32_t size_site_name_1 = 0;
6452 uint32_t length_site_name_1 = 0;
6453 TALLOC_CTX *_mem_save_site_name_0;
6454 uint32_t _ptr_site_dn;
6455 uint32_t size_site_dn_1 = 0;
6456 uint32_t length_site_dn_1 = 0;
6457 TALLOC_CTX *_mem_save_site_dn_0;
6458 uint32_t _ptr_computer_dn;
6459 uint32_t size_computer_dn_1 = 0;
6460 uint32_t length_computer_dn_1 = 0;
6461 TALLOC_CTX *_mem_save_computer_dn_0;
6462 uint32_t _ptr_server_dn;
6463 uint32_t size_server_dn_1 = 0;
6464 uint32_t length_server_dn_1 = 0;
6465 TALLOC_CTX *_mem_save_server_dn_0;
6466 uint32_t _ptr_ntds_dn;
6467 uint32_t size_ntds_dn_1 = 0;
6468 uint32_t length_ntds_dn_1 = 0;
6469 TALLOC_CTX *_mem_save_ntds_dn_0;
6470 if (ndr_flags & NDR_SCALARS) {
6471 NDR_CHECK(ndr_pull_align(ndr, 4));
6472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6473 if (_ptr_netbios_name) {
6474 NDR_PULL_ALLOC(ndr, r->netbios_name);
6475 } else {
6476 r->netbios_name = NULL;
6478 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6479 if (_ptr_dns_name) {
6480 NDR_PULL_ALLOC(ndr, r->dns_name);
6481 } else {
6482 r->dns_name = NULL;
6484 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6485 if (_ptr_site_name) {
6486 NDR_PULL_ALLOC(ndr, r->site_name);
6487 } else {
6488 r->site_name = NULL;
6490 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
6491 if (_ptr_site_dn) {
6492 NDR_PULL_ALLOC(ndr, r->site_dn);
6493 } else {
6494 r->site_dn = NULL;
6496 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6497 if (_ptr_computer_dn) {
6498 NDR_PULL_ALLOC(ndr, r->computer_dn);
6499 } else {
6500 r->computer_dn = NULL;
6502 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6503 if (_ptr_server_dn) {
6504 NDR_PULL_ALLOC(ndr, r->server_dn);
6505 } else {
6506 r->server_dn = NULL;
6508 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
6509 if (_ptr_ntds_dn) {
6510 NDR_PULL_ALLOC(ndr, r->ntds_dn);
6511 } else {
6512 r->ntds_dn = NULL;
6514 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
6515 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
6516 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
6517 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
6518 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6519 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
6520 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6522 if (ndr_flags & NDR_BUFFERS) {
6523 if (r->netbios_name) {
6524 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6525 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
6526 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
6527 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
6528 size_netbios_name_1 = ndr_get_array_size(ndr, &r->netbios_name);
6529 length_netbios_name_1 = ndr_get_array_length(ndr, &r->netbios_name);
6530 if (length_netbios_name_1 > size_netbios_name_1) {
6531 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
6533 NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
6534 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
6535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
6537 if (r->dns_name) {
6538 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6539 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
6540 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
6541 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
6542 size_dns_name_1 = ndr_get_array_size(ndr, &r->dns_name);
6543 length_dns_name_1 = ndr_get_array_length(ndr, &r->dns_name);
6544 if (length_dns_name_1 > size_dns_name_1) {
6545 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
6547 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
6548 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
6549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
6551 if (r->site_name) {
6552 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6553 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
6554 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
6555 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
6556 size_site_name_1 = ndr_get_array_size(ndr, &r->site_name);
6557 length_site_name_1 = ndr_get_array_length(ndr, &r->site_name);
6558 if (length_site_name_1 > size_site_name_1) {
6559 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
6561 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
6562 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
6563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
6565 if (r->site_dn) {
6566 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6567 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
6568 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
6569 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
6570 size_site_dn_1 = ndr_get_array_size(ndr, &r->site_dn);
6571 length_site_dn_1 = ndr_get_array_length(ndr, &r->site_dn);
6572 if (length_site_dn_1 > size_site_dn_1) {
6573 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_dn_1, length_site_dn_1);
6575 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_dn_1, sizeof(uint16_t)));
6576 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, length_site_dn_1, sizeof(uint16_t), CH_UTF16));
6577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
6579 if (r->computer_dn) {
6580 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6581 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
6582 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
6583 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
6584 size_computer_dn_1 = ndr_get_array_size(ndr, &r->computer_dn);
6585 length_computer_dn_1 = ndr_get_array_length(ndr, &r->computer_dn);
6586 if (length_computer_dn_1 > size_computer_dn_1) {
6587 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
6589 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
6590 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
6591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
6593 if (r->server_dn) {
6594 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6595 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6596 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6597 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6598 size_server_dn_1 = ndr_get_array_size(ndr, &r->server_dn);
6599 length_server_dn_1 = ndr_get_array_length(ndr, &r->server_dn);
6600 if (length_server_dn_1 > size_server_dn_1) {
6601 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
6603 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
6604 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
6605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
6607 if (r->ntds_dn) {
6608 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6609 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
6610 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
6611 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
6612 size_ntds_dn_1 = ndr_get_array_size(ndr, &r->ntds_dn);
6613 length_ntds_dn_1 = ndr_get_array_length(ndr, &r->ntds_dn);
6614 if (length_ntds_dn_1 > size_ntds_dn_1) {
6615 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ntds_dn_1, length_ntds_dn_1);
6617 NDR_CHECK(ndr_check_string_terminator(ndr, length_ntds_dn_1, sizeof(uint16_t)));
6618 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, length_ntds_dn_1, sizeof(uint16_t), CH_UTF16));
6619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
6622 return NDR_ERR_SUCCESS;
6625 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r)
6627 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2");
6628 ndr->depth++;
6629 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
6630 ndr->depth++;
6631 if (r->netbios_name) {
6632 ndr_print_string(ndr, "netbios_name", r->netbios_name);
6634 ndr->depth--;
6635 ndr_print_ptr(ndr, "dns_name", r->dns_name);
6636 ndr->depth++;
6637 if (r->dns_name) {
6638 ndr_print_string(ndr, "dns_name", r->dns_name);
6640 ndr->depth--;
6641 ndr_print_ptr(ndr, "site_name", r->site_name);
6642 ndr->depth++;
6643 if (r->site_name) {
6644 ndr_print_string(ndr, "site_name", r->site_name);
6646 ndr->depth--;
6647 ndr_print_ptr(ndr, "site_dn", r->site_dn);
6648 ndr->depth++;
6649 if (r->site_dn) {
6650 ndr_print_string(ndr, "site_dn", r->site_dn);
6652 ndr->depth--;
6653 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
6654 ndr->depth++;
6655 if (r->computer_dn) {
6656 ndr_print_string(ndr, "computer_dn", r->computer_dn);
6658 ndr->depth--;
6659 ndr_print_ptr(ndr, "server_dn", r->server_dn);
6660 ndr->depth++;
6661 if (r->server_dn) {
6662 ndr_print_string(ndr, "server_dn", r->server_dn);
6664 ndr->depth--;
6665 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
6666 ndr->depth++;
6667 if (r->ntds_dn) {
6668 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
6670 ndr->depth--;
6671 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
6672 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
6673 ndr_print_uint32(ndr, "is_gc", r->is_gc);
6674 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
6675 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
6676 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
6677 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
6678 ndr->depth--;
6681 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r)
6683 uint32_t cntr_array_1;
6684 if (ndr_flags & NDR_SCALARS) {
6685 NDR_CHECK(ndr_push_align(ndr, 4));
6686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
6689 if (ndr_flags & NDR_BUFFERS) {
6690 if (r->array) {
6691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
6692 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6693 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6695 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
6696 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6700 return NDR_ERR_SUCCESS;
6703 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r)
6705 uint32_t _ptr_array;
6706 uint32_t size_array_1 = 0;
6707 uint32_t cntr_array_1;
6708 TALLOC_CTX *_mem_save_array_0;
6709 TALLOC_CTX *_mem_save_array_1;
6710 if (ndr_flags & NDR_SCALARS) {
6711 NDR_CHECK(ndr_pull_align(ndr, 4));
6712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
6713 if (r->count > 10000) {
6714 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6716 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
6717 if (_ptr_array) {
6718 NDR_PULL_ALLOC(ndr, r->array);
6719 } else {
6720 r->array = NULL;
6723 if (ndr_flags & NDR_BUFFERS) {
6724 if (r->array) {
6725 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
6726 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6727 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
6728 size_array_1 = ndr_get_array_size(ndr, &r->array);
6729 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
6730 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
6731 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
6732 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
6733 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
6735 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
6736 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
6738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
6739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
6741 if (r->array) {
6742 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
6745 return NDR_ERR_SUCCESS;
6748 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r)
6750 uint32_t cntr_array_1;
6751 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2");
6752 ndr->depth++;
6753 ndr_print_uint32(ndr, "count", r->count);
6754 ndr_print_ptr(ndr, "array", r->array);
6755 ndr->depth++;
6756 if (r->array) {
6757 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
6758 ndr->depth++;
6759 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
6760 char *idx_1=NULL;
6761 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
6762 ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]);
6763 free(idx_1);
6766 ndr->depth--;
6768 ndr->depth--;
6769 ndr->depth--;
6772 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r)
6774 if (ndr_flags & NDR_SCALARS) {
6775 NDR_CHECK(ndr_push_align(ndr, 4));
6776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
6777 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
6778 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name));
6779 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn));
6780 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn));
6781 NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn));
6782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn));
6783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc));
6784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled));
6785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc));
6786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc));
6787 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid));
6788 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6789 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid));
6790 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6792 if (ndr_flags & NDR_BUFFERS) {
6793 if (r->netbios_name) {
6794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
6797 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6799 if (r->dns_name) {
6800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
6803 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6805 if (r->site_name) {
6806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16)));
6809 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6811 if (r->site_dn) {
6812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16)));
6815 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6817 if (r->computer_dn) {
6818 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6819 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16)));
6821 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6823 if (r->server_dn) {
6824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6825 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16)));
6827 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6829 if (r->ntds_dn) {
6830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6831 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6832 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16)));
6833 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6836 return NDR_ERR_SUCCESS;
6839 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r)
6841 uint32_t _ptr_netbios_name;
6842 uint32_t size_netbios_name_1 = 0;
6843 uint32_t length_netbios_name_1 = 0;
6844 TALLOC_CTX *_mem_save_netbios_name_0;
6845 uint32_t _ptr_dns_name;
6846 uint32_t size_dns_name_1 = 0;
6847 uint32_t length_dns_name_1 = 0;
6848 TALLOC_CTX *_mem_save_dns_name_0;
6849 uint32_t _ptr_site_name;
6850 uint32_t size_site_name_1 = 0;
6851 uint32_t length_site_name_1 = 0;
6852 TALLOC_CTX *_mem_save_site_name_0;
6853 uint32_t _ptr_site_dn;
6854 uint32_t size_site_dn_1 = 0;
6855 uint32_t length_site_dn_1 = 0;
6856 TALLOC_CTX *_mem_save_site_dn_0;
6857 uint32_t _ptr_computer_dn;
6858 uint32_t size_computer_dn_1 = 0;
6859 uint32_t length_computer_dn_1 = 0;
6860 TALLOC_CTX *_mem_save_computer_dn_0;
6861 uint32_t _ptr_server_dn;
6862 uint32_t size_server_dn_1 = 0;
6863 uint32_t length_server_dn_1 = 0;
6864 TALLOC_CTX *_mem_save_server_dn_0;
6865 uint32_t _ptr_ntds_dn;
6866 uint32_t size_ntds_dn_1 = 0;
6867 uint32_t length_ntds_dn_1 = 0;
6868 TALLOC_CTX *_mem_save_ntds_dn_0;
6869 if (ndr_flags & NDR_SCALARS) {
6870 NDR_CHECK(ndr_pull_align(ndr, 4));
6871 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
6872 if (_ptr_netbios_name) {
6873 NDR_PULL_ALLOC(ndr, r->netbios_name);
6874 } else {
6875 r->netbios_name = NULL;
6877 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
6878 if (_ptr_dns_name) {
6879 NDR_PULL_ALLOC(ndr, r->dns_name);
6880 } else {
6881 r->dns_name = NULL;
6883 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
6884 if (_ptr_site_name) {
6885 NDR_PULL_ALLOC(ndr, r->site_name);
6886 } else {
6887 r->site_name = NULL;
6889 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn));
6890 if (_ptr_site_dn) {
6891 NDR_PULL_ALLOC(ndr, r->site_dn);
6892 } else {
6893 r->site_dn = NULL;
6895 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn));
6896 if (_ptr_computer_dn) {
6897 NDR_PULL_ALLOC(ndr, r->computer_dn);
6898 } else {
6899 r->computer_dn = NULL;
6901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn));
6902 if (_ptr_server_dn) {
6903 NDR_PULL_ALLOC(ndr, r->server_dn);
6904 } else {
6905 r->server_dn = NULL;
6907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn));
6908 if (_ptr_ntds_dn) {
6909 NDR_PULL_ALLOC(ndr, r->ntds_dn);
6910 } else {
6911 r->ntds_dn = NULL;
6913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc));
6914 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled));
6915 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc));
6916 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc));
6917 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid));
6918 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid));
6919 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid));
6920 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid));
6922 if (ndr_flags & NDR_BUFFERS) {
6923 if (r->netbios_name) {
6924 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6925 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
6926 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
6927 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
6928 size_netbios_name_1 = ndr_get_array_size(ndr, &r->netbios_name);
6929 length_netbios_name_1 = ndr_get_array_length(ndr, &r->netbios_name);
6930 if (length_netbios_name_1 > size_netbios_name_1) {
6931 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
6933 NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
6934 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
6935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
6937 if (r->dns_name) {
6938 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6939 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
6940 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
6941 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
6942 size_dns_name_1 = ndr_get_array_size(ndr, &r->dns_name);
6943 length_dns_name_1 = ndr_get_array_length(ndr, &r->dns_name);
6944 if (length_dns_name_1 > size_dns_name_1) {
6945 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
6947 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
6948 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
6949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
6951 if (r->site_name) {
6952 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6953 NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0);
6954 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name));
6955 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name));
6956 size_site_name_1 = ndr_get_array_size(ndr, &r->site_name);
6957 length_site_name_1 = ndr_get_array_length(ndr, &r->site_name);
6958 if (length_site_name_1 > size_site_name_1) {
6959 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
6961 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
6962 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
6963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
6965 if (r->site_dn) {
6966 _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6967 NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0);
6968 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn));
6969 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn));
6970 size_site_dn_1 = ndr_get_array_size(ndr, &r->site_dn);
6971 length_site_dn_1 = ndr_get_array_length(ndr, &r->site_dn);
6972 if (length_site_dn_1 > size_site_dn_1) {
6973 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_dn_1, length_site_dn_1);
6975 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_dn_1, sizeof(uint16_t)));
6976 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, length_site_dn_1, sizeof(uint16_t), CH_UTF16));
6977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0);
6979 if (r->computer_dn) {
6980 _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6981 NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0);
6982 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn));
6983 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn));
6984 size_computer_dn_1 = ndr_get_array_size(ndr, &r->computer_dn);
6985 length_computer_dn_1 = ndr_get_array_length(ndr, &r->computer_dn);
6986 if (length_computer_dn_1 > size_computer_dn_1) {
6987 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_dn_1, length_computer_dn_1);
6989 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_dn_1, sizeof(uint16_t)));
6990 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, length_computer_dn_1, sizeof(uint16_t), CH_UTF16));
6991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0);
6993 if (r->server_dn) {
6994 _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
6995 NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0);
6996 NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn));
6997 NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn));
6998 size_server_dn_1 = ndr_get_array_size(ndr, &r->server_dn);
6999 length_server_dn_1 = ndr_get_array_length(ndr, &r->server_dn);
7000 if (length_server_dn_1 > size_server_dn_1) {
7001 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_dn_1, length_server_dn_1);
7003 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_dn_1, sizeof(uint16_t)));
7004 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, length_server_dn_1, sizeof(uint16_t), CH_UTF16));
7005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0);
7007 if (r->ntds_dn) {
7008 _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
7009 NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0);
7010 NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn));
7011 NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn));
7012 size_ntds_dn_1 = ndr_get_array_size(ndr, &r->ntds_dn);
7013 length_ntds_dn_1 = ndr_get_array_length(ndr, &r->ntds_dn);
7014 if (length_ntds_dn_1 > size_ntds_dn_1) {
7015 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_ntds_dn_1, length_ntds_dn_1);
7017 NDR_CHECK(ndr_check_string_terminator(ndr, length_ntds_dn_1, sizeof(uint16_t)));
7018 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, length_ntds_dn_1, sizeof(uint16_t), CH_UTF16));
7019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0);
7022 return NDR_ERR_SUCCESS;
7025 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r)
7027 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3");
7028 ndr->depth++;
7029 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7030 ndr->depth++;
7031 if (r->netbios_name) {
7032 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7034 ndr->depth--;
7035 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7036 ndr->depth++;
7037 if (r->dns_name) {
7038 ndr_print_string(ndr, "dns_name", r->dns_name);
7040 ndr->depth--;
7041 ndr_print_ptr(ndr, "site_name", r->site_name);
7042 ndr->depth++;
7043 if (r->site_name) {
7044 ndr_print_string(ndr, "site_name", r->site_name);
7046 ndr->depth--;
7047 ndr_print_ptr(ndr, "site_dn", r->site_dn);
7048 ndr->depth++;
7049 if (r->site_dn) {
7050 ndr_print_string(ndr, "site_dn", r->site_dn);
7052 ndr->depth--;
7053 ndr_print_ptr(ndr, "computer_dn", r->computer_dn);
7054 ndr->depth++;
7055 if (r->computer_dn) {
7056 ndr_print_string(ndr, "computer_dn", r->computer_dn);
7058 ndr->depth--;
7059 ndr_print_ptr(ndr, "server_dn", r->server_dn);
7060 ndr->depth++;
7061 if (r->server_dn) {
7062 ndr_print_string(ndr, "server_dn", r->server_dn);
7064 ndr->depth--;
7065 ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn);
7066 ndr->depth++;
7067 if (r->ntds_dn) {
7068 ndr_print_string(ndr, "ntds_dn", r->ntds_dn);
7070 ndr->depth--;
7071 ndr_print_uint32(ndr, "is_pdc", r->is_pdc);
7072 ndr_print_uint32(ndr, "is_enabled", r->is_enabled);
7073 ndr_print_uint32(ndr, "is_gc", r->is_gc);
7074 ndr_print_uint32(ndr, "is_rodc", r->is_rodc);
7075 ndr_print_GUID(ndr, "site_guid", &r->site_guid);
7076 ndr_print_GUID(ndr, "computer_guid", &r->computer_guid);
7077 ndr_print_GUID(ndr, "server_guid", &r->server_guid);
7078 ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid);
7079 ndr->depth--;
7082 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r)
7084 uint32_t cntr_array_1;
7085 if (ndr_flags & NDR_SCALARS) {
7086 NDR_CHECK(ndr_push_align(ndr, 4));
7087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7088 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7090 if (ndr_flags & NDR_BUFFERS) {
7091 if (r->array) {
7092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7093 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7094 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7096 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7097 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7101 return NDR_ERR_SUCCESS;
7104 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r)
7106 uint32_t _ptr_array;
7107 uint32_t size_array_1 = 0;
7108 uint32_t cntr_array_1;
7109 TALLOC_CTX *_mem_save_array_0;
7110 TALLOC_CTX *_mem_save_array_1;
7111 if (ndr_flags & NDR_SCALARS) {
7112 NDR_CHECK(ndr_pull_align(ndr, 4));
7113 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7114 if (r->count > 10000) {
7115 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7117 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7118 if (_ptr_array) {
7119 NDR_PULL_ALLOC(ndr, r->array);
7120 } else {
7121 r->array = NULL;
7124 if (ndr_flags & NDR_BUFFERS) {
7125 if (r->array) {
7126 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7127 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7128 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7129 size_array_1 = ndr_get_array_size(ndr, &r->array);
7130 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
7131 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7132 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7133 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
7134 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7136 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
7137 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7142 if (r->array) {
7143 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7146 return NDR_ERR_SUCCESS;
7149 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r)
7151 uint32_t cntr_array_1;
7152 ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3");
7153 ndr->depth++;
7154 ndr_print_uint32(ndr, "count", r->count);
7155 ndr_print_ptr(ndr, "array", r->array);
7156 ndr->depth++;
7157 if (r->array) {
7158 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7159 ndr->depth++;
7160 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7161 char *idx_1=NULL;
7162 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7163 ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]);
7164 free(idx_1);
7167 ndr->depth--;
7169 ndr->depth--;
7170 ndr->depth--;
7173 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r)
7175 if (ndr_flags & NDR_SCALARS) {
7176 NDR_CHECK(ndr_push_align(ndr, 4));
7178 uint32_t _flags_save_ipv4address = ndr->flags;
7179 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7180 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
7181 ndr->flags = _flags_save_ipv4address;
7183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time));
7185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
7186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
7187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
7188 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account));
7190 if (ndr_flags & NDR_BUFFERS) {
7191 if (r->client_account) {
7192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16)));
7195 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7198 return NDR_ERR_SUCCESS;
7201 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r)
7203 uint32_t _ptr_client_account;
7204 uint32_t size_client_account_1 = 0;
7205 uint32_t length_client_account_1 = 0;
7206 TALLOC_CTX *_mem_save_client_account_0;
7207 if (ndr_flags & NDR_SCALARS) {
7208 NDR_CHECK(ndr_pull_align(ndr, 4));
7210 uint32_t _flags_save_ipv4address = ndr->flags;
7211 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
7212 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
7213 ndr->flags = _flags_save_ipv4address;
7215 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7216 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time));
7217 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
7218 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
7219 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
7220 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
7221 if (_ptr_client_account) {
7222 NDR_PULL_ALLOC(ndr, r->client_account);
7223 } else {
7224 r->client_account = NULL;
7227 if (ndr_flags & NDR_BUFFERS) {
7228 if (r->client_account) {
7229 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
7230 NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0);
7231 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account));
7232 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account));
7233 size_client_account_1 = ndr_get_array_size(ndr, &r->client_account);
7234 length_client_account_1 = ndr_get_array_length(ndr, &r->client_account);
7235 if (length_client_account_1 > size_client_account_1) {
7236 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_account_1, length_client_account_1);
7238 NDR_CHECK(ndr_check_string_terminator(ndr, length_client_account_1, sizeof(uint16_t)));
7239 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, length_client_account_1, sizeof(uint16_t), CH_UTF16));
7240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
7243 return NDR_ERR_SUCCESS;
7246 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r)
7248 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01");
7249 ndr->depth++;
7250 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
7251 ndr_print_uint32(ndr, "unknown2", r->unknown2);
7252 ndr_print_uint32(ndr, "connection_time", r->connection_time);
7253 ndr_print_uint32(ndr, "unknown4", r->unknown4);
7254 ndr_print_uint32(ndr, "unknown5", r->unknown5);
7255 ndr_print_uint32(ndr, "unknown6", r->unknown6);
7256 ndr_print_ptr(ndr, "client_account", r->client_account);
7257 ndr->depth++;
7258 if (r->client_account) {
7259 ndr_print_string(ndr, "client_account", r->client_account);
7261 ndr->depth--;
7262 ndr->depth--;
7265 static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r)
7267 uint32_t cntr_array_1;
7268 if (ndr_flags & NDR_SCALARS) {
7269 NDR_CHECK(ndr_push_align(ndr, 4));
7270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7271 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7273 if (ndr_flags & NDR_BUFFERS) {
7274 if (r->array) {
7275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7276 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7277 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7279 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7280 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7284 return NDR_ERR_SUCCESS;
7287 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r)
7289 uint32_t _ptr_array;
7290 uint32_t size_array_1 = 0;
7291 uint32_t cntr_array_1;
7292 TALLOC_CTX *_mem_save_array_0;
7293 TALLOC_CTX *_mem_save_array_1;
7294 if (ndr_flags & NDR_SCALARS) {
7295 NDR_CHECK(ndr_pull_align(ndr, 4));
7296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7297 if (r->count > 10000) {
7298 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7300 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7301 if (_ptr_array) {
7302 NDR_PULL_ALLOC(ndr, r->array);
7303 } else {
7304 r->array = NULL;
7307 if (ndr_flags & NDR_BUFFERS) {
7308 if (r->array) {
7309 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7310 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7311 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7312 size_array_1 = ndr_get_array_size(ndr, &r->array);
7313 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
7314 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7315 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7316 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
7317 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7319 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
7320 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7323 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7325 if (r->array) {
7326 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7329 return NDR_ERR_SUCCESS;
7332 _PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r)
7334 uint32_t cntr_array_1;
7335 ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01");
7336 ndr->depth++;
7337 ndr_print_uint32(ndr, "count", r->count);
7338 ndr_print_ptr(ndr, "array", r->array);
7339 ndr->depth++;
7340 if (r->array) {
7341 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7342 ndr->depth++;
7343 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7344 char *idx_1=NULL;
7345 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7346 ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]);
7347 free(idx_1);
7350 ndr->depth--;
7352 ndr->depth--;
7353 ndr->depth--;
7356 static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r)
7358 if (ndr_flags & NDR_SCALARS) {
7359 int level = ndr_push_get_switch_value(ndr, r);
7360 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
7361 switch (level) {
7362 case DRSUAPI_DC_INFO_CTR_1: {
7363 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
7364 break; }
7366 case DRSUAPI_DC_INFO_CTR_2: {
7367 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
7368 break; }
7370 case DRSUAPI_DC_INFO_CTR_3: {
7371 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
7372 break; }
7374 case DRSUAPI_DC_CONNECTION_CTR_01: {
7375 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
7376 break; }
7378 default:
7379 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7382 if (ndr_flags & NDR_BUFFERS) {
7383 int level = ndr_push_get_switch_value(ndr, r);
7384 switch (level) {
7385 case DRSUAPI_DC_INFO_CTR_1:
7386 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
7387 break;
7389 case DRSUAPI_DC_INFO_CTR_2:
7390 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
7391 break;
7393 case DRSUAPI_DC_INFO_CTR_3:
7394 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
7395 break;
7397 case DRSUAPI_DC_CONNECTION_CTR_01:
7398 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
7399 break;
7401 default:
7402 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7405 return NDR_ERR_SUCCESS;
7408 static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r)
7410 int level;
7411 int32_t _level;
7412 level = ndr_pull_get_switch_value(ndr, r);
7413 if (ndr_flags & NDR_SCALARS) {
7414 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7415 if (_level != level) {
7416 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7418 switch (level) {
7419 case DRSUAPI_DC_INFO_CTR_1: {
7420 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1));
7421 break; }
7423 case DRSUAPI_DC_INFO_CTR_2: {
7424 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2));
7425 break; }
7427 case DRSUAPI_DC_INFO_CTR_3: {
7428 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3));
7429 break; }
7431 case DRSUAPI_DC_CONNECTION_CTR_01: {
7432 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01));
7433 break; }
7435 default:
7436 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7439 if (ndr_flags & NDR_BUFFERS) {
7440 switch (level) {
7441 case DRSUAPI_DC_INFO_CTR_1:
7442 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1));
7443 break;
7445 case DRSUAPI_DC_INFO_CTR_2:
7446 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2));
7447 break;
7449 case DRSUAPI_DC_INFO_CTR_3:
7450 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3));
7451 break;
7453 case DRSUAPI_DC_CONNECTION_CTR_01:
7454 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01));
7455 break;
7457 default:
7458 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7461 return NDR_ERR_SUCCESS;
7464 _PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r)
7466 int level;
7467 level = ndr_print_get_switch_value(ndr, r);
7468 ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr");
7469 switch (level) {
7470 case DRSUAPI_DC_INFO_CTR_1:
7471 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1);
7472 break;
7474 case DRSUAPI_DC_INFO_CTR_2:
7475 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2);
7476 break;
7478 case DRSUAPI_DC_INFO_CTR_3:
7479 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3);
7480 break;
7482 case DRSUAPI_DC_CONNECTION_CTR_01:
7483 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01);
7484 break;
7486 default:
7487 ndr_print_bad_level(ndr, name, level);
7491 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r)
7493 if (ndr_flags & NDR_SCALARS) {
7494 NDR_CHECK(ndr_push_align(ndr, 4));
7495 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object));
7496 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
7498 if (ndr_flags & NDR_BUFFERS) {
7499 if (r->next_object) {
7500 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
7502 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
7504 return NDR_ERR_SUCCESS;
7507 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r)
7509 uint32_t _ptr_next_object;
7510 TALLOC_CTX *_mem_save_next_object_0;
7511 if (ndr_flags & NDR_SCALARS) {
7512 NDR_CHECK(ndr_pull_align(ndr, 4));
7513 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object));
7514 if (_ptr_next_object) {
7515 NDR_PULL_ALLOC(ndr, r->next_object);
7516 } else {
7517 r->next_object = NULL;
7519 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object));
7521 if (ndr_flags & NDR_BUFFERS) {
7522 if (r->next_object) {
7523 _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
7524 NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0);
7525 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object));
7526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0);
7528 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object));
7530 return NDR_ERR_SUCCESS;
7533 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r)
7535 if (ndr_flags & NDR_SCALARS) {
7536 NDR_CHECK(ndr_push_align(ndr, 4));
7537 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
7539 if (ndr_flags & NDR_BUFFERS) {
7540 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
7542 return NDR_ERR_SUCCESS;
7545 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r)
7547 if (ndr_flags & NDR_SCALARS) {
7548 NDR_CHECK(ndr_pull_align(ndr, 4));
7549 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object));
7551 if (ndr_flags & NDR_BUFFERS) {
7552 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object));
7554 return NDR_ERR_SUCCESS;
7557 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r)
7559 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2");
7560 ndr->depth++;
7561 ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object);
7562 ndr->depth--;
7565 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r)
7567 if (ndr_flags & NDR_SCALARS) {
7568 int level = ndr_push_get_switch_value(ndr, r);
7569 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
7570 switch (level) {
7571 case 2: {
7572 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
7573 break; }
7575 default:
7576 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7579 if (ndr_flags & NDR_BUFFERS) {
7580 int level = ndr_push_get_switch_value(ndr, r);
7581 switch (level) {
7582 case 2:
7583 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
7584 break;
7586 default:
7587 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7590 return NDR_ERR_SUCCESS;
7593 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r)
7595 int level;
7596 int32_t _level;
7597 level = ndr_pull_get_switch_value(ndr, r);
7598 if (ndr_flags & NDR_SCALARS) {
7599 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
7600 if (_level != level) {
7601 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7603 switch (level) {
7604 case 2: {
7605 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2));
7606 break; }
7608 default:
7609 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7612 if (ndr_flags & NDR_BUFFERS) {
7613 switch (level) {
7614 case 2:
7615 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2));
7616 break;
7618 default:
7619 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7622 return NDR_ERR_SUCCESS;
7625 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r)
7627 int level;
7628 level = ndr_print_get_switch_value(ndr, r);
7629 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest");
7630 switch (level) {
7631 case 2:
7632 ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2);
7633 break;
7635 default:
7636 ndr_print_bad_level(ndr, name, level);
7640 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r)
7642 if (ndr_flags & NDR_SCALARS) {
7643 NDR_CHECK(ndr_push_align(ndr, 4));
7644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
7645 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
7646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7647 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown3));
7649 if (ndr_flags & NDR_BUFFERS) {
7651 return NDR_ERR_SUCCESS;
7654 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r)
7656 if (ndr_flags & NDR_SCALARS) {
7657 NDR_CHECK(ndr_pull_align(ndr, 4));
7658 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
7659 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
7660 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7661 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown3));
7663 if (ndr_flags & NDR_BUFFERS) {
7665 return NDR_ERR_SUCCESS;
7668 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r)
7670 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX");
7671 ndr->depth++;
7672 ndr_print_uint32(ndr, "unknown1", r->unknown1);
7673 ndr_print_WERROR(ndr, "status", r->status);
7674 ndr_print_uint32(ndr, "unknown2", r->unknown2);
7675 ndr_print_uint16(ndr, "unknown3", r->unknown3);
7676 ndr->depth--;
7679 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
7681 if (ndr_flags & NDR_SCALARS) {
7682 NDR_CHECK(ndr_push_align(ndr, 4));
7683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7684 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
7686 if (ndr_flags & NDR_BUFFERS) {
7687 if (r->data) {
7688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7689 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
7692 return NDR_ERR_SUCCESS;
7695 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraErrorBuffer *r)
7697 uint32_t _ptr_data;
7698 uint32_t size_data_1 = 0;
7699 TALLOC_CTX *_mem_save_data_0;
7700 if (ndr_flags & NDR_SCALARS) {
7701 NDR_CHECK(ndr_pull_align(ndr, 4));
7702 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7703 if (r->size > 10485760) {
7704 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7706 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
7707 if (_ptr_data) {
7708 NDR_PULL_ALLOC(ndr, r->data);
7709 } else {
7710 r->data = NULL;
7713 if (ndr_flags & NDR_BUFFERS) {
7714 if (r->data) {
7715 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
7716 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
7717 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
7718 size_data_1 = ndr_get_array_size(ndr, &r->data);
7719 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
7720 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
7721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
7723 if (r->data) {
7724 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
7727 return NDR_ERR_SUCCESS;
7730 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraErrorBuffer *r)
7732 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraErrorBuffer");
7733 ndr->depth++;
7734 ndr_print_uint32(ndr, "size", r->size);
7735 ndr_print_ptr(ndr, "data", r->data);
7736 ndr->depth++;
7737 if (r->data) {
7738 ndr_print_array_uint8(ndr, "data", r->data, r->size);
7740 ndr->depth--;
7741 ndr->depth--;
7744 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryExtraError1 *r)
7746 if (ndr_flags & NDR_SCALARS) {
7747 NDR_CHECK(ndr_push_align(ndr, 4));
7748 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
7749 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid));
7750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
7751 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
7753 if (ndr_flags & NDR_BUFFERS) {
7754 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
7756 return NDR_ERR_SUCCESS;
7759 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryExtraError1 *r)
7761 if (ndr_flags & NDR_SCALARS) {
7762 NDR_CHECK(ndr_pull_align(ndr, 4));
7763 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
7764 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid));
7765 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
7766 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_SCALARS, &r->buffer));
7768 if (ndr_flags & NDR_BUFFERS) {
7769 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr, NDR_BUFFERS, &r->buffer));
7771 return NDR_ERR_SUCCESS;
7774 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryExtraError1 *r)
7776 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryExtraError1");
7777 ndr->depth++;
7778 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
7779 ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid);
7780 ndr_print_uint32(ndr, "unknown2", r->unknown2);
7781 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr, "buffer", &r->buffer);
7782 ndr->depth--;
7785 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorListItem1 *r)
7787 if (ndr_flags & NDR_SCALARS) {
7788 NDR_CHECK(ndr_push_align(ndr, 4));
7789 NDR_CHECK(ndr_push_unique_ptr(ndr, r->next));
7790 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
7792 if (ndr_flags & NDR_BUFFERS) {
7793 if (r->next) {
7794 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
7796 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
7798 return NDR_ERR_SUCCESS;
7801 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorListItem1 *r)
7803 uint32_t _ptr_next;
7804 TALLOC_CTX *_mem_save_next_0;
7805 if (ndr_flags & NDR_SCALARS) {
7806 NDR_CHECK(ndr_pull_align(ndr, 4));
7807 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next));
7808 if (_ptr_next) {
7809 NDR_PULL_ALLOC(ndr, r->next);
7810 } else {
7811 r->next = NULL;
7813 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_SCALARS, &r->error));
7815 if (ndr_flags & NDR_BUFFERS) {
7816 if (r->next) {
7817 _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr);
7818 NDR_PULL_SET_MEM_CTX(ndr, r->next, 0);
7819 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next));
7820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0);
7822 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr, NDR_BUFFERS, &r->error));
7824 return NDR_ERR_SUCCESS;
7827 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorListItem1 *r)
7829 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorListItem1");
7830 ndr->depth++;
7831 ndr_print_ptr(ndr, "next", r->next);
7832 ndr->depth++;
7833 if (r->next) {
7834 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "next", r->next);
7836 ndr->depth--;
7837 ndr_print_drsuapi_DsAddEntryExtraError1(ndr, "error", &r->error);
7838 ndr->depth--;
7841 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo1 *r)
7843 if (ndr_flags & NDR_SCALARS) {
7844 NDR_CHECK(ndr_push_align(ndr, 4));
7845 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
7846 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
7847 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
7849 if (ndr_flags & NDR_BUFFERS) {
7850 if (r->id) {
7851 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
7853 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
7855 return NDR_ERR_SUCCESS;
7858 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo1 *r)
7860 uint32_t _ptr_id;
7861 TALLOC_CTX *_mem_save_id_0;
7862 if (ndr_flags & NDR_SCALARS) {
7863 NDR_CHECK(ndr_pull_align(ndr, 4));
7864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
7865 if (_ptr_id) {
7866 NDR_PULL_ALLOC(ndr, r->id);
7867 } else {
7868 r->id = NULL;
7870 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
7871 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_SCALARS, &r->first));
7873 if (ndr_flags & NDR_BUFFERS) {
7874 if (r->id) {
7875 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
7876 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
7877 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
7878 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
7880 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr, NDR_BUFFERS, &r->first));
7882 return NDR_ERR_SUCCESS;
7885 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo1 *r)
7887 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo1");
7888 ndr->depth++;
7889 ndr_print_ptr(ndr, "id", r->id);
7890 ndr->depth++;
7891 if (r->id) {
7892 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
7894 ndr->depth--;
7895 ndr_print_WERROR(ndr, "status", r->status);
7896 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr, "first", &r->first);
7897 ndr->depth--;
7900 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r)
7902 if (ndr_flags & NDR_SCALARS) {
7903 int level = ndr_push_get_switch_value(ndr, r);
7904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7905 switch (level) {
7906 case 1: {
7907 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
7908 break; }
7910 case 4: {
7911 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7912 break; }
7914 case 5: {
7915 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7916 break; }
7918 case 6: {
7919 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7920 break; }
7922 case 7: {
7923 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7924 break; }
7926 default:
7927 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7930 if (ndr_flags & NDR_BUFFERS) {
7931 int level = ndr_push_get_switch_value(ndr, r);
7932 switch (level) {
7933 case 1:
7934 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
7935 break;
7937 case 4:
7938 break;
7940 case 5:
7941 break;
7943 case 6:
7944 break;
7946 case 7:
7947 break;
7949 default:
7950 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7953 return NDR_ERR_SUCCESS;
7956 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r)
7958 int level;
7959 uint32_t _level;
7960 level = ndr_pull_get_switch_value(ndr, r);
7961 if (ndr_flags & NDR_SCALARS) {
7962 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7963 if (_level != level) {
7964 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7966 switch (level) {
7967 case 1: {
7968 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_SCALARS, &r->error1));
7969 break; }
7971 case 4: {
7972 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7973 break; }
7975 case 5: {
7976 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7977 break; }
7979 case 6: {
7980 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7981 break; }
7983 case 7: {
7984 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->errorX));
7985 break; }
7987 default:
7988 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7991 if (ndr_flags & NDR_BUFFERS) {
7992 switch (level) {
7993 case 1:
7994 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr, NDR_BUFFERS, &r->error1));
7995 break;
7997 case 4:
7998 break;
8000 case 5:
8001 break;
8003 case 6:
8004 break;
8006 case 7:
8007 break;
8009 default:
8010 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8013 return NDR_ERR_SUCCESS;
8016 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r)
8018 int level;
8019 level = ndr_print_get_switch_value(ndr, r);
8020 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo");
8021 switch (level) {
8022 case 1:
8023 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr, "error1", &r->error1);
8024 break;
8026 case 4:
8027 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8028 break;
8030 case 5:
8031 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8032 break;
8034 case 6:
8035 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8036 break;
8038 case 7:
8039 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "errorX", &r->errorX);
8040 break;
8042 default:
8043 ndr_print_bad_level(ndr, name, level);
8047 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryError1 *r)
8049 if (ndr_flags & NDR_SCALARS) {
8050 NDR_CHECK(ndr_push_align(ndr, 4));
8051 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status));
8052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8053 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8055 if (ndr_flags & NDR_BUFFERS) {
8056 if (r->info) {
8057 NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->level));
8058 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8061 return NDR_ERR_SUCCESS;
8064 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryError1 *r)
8066 uint32_t _ptr_info;
8067 TALLOC_CTX *_mem_save_info_0;
8068 if (ndr_flags & NDR_SCALARS) {
8069 NDR_CHECK(ndr_pull_align(ndr, 4));
8070 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status));
8071 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8072 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8073 if (_ptr_info) {
8074 NDR_PULL_ALLOC(ndr, r->info);
8075 } else {
8076 r->info = NULL;
8079 if (ndr_flags & NDR_BUFFERS) {
8080 if (r->info) {
8081 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8082 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8083 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->level));
8084 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
8085 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8088 return NDR_ERR_SUCCESS;
8091 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryError1 *r)
8093 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryError1");
8094 ndr->depth++;
8095 ndr_print_WERROR(ndr, "status", r->status);
8096 ndr_print_uint32(ndr, "level", r->level);
8097 ndr_print_ptr(ndr, "info", r->info);
8098 ndr->depth++;
8099 if (r->info) {
8100 ndr_print_set_switch_value(ndr, r->info, r->level);
8101 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info);
8103 ndr->depth--;
8104 ndr->depth--;
8107 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryError(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryError *r)
8109 if (ndr_flags & NDR_SCALARS) {
8110 int level = ndr_push_get_switch_value(ndr, r);
8111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8112 switch (level) {
8113 case 1: {
8114 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8115 break; }
8117 default:
8118 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8121 if (ndr_flags & NDR_BUFFERS) {
8122 int level = ndr_push_get_switch_value(ndr, r);
8123 switch (level) {
8124 case 1:
8125 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8126 break;
8128 default:
8129 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8132 return NDR_ERR_SUCCESS;
8135 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryError *r)
8137 int level;
8138 uint32_t _level;
8139 level = ndr_pull_get_switch_value(ndr, r);
8140 if (ndr_flags & NDR_SCALARS) {
8141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8142 if (_level != level) {
8143 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8145 switch (level) {
8146 case 1: {
8147 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_SCALARS, &r->info1));
8148 break; }
8150 default:
8151 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8154 if (ndr_flags & NDR_BUFFERS) {
8155 switch (level) {
8156 case 1:
8157 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr, NDR_BUFFERS, &r->info1));
8158 break;
8160 default:
8161 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8164 return NDR_ERR_SUCCESS;
8167 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryError(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryError *r)
8169 int level;
8170 level = ndr_print_get_switch_value(ndr, r);
8171 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryError");
8172 switch (level) {
8173 case 1:
8174 ndr_print_drsuapi_DsAddEntryError1(ndr, "info1", &r->info1);
8175 break;
8177 default:
8178 ndr_print_bad_level(ndr, name, level);
8182 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8184 if (ndr_flags & NDR_SCALARS) {
8185 NDR_CHECK(ndr_push_align(ndr, 4));
8186 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8187 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8189 if (ndr_flags & NDR_BUFFERS) {
8190 NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8192 return NDR_ERR_SUCCESS;
8195 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r)
8197 if (ndr_flags & NDR_SCALARS) {
8198 NDR_CHECK(ndr_pull_align(ndr, 4));
8199 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8200 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid));
8202 if (ndr_flags & NDR_BUFFERS) {
8203 NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid));
8205 return NDR_ERR_SUCCESS;
8208 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r)
8210 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2");
8211 ndr->depth++;
8212 ndr_print_GUID(ndr, "guid", &r->guid);
8213 ndr_print_dom_sid28(ndr, "sid", &r->sid);
8214 ndr->depth--;
8217 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r)
8219 uint32_t cntr_objects_1;
8220 if (ndr_flags & NDR_SCALARS) {
8221 NDR_CHECK(ndr_push_align(ndr, 4));
8222 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8224 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8226 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
8228 if (ndr_flags & NDR_BUFFERS) {
8229 if (r->id) {
8230 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8232 if (r->objects) {
8233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8234 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8235 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8237 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8238 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8242 return NDR_ERR_SUCCESS;
8245 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r)
8247 uint32_t _ptr_id;
8248 TALLOC_CTX *_mem_save_id_0;
8249 uint32_t _ptr_objects;
8250 uint32_t size_objects_1 = 0;
8251 uint32_t cntr_objects_1;
8252 TALLOC_CTX *_mem_save_objects_0;
8253 TALLOC_CTX *_mem_save_objects_1;
8254 if (ndr_flags & NDR_SCALARS) {
8255 NDR_CHECK(ndr_pull_align(ndr, 4));
8256 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8257 if (_ptr_id) {
8258 NDR_PULL_ALLOC(ndr, r->id);
8259 } else {
8260 r->id = NULL;
8262 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8263 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->error));
8264 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8265 if (r->count > 10000) {
8266 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8268 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
8269 if (_ptr_objects) {
8270 NDR_PULL_ALLOC(ndr, r->objects);
8271 } else {
8272 r->objects = NULL;
8275 if (ndr_flags & NDR_BUFFERS) {
8276 if (r->id) {
8277 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8278 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8279 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8282 if (r->objects) {
8283 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
8284 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8285 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
8286 size_objects_1 = ndr_get_array_size(ndr, &r->objects);
8287 NDR_PULL_ALLOC_N(ndr, r->objects, size_objects_1);
8288 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
8289 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8290 for (cntr_objects_1 = 0; cntr_objects_1 < size_objects_1; cntr_objects_1++) {
8291 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8293 for (cntr_objects_1 = 0; cntr_objects_1 < size_objects_1; cntr_objects_1++) {
8294 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
8297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
8299 if (r->objects) {
8300 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
8303 return NDR_ERR_SUCCESS;
8306 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r)
8308 uint32_t cntr_objects_1;
8309 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2");
8310 ndr->depth++;
8311 ndr_print_ptr(ndr, "id", r->id);
8312 ndr->depth++;
8313 if (r->id) {
8314 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8316 ndr->depth--;
8317 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8318 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "error", &r->error);
8319 ndr_print_uint32(ndr, "count", r->count);
8320 ndr_print_ptr(ndr, "objects", r->objects);
8321 ndr->depth++;
8322 if (r->objects) {
8323 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
8324 ndr->depth++;
8325 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
8326 char *idx_1=NULL;
8327 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
8328 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
8329 free(idx_1);
8332 ndr->depth--;
8334 ndr->depth--;
8335 ndr->depth--;
8338 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r)
8340 uint32_t cntr_objects_1;
8341 if (ndr_flags & NDR_SCALARS) {
8342 NDR_CHECK(ndr_push_align(ndr, 4));
8343 NDR_CHECK(ndr_push_unique_ptr(ndr, r->id));
8344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
8345 NDR_CHECK(ndr_push_unique_ptr(ndr, r->error));
8346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8347 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects));
8349 if (ndr_flags & NDR_BUFFERS) {
8350 if (r->id) {
8351 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8353 if (r->error) {
8354 NDR_CHECK(ndr_push_set_switch_value(ndr, r->error, r->level));
8355 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
8357 if (r->objects) {
8358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8359 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8360 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8362 for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) {
8363 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8367 return NDR_ERR_SUCCESS;
8370 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r)
8372 uint32_t _ptr_id;
8373 TALLOC_CTX *_mem_save_id_0;
8374 uint32_t _ptr_error;
8375 TALLOC_CTX *_mem_save_error_0;
8376 uint32_t _ptr_objects;
8377 uint32_t size_objects_1 = 0;
8378 uint32_t cntr_objects_1;
8379 TALLOC_CTX *_mem_save_objects_0;
8380 TALLOC_CTX *_mem_save_objects_1;
8381 if (ndr_flags & NDR_SCALARS) {
8382 NDR_CHECK(ndr_pull_align(ndr, 4));
8383 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id));
8384 if (_ptr_id) {
8385 NDR_PULL_ALLOC(ndr, r->id);
8386 } else {
8387 r->id = NULL;
8389 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
8390 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_error));
8391 if (_ptr_error) {
8392 NDR_PULL_ALLOC(ndr, r->error);
8393 } else {
8394 r->error = NULL;
8396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8397 if (r->count > 10000) {
8398 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
8400 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects));
8401 if (_ptr_objects) {
8402 NDR_PULL_ALLOC(ndr, r->objects);
8403 } else {
8404 r->objects = NULL;
8407 if (ndr_flags & NDR_BUFFERS) {
8408 if (r->id) {
8409 _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8410 NDR_PULL_SET_MEM_CTX(ndr, r->id, 0);
8411 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id));
8412 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0);
8414 if (r->error) {
8415 _mem_save_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
8416 NDR_PULL_SET_MEM_CTX(ndr, r->error, 0);
8417 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->error, r->level));
8418 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr, NDR_SCALARS|NDR_BUFFERS, r->error));
8419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_error_0, 0);
8421 if (r->objects) {
8422 _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr);
8423 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8424 NDR_CHECK(ndr_pull_array_size(ndr, &r->objects));
8425 size_objects_1 = ndr_get_array_size(ndr, &r->objects);
8426 NDR_PULL_ALLOC_N(ndr, r->objects, size_objects_1);
8427 _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr);
8428 NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0);
8429 for (cntr_objects_1 = 0; cntr_objects_1 < size_objects_1; cntr_objects_1++) {
8430 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1]));
8432 for (cntr_objects_1 = 0; cntr_objects_1 < size_objects_1; cntr_objects_1++) {
8433 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1]));
8435 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0);
8436 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0);
8438 if (r->objects) {
8439 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count));
8442 return NDR_ERR_SUCCESS;
8445 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r)
8447 uint32_t cntr_objects_1;
8448 ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3");
8449 ndr->depth++;
8450 ndr_print_ptr(ndr, "id", r->id);
8451 ndr->depth++;
8452 if (r->id) {
8453 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id);
8455 ndr->depth--;
8456 ndr_print_uint32(ndr, "level", r->level);
8457 ndr_print_ptr(ndr, "error", r->error);
8458 ndr->depth++;
8459 if (r->error) {
8460 ndr_print_set_switch_value(ndr, r->error, r->level);
8461 ndr_print_drsuapi_DsAddEntryError(ndr, "error", r->error);
8463 ndr->depth--;
8464 ndr_print_uint32(ndr, "count", r->count);
8465 ndr_print_ptr(ndr, "objects", r->objects);
8466 ndr->depth++;
8467 if (r->objects) {
8468 ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count);
8469 ndr->depth++;
8470 for (cntr_objects_1=0;cntr_objects_1<r->count;cntr_objects_1++) {
8471 char *idx_1=NULL;
8472 if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) {
8473 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]);
8474 free(idx_1);
8477 ndr->depth--;
8479 ndr->depth--;
8480 ndr->depth--;
8483 static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r)
8485 if (ndr_flags & NDR_SCALARS) {
8486 int level = ndr_push_get_switch_value(ndr, r);
8487 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
8488 switch (level) {
8489 case 2: {
8490 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
8491 break; }
8493 case 3: {
8494 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
8495 break; }
8497 default:
8498 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8501 if (ndr_flags & NDR_BUFFERS) {
8502 int level = ndr_push_get_switch_value(ndr, r);
8503 switch (level) {
8504 case 2:
8505 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8506 break;
8508 case 3:
8509 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8510 break;
8512 default:
8513 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8516 return NDR_ERR_SUCCESS;
8519 static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r)
8521 int level;
8522 int32_t _level;
8523 level = ndr_pull_get_switch_value(ndr, r);
8524 if (ndr_flags & NDR_SCALARS) {
8525 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
8526 if (_level != level) {
8527 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8529 switch (level) {
8530 case 2: {
8531 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2));
8532 break; }
8534 case 3: {
8535 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3));
8536 break; }
8538 default:
8539 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8542 if (ndr_flags & NDR_BUFFERS) {
8543 switch (level) {
8544 case 2:
8545 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2));
8546 break;
8548 case 3:
8549 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3));
8550 break;
8552 default:
8553 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8556 return NDR_ERR_SUCCESS;
8559 _PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r)
8561 int level;
8562 level = ndr_print_get_switch_value(ndr, r);
8563 ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr");
8564 switch (level) {
8565 case 2:
8566 ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2);
8567 break;
8569 case 3:
8570 ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3);
8571 break;
8573 default:
8574 ndr_print_bad_level(ndr, name, level);
8578 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r)
8580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8581 return NDR_ERR_SUCCESS;
8584 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r)
8586 uint32_t v;
8587 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8588 *r = v;
8589 return NDR_ERR_SUCCESS;
8592 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r)
8594 const char *val = NULL;
8596 switch (r) {
8597 case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break;
8598 case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
8600 ndr_print_enum(ndr, name, "ENUM", val, r);
8603 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r)
8605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8606 return NDR_ERR_SUCCESS;
8609 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r)
8611 uint32_t v;
8612 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8613 *r = v;
8614 return NDR_ERR_SUCCESS;
8617 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r)
8619 const char *val = NULL;
8621 switch (r) {
8622 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
8623 case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
8624 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
8625 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
8626 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
8627 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
8628 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
8629 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
8630 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
8631 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
8632 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
8633 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02"; break;
8634 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: val = "DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04"; break;
8635 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS05"; break;
8636 case DRSUAPI_DS_REPLICA_INFO_06: val = "DRSUAPI_DS_REPLICA_INFO_06"; break;
8638 ndr_print_enum(ndr, name, "ENUM", val, r);
8641 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
8643 if (ndr_flags & NDR_SCALARS) {
8644 NDR_CHECK(ndr_push_align(ndr, 4));
8645 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
8646 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
8647 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
8649 if (ndr_flags & NDR_BUFFERS) {
8650 if (r->object_dn) {
8651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
8652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
8654 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8657 return NDR_ERR_SUCCESS;
8660 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r)
8662 uint32_t _ptr_object_dn;
8663 uint32_t size_object_dn_1 = 0;
8664 uint32_t length_object_dn_1 = 0;
8665 TALLOC_CTX *_mem_save_object_dn_0;
8666 if (ndr_flags & NDR_SCALARS) {
8667 NDR_CHECK(ndr_pull_align(ndr, 4));
8668 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
8669 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
8670 if (_ptr_object_dn) {
8671 NDR_PULL_ALLOC(ndr, r->object_dn);
8672 } else {
8673 r->object_dn = NULL;
8675 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
8677 if (ndr_flags & NDR_BUFFERS) {
8678 if (r->object_dn) {
8679 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8680 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
8681 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
8682 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
8683 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
8684 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
8685 if (length_object_dn_1 > size_object_dn_1) {
8686 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
8688 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
8689 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
8690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
8693 return NDR_ERR_SUCCESS;
8696 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r)
8698 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1");
8699 ndr->depth++;
8700 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
8701 ndr_print_ptr(ndr, "object_dn", r->object_dn);
8702 ndr->depth++;
8703 if (r->object_dn) {
8704 ndr_print_string(ndr, "object_dn", r->object_dn);
8706 ndr->depth--;
8707 ndr_print_GUID(ndr, "guid1", &r->guid1);
8708 ndr->depth--;
8711 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
8713 if (ndr_flags & NDR_SCALARS) {
8714 NDR_CHECK(ndr_push_align(ndr, 4));
8715 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
8716 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
8717 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
8718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
8719 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
8720 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
8721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
8723 if (ndr_flags & NDR_BUFFERS) {
8724 if (r->object_dn) {
8725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
8726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
8728 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8730 if (r->string1) {
8731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
8732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
8734 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8736 if (r->string2) {
8737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
8738 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8739 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
8740 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8743 return NDR_ERR_SUCCESS;
8746 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r)
8748 uint32_t _ptr_object_dn;
8749 uint32_t size_object_dn_1 = 0;
8750 uint32_t length_object_dn_1 = 0;
8751 TALLOC_CTX *_mem_save_object_dn_0;
8752 uint32_t _ptr_string1;
8753 uint32_t size_string1_1 = 0;
8754 uint32_t length_string1_1 = 0;
8755 TALLOC_CTX *_mem_save_string1_0;
8756 uint32_t _ptr_string2;
8757 uint32_t size_string2_1 = 0;
8758 uint32_t length_string2_1 = 0;
8759 TALLOC_CTX *_mem_save_string2_0;
8760 if (ndr_flags & NDR_SCALARS) {
8761 NDR_CHECK(ndr_pull_align(ndr, 4));
8762 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
8763 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
8764 if (_ptr_object_dn) {
8765 NDR_PULL_ALLOC(ndr, r->object_dn);
8766 } else {
8767 r->object_dn = NULL;
8769 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
8770 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
8771 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
8772 if (_ptr_string1) {
8773 NDR_PULL_ALLOC(ndr, r->string1);
8774 } else {
8775 r->string1 = NULL;
8777 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
8778 if (_ptr_string2) {
8779 NDR_PULL_ALLOC(ndr, r->string2);
8780 } else {
8781 r->string2 = NULL;
8783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
8785 if (ndr_flags & NDR_BUFFERS) {
8786 if (r->object_dn) {
8787 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
8788 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
8789 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
8790 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
8791 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
8792 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
8793 if (length_object_dn_1 > size_object_dn_1) {
8794 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
8796 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
8797 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
8798 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
8800 if (r->string1) {
8801 _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
8802 NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
8803 NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
8804 NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
8805 size_string1_1 = ndr_get_array_size(ndr, &r->string1);
8806 length_string1_1 = ndr_get_array_length(ndr, &r->string1);
8807 if (length_string1_1 > size_string1_1) {
8808 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string1_1, length_string1_1);
8810 NDR_CHECK(ndr_check_string_terminator(ndr, length_string1_1, sizeof(uint16_t)));
8811 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, length_string1_1, sizeof(uint16_t), CH_UTF16));
8812 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
8814 if (r->string2) {
8815 _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
8816 NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
8817 NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
8818 NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
8819 size_string2_1 = ndr_get_array_size(ndr, &r->string2);
8820 length_string2_1 = ndr_get_array_length(ndr, &r->string2);
8821 if (length_string2_1 > size_string2_1) {
8822 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string2_1, length_string2_1);
8824 NDR_CHECK(ndr_check_string_terminator(ndr, length_string2_1, sizeof(uint16_t)));
8825 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, length_string2_1, sizeof(uint16_t), CH_UTF16));
8826 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
8829 return NDR_ERR_SUCCESS;
8832 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r)
8834 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2");
8835 ndr->depth++;
8836 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type);
8837 ndr_print_ptr(ndr, "object_dn", r->object_dn);
8838 ndr->depth++;
8839 if (r->object_dn) {
8840 ndr_print_string(ndr, "object_dn", r->object_dn);
8842 ndr->depth--;
8843 ndr_print_GUID(ndr, "guid1", &r->guid1);
8844 ndr_print_uint32(ndr, "unknown1", r->unknown1);
8845 ndr_print_ptr(ndr, "string1", r->string1);
8846 ndr->depth++;
8847 if (r->string1) {
8848 ndr_print_string(ndr, "string1", r->string1);
8850 ndr->depth--;
8851 ndr_print_ptr(ndr, "string2", r->string2);
8852 ndr->depth++;
8853 if (r->string2) {
8854 ndr_print_string(ndr, "string2", r->string2);
8856 ndr->depth--;
8857 ndr_print_uint32(ndr, "unknown2", r->unknown2);
8858 ndr->depth--;
8861 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r)
8863 if (ndr_flags & NDR_SCALARS) {
8864 int level = ndr_push_get_switch_value(ndr, r);
8865 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level));
8866 switch (level) {
8867 case DRSUAPI_DS_REPLICA_GET_INFO: {
8868 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
8869 break; }
8871 case DRSUAPI_DS_REPLICA_GET_INFO2: {
8872 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
8873 break; }
8875 default:
8876 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8879 if (ndr_flags & NDR_BUFFERS) {
8880 int level = ndr_push_get_switch_value(ndr, r);
8881 switch (level) {
8882 case DRSUAPI_DS_REPLICA_GET_INFO:
8883 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
8884 break;
8886 case DRSUAPI_DS_REPLICA_GET_INFO2:
8887 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
8888 break;
8890 default:
8891 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8894 return NDR_ERR_SUCCESS;
8897 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r)
8899 int level;
8900 uint32_t _level;
8901 level = ndr_pull_get_switch_value(ndr, r);
8902 if (ndr_flags & NDR_SCALARS) {
8903 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8904 if (_level != level) {
8905 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8907 switch (level) {
8908 case DRSUAPI_DS_REPLICA_GET_INFO: {
8909 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1));
8910 break; }
8912 case DRSUAPI_DS_REPLICA_GET_INFO2: {
8913 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2));
8914 break; }
8916 default:
8917 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8920 if (ndr_flags & NDR_BUFFERS) {
8921 switch (level) {
8922 case DRSUAPI_DS_REPLICA_GET_INFO:
8923 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1));
8924 break;
8926 case DRSUAPI_DS_REPLICA_GET_INFO2:
8927 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2));
8928 break;
8930 default:
8931 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8934 return NDR_ERR_SUCCESS;
8937 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r)
8939 int level;
8940 level = ndr_print_get_switch_value(ndr, r);
8941 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest");
8942 switch (level) {
8943 case DRSUAPI_DS_REPLICA_GET_INFO:
8944 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1);
8945 break;
8947 case DRSUAPI_DS_REPLICA_GET_INFO2:
8948 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2);
8949 break;
8951 default:
8952 ndr_print_bad_level(ndr, name, level);
8956 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r)
8958 if (ndr_flags & NDR_SCALARS) {
8959 NDR_CHECK(ndr_push_align(ndr, 8));
8960 NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn));
8961 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
8962 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
8963 NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn));
8964 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, r->replica_flags));
8965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
8966 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
8967 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
8968 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
8969 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
8970 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn));
8971 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
8972 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success));
8973 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt));
8974 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt));
8975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures));
8977 if (ndr_flags & NDR_BUFFERS) {
8978 if (r->naming_context_dn) {
8979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
8980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16)));
8982 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));
8984 if (r->source_dsa_obj_dn) {
8985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
8986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
8988 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));
8990 if (r->source_dsa_address) {
8991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
8992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16)));
8994 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));
8996 if (r->transport_obj_dn) {
8997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
8998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16)));
9000 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));
9003 return NDR_ERR_SUCCESS;
9006 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r)
9008 uint32_t _ptr_naming_context_dn;
9009 uint32_t size_naming_context_dn_1 = 0;
9010 uint32_t length_naming_context_dn_1 = 0;
9011 TALLOC_CTX *_mem_save_naming_context_dn_0;
9012 uint32_t _ptr_source_dsa_obj_dn;
9013 uint32_t size_source_dsa_obj_dn_1 = 0;
9014 uint32_t length_source_dsa_obj_dn_1 = 0;
9015 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
9016 uint32_t _ptr_source_dsa_address;
9017 uint32_t size_source_dsa_address_1 = 0;
9018 uint32_t length_source_dsa_address_1 = 0;
9019 TALLOC_CTX *_mem_save_source_dsa_address_0;
9020 uint32_t _ptr_transport_obj_dn;
9021 uint32_t size_transport_obj_dn_1 = 0;
9022 uint32_t length_transport_obj_dn_1 = 0;
9023 TALLOC_CTX *_mem_save_transport_obj_dn_0;
9024 if (ndr_flags & NDR_SCALARS) {
9025 NDR_CHECK(ndr_pull_align(ndr, 8));
9026 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn));
9027 if (_ptr_naming_context_dn) {
9028 NDR_PULL_ALLOC(ndr, r->naming_context_dn);
9029 } else {
9030 r->naming_context_dn = NULL;
9032 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
9033 if (_ptr_source_dsa_obj_dn) {
9034 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
9035 } else {
9036 r->source_dsa_obj_dn = NULL;
9038 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address));
9039 if (_ptr_source_dsa_address) {
9040 NDR_PULL_ALLOC(ndr, r->source_dsa_address);
9041 } else {
9042 r->source_dsa_address = NULL;
9044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn));
9045 if (_ptr_transport_obj_dn) {
9046 NDR_PULL_ALLOC(ndr, r->transport_obj_dn);
9047 } else {
9048 r->transport_obj_dn = NULL;
9050 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourFlags(ndr, NDR_SCALARS, &r->replica_flags));
9051 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9052 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid));
9053 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid));
9054 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
9055 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid));
9056 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn));
9057 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
9058 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success));
9059 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt));
9060 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt));
9061 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures));
9063 if (ndr_flags & NDR_BUFFERS) {
9064 if (r->naming_context_dn) {
9065 _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9066 NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0);
9067 NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn));
9068 NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn));
9069 size_naming_context_dn_1 = ndr_get_array_size(ndr, &r->naming_context_dn);
9070 length_naming_context_dn_1 = ndr_get_array_length(ndr, &r->naming_context_dn);
9071 if (length_naming_context_dn_1 > size_naming_context_dn_1) {
9072 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_naming_context_dn_1, length_naming_context_dn_1);
9074 NDR_CHECK(ndr_check_string_terminator(ndr, length_naming_context_dn_1, sizeof(uint16_t)));
9075 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, length_naming_context_dn_1, sizeof(uint16_t), CH_UTF16));
9076 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0);
9078 if (r->source_dsa_obj_dn) {
9079 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9080 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
9081 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
9082 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
9083 size_source_dsa_obj_dn_1 = ndr_get_array_size(ndr, &r->source_dsa_obj_dn);
9084 length_source_dsa_obj_dn_1 = ndr_get_array_length(ndr, &r->source_dsa_obj_dn);
9085 if (length_source_dsa_obj_dn_1 > size_source_dsa_obj_dn_1) {
9086 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_obj_dn_1, length_source_dsa_obj_dn_1);
9088 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_obj_dn_1, sizeof(uint16_t)));
9089 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, length_source_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
9090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
9092 if (r->source_dsa_address) {
9093 _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
9094 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0);
9095 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address));
9096 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address));
9097 size_source_dsa_address_1 = ndr_get_array_size(ndr, &r->source_dsa_address);
9098 length_source_dsa_address_1 = ndr_get_array_length(ndr, &r->source_dsa_address);
9099 if (length_source_dsa_address_1 > size_source_dsa_address_1) {
9100 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_address_1, length_source_dsa_address_1);
9102 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_address_1, sizeof(uint16_t)));
9103 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, length_source_dsa_address_1, sizeof(uint16_t), CH_UTF16));
9104 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0);
9106 if (r->transport_obj_dn) {
9107 _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9108 NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0);
9109 NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn));
9110 NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn));
9111 size_transport_obj_dn_1 = ndr_get_array_size(ndr, &r->transport_obj_dn);
9112 length_transport_obj_dn_1 = ndr_get_array_length(ndr, &r->transport_obj_dn);
9113 if (length_transport_obj_dn_1 > size_transport_obj_dn_1) {
9114 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_transport_obj_dn_1, length_transport_obj_dn_1);
9116 NDR_CHECK(ndr_check_string_terminator(ndr, length_transport_obj_dn_1, sizeof(uint16_t)));
9117 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, length_transport_obj_dn_1, sizeof(uint16_t), CH_UTF16));
9118 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0);
9121 return NDR_ERR_SUCCESS;
9124 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r)
9126 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour");
9127 ndr->depth++;
9128 ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn);
9129 ndr->depth++;
9130 if (r->naming_context_dn) {
9131 ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn);
9133 ndr->depth--;
9134 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
9135 ndr->depth++;
9136 if (r->source_dsa_obj_dn) {
9137 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
9139 ndr->depth--;
9140 ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address);
9141 ndr->depth++;
9142 if (r->source_dsa_address) {
9143 ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
9145 ndr->depth--;
9146 ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn);
9147 ndr->depth++;
9148 if (r->transport_obj_dn) {
9149 ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn);
9151 ndr->depth--;
9152 ndr_print_drsuapi_DsReplicaNeighbourFlags(ndr, "replica_flags", r->replica_flags);
9153 ndr_print_uint32(ndr, "reserved", r->reserved);
9154 ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid);
9155 ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid);
9156 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
9157 ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid);
9158 ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn);
9159 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
9160 ndr_print_NTTIME(ndr, "last_success", r->last_success);
9161 ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt);
9162 ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt);
9163 ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures);
9164 ndr->depth--;
9167 static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r)
9169 uint32_t cntr_array_0;
9170 if (ndr_flags & NDR_SCALARS) {
9171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9172 NDR_CHECK(ndr_push_align(ndr, 8));
9173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9175 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9176 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9179 if (ndr_flags & NDR_BUFFERS) {
9180 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9181 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9184 return NDR_ERR_SUCCESS;
9187 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r)
9189 uint32_t size_array_0 = 0;
9190 uint32_t cntr_array_0;
9191 TALLOC_CTX *_mem_save_array_0;
9192 if (ndr_flags & NDR_SCALARS) {
9193 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9194 NDR_CHECK(ndr_pull_align(ndr, 8));
9195 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9196 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9197 size_array_0 = ndr_get_array_size(ndr, &r->array);
9198 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
9199 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9200 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9201 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9202 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9205 if (r->array) {
9206 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9209 if (ndr_flags & NDR_BUFFERS) {
9210 size_array_0 = ndr_get_array_size(ndr, &r->array);
9211 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9212 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9213 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9214 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9216 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9218 return NDR_ERR_SUCCESS;
9221 _PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r)
9223 uint32_t cntr_array_0;
9224 ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr");
9225 ndr->depth++;
9226 ndr_print_uint32(ndr, "count", r->count);
9227 ndr_print_uint32(ndr, "reserved", r->reserved);
9228 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9229 ndr->depth++;
9230 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9231 char *idx_0=NULL;
9232 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9233 ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]);
9234 free(idx_0);
9237 ndr->depth--;
9238 ndr->depth--;
9241 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r)
9243 uint32_t cntr_array_0;
9244 if (ndr_flags & NDR_SCALARS) {
9245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9246 NDR_CHECK(ndr_push_align(ndr, 8));
9247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9249 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9250 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9253 if (ndr_flags & NDR_BUFFERS) {
9255 return NDR_ERR_SUCCESS;
9258 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r)
9260 uint32_t size_array_0 = 0;
9261 uint32_t cntr_array_0;
9262 TALLOC_CTX *_mem_save_array_0;
9263 if (ndr_flags & NDR_SCALARS) {
9264 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9265 NDR_CHECK(ndr_pull_align(ndr, 8));
9266 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9267 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9268 size_array_0 = ndr_get_array_size(ndr, &r->array);
9269 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
9270 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9271 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9272 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9273 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9276 if (r->array) {
9277 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9280 if (ndr_flags & NDR_BUFFERS) {
9282 return NDR_ERR_SUCCESS;
9285 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r)
9287 uint32_t cntr_array_0;
9288 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr");
9289 ndr->depth++;
9290 ndr_print_uint32(ndr, "count", r->count);
9291 ndr_print_uint32(ndr, "reserved", r->reserved);
9292 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9293 ndr->depth++;
9294 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9295 char *idx_0=NULL;
9296 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9297 ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]);
9298 free(idx_0);
9301 ndr->depth--;
9302 ndr->depth--;
9305 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r)
9307 if (ndr_flags & NDR_SCALARS) {
9308 NDR_CHECK(ndr_push_align(ndr, 8));
9309 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
9310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
9311 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
9312 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
9313 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
9314 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
9316 if (ndr_flags & NDR_BUFFERS) {
9317 if (r->attribute_name) {
9318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
9321 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9324 return NDR_ERR_SUCCESS;
9327 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r)
9329 uint32_t _ptr_attribute_name;
9330 uint32_t size_attribute_name_1 = 0;
9331 uint32_t length_attribute_name_1 = 0;
9332 TALLOC_CTX *_mem_save_attribute_name_0;
9333 if (ndr_flags & NDR_SCALARS) {
9334 NDR_CHECK(ndr_pull_align(ndr, 8));
9335 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
9336 if (_ptr_attribute_name) {
9337 NDR_PULL_ALLOC(ndr, r->attribute_name);
9338 } else {
9339 r->attribute_name = NULL;
9341 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
9342 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
9343 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
9344 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
9345 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
9347 if (ndr_flags & NDR_BUFFERS) {
9348 if (r->attribute_name) {
9349 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9350 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
9351 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
9352 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
9353 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
9354 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
9355 if (length_attribute_name_1 > size_attribute_name_1) {
9356 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
9358 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
9359 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
9360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
9363 return NDR_ERR_SUCCESS;
9366 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r)
9368 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData");
9369 ndr->depth++;
9370 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
9371 ndr->depth++;
9372 if (r->attribute_name) {
9373 ndr_print_string(ndr, "attribute_name", r->attribute_name);
9375 ndr->depth--;
9376 ndr_print_uint32(ndr, "version", r->version);
9377 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
9378 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
9379 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
9380 ndr_print_hyper(ndr, "local_usn", r->local_usn);
9381 ndr->depth--;
9384 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
9386 uint32_t cntr_array_0;
9387 if (ndr_flags & NDR_SCALARS) {
9388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9389 NDR_CHECK(ndr_push_align(ndr, 8));
9390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9392 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9393 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9396 if (ndr_flags & NDR_BUFFERS) {
9397 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9398 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9401 return NDR_ERR_SUCCESS;
9404 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r)
9406 uint32_t size_array_0 = 0;
9407 uint32_t cntr_array_0;
9408 TALLOC_CTX *_mem_save_array_0;
9409 if (ndr_flags & NDR_SCALARS) {
9410 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9411 NDR_CHECK(ndr_pull_align(ndr, 8));
9412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9414 size_array_0 = ndr_get_array_size(ndr, &r->array);
9415 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
9416 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9417 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9418 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9419 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9421 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9422 if (r->array) {
9423 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9426 if (ndr_flags & NDR_BUFFERS) {
9427 size_array_0 = ndr_get_array_size(ndr, &r->array);
9428 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9429 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9430 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9431 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9435 return NDR_ERR_SUCCESS;
9438 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r)
9440 uint32_t cntr_array_0;
9441 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr");
9442 ndr->depth++;
9443 ndr_print_uint32(ndr, "count", r->count);
9444 ndr_print_uint32(ndr, "reserved", r->reserved);
9445 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9446 ndr->depth++;
9447 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9448 char *idx_0=NULL;
9449 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9450 ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]);
9451 free(idx_0);
9454 ndr->depth--;
9455 ndr->depth--;
9458 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r)
9460 if (ndr_flags & NDR_SCALARS) {
9461 NDR_CHECK(ndr_push_align(ndr, 4));
9462 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn));
9463 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
9464 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure));
9465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures));
9466 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result));
9468 if (ndr_flags & NDR_BUFFERS) {
9469 if (r->dsa_obj_dn) {
9470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
9471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16)));
9473 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));
9476 return NDR_ERR_SUCCESS;
9479 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r)
9481 uint32_t _ptr_dsa_obj_dn;
9482 uint32_t size_dsa_obj_dn_1 = 0;
9483 uint32_t length_dsa_obj_dn_1 = 0;
9484 TALLOC_CTX *_mem_save_dsa_obj_dn_0;
9485 if (ndr_flags & NDR_SCALARS) {
9486 NDR_CHECK(ndr_pull_align(ndr, 4));
9487 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn));
9488 if (_ptr_dsa_obj_dn) {
9489 NDR_PULL_ALLOC(ndr, r->dsa_obj_dn);
9490 } else {
9491 r->dsa_obj_dn = NULL;
9493 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid));
9494 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure));
9495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures));
9496 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result));
9498 if (ndr_flags & NDR_BUFFERS) {
9499 if (r->dsa_obj_dn) {
9500 _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9501 NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0);
9502 NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn));
9503 NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn));
9504 size_dsa_obj_dn_1 = ndr_get_array_size(ndr, &r->dsa_obj_dn);
9505 length_dsa_obj_dn_1 = ndr_get_array_length(ndr, &r->dsa_obj_dn);
9506 if (length_dsa_obj_dn_1 > size_dsa_obj_dn_1) {
9507 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dsa_obj_dn_1, length_dsa_obj_dn_1);
9509 NDR_CHECK(ndr_check_string_terminator(ndr, length_dsa_obj_dn_1, sizeof(uint16_t)));
9510 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, length_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
9511 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0);
9514 return NDR_ERR_SUCCESS;
9517 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r)
9519 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure");
9520 ndr->depth++;
9521 ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn);
9522 ndr->depth++;
9523 if (r->dsa_obj_dn) {
9524 ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn);
9526 ndr->depth--;
9527 ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid);
9528 ndr_print_NTTIME(ndr, "first_failure", r->first_failure);
9529 ndr_print_uint32(ndr, "num_failures", r->num_failures);
9530 ndr_print_WERROR(ndr, "last_result", r->last_result);
9531 ndr->depth--;
9534 static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
9536 uint32_t cntr_array_0;
9537 if (ndr_flags & NDR_SCALARS) {
9538 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9539 NDR_CHECK(ndr_push_align(ndr, 4));
9540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9541 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
9542 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9543 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9546 if (ndr_flags & NDR_BUFFERS) {
9547 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9548 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9551 return NDR_ERR_SUCCESS;
9554 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
9556 uint32_t size_array_0 = 0;
9557 uint32_t cntr_array_0;
9558 TALLOC_CTX *_mem_save_array_0;
9559 if (ndr_flags & NDR_SCALARS) {
9560 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9561 NDR_CHECK(ndr_pull_align(ndr, 4));
9562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9563 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
9564 size_array_0 = ndr_get_array_size(ndr, &r->array);
9565 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
9566 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9567 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9568 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9569 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9572 if (r->array) {
9573 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9576 if (ndr_flags & NDR_BUFFERS) {
9577 size_array_0 = ndr_get_array_size(ndr, &r->array);
9578 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9579 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9580 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9581 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9583 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9585 return NDR_ERR_SUCCESS;
9588 _PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r)
9590 uint32_t cntr_array_0;
9591 ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr");
9592 ndr->depth++;
9593 ndr_print_uint32(ndr, "count", r->count);
9594 ndr_print_uint32(ndr, "reserved", r->reserved);
9595 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9596 ndr->depth++;
9597 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
9598 char *idx_0=NULL;
9599 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
9600 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]);
9601 free(idx_0);
9604 ndr->depth--;
9605 ndr->depth--;
9608 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r)
9610 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
9611 return NDR_ERR_SUCCESS;
9614 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r)
9616 uint16_t v;
9617 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
9618 *r = v;
9619 return NDR_ERR_SUCCESS;
9622 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r)
9624 const char *val = NULL;
9626 switch (r) {
9627 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
9628 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
9629 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
9630 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
9631 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
9633 ndr_print_enum(ndr, name, "ENUM", val, r);
9636 static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
9638 if (ndr_flags & NDR_SCALARS) {
9639 int level = ndr_push_get_switch_value(ndr, r);
9640 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
9641 switch (level) {
9642 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
9643 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
9644 break; }
9646 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
9647 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
9648 break; }
9650 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
9651 NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
9652 break; }
9654 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
9655 NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
9656 break; }
9658 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
9659 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
9660 break; }
9662 default: {
9663 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
9664 break; }
9668 if (ndr_flags & NDR_BUFFERS) {
9669 int level = ndr_push_get_switch_value(ndr, r);
9670 switch (level) {
9671 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
9672 break;
9674 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
9675 break;
9677 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
9678 break;
9680 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
9681 break;
9683 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
9684 break;
9686 default:
9687 break;
9691 return NDR_ERR_SUCCESS;
9694 static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
9696 int level;
9697 uint16_t _level;
9698 level = ndr_pull_get_switch_value(ndr, r);
9699 if (ndr_flags & NDR_SCALARS) {
9700 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
9701 if (_level != level) {
9702 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
9704 switch (level) {
9705 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
9706 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
9707 break; }
9709 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
9710 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
9711 break; }
9713 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
9714 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
9715 break; }
9717 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
9718 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->modify));
9719 break; }
9721 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
9722 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->update_refs));
9723 break; }
9725 default: {
9726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
9727 break; }
9731 if (ndr_flags & NDR_BUFFERS) {
9732 switch (level) {
9733 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
9734 break;
9736 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
9737 break;
9739 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
9740 break;
9742 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
9743 break;
9745 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
9746 break;
9748 default:
9749 break;
9753 return NDR_ERR_SUCCESS;
9756 _PUBLIC_ void ndr_print_drsuapi_DsRplicaOpOptions(struct ndr_print *ndr, const char *name, const union drsuapi_DsRplicaOpOptions *r)
9758 int level;
9759 level = ndr_print_get_switch_value(ndr, r);
9760 ndr_print_union(ndr, name, level, "drsuapi_DsRplicaOpOptions");
9761 switch (level) {
9762 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
9763 ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "sync", r->sync);
9764 break;
9766 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
9767 ndr_print_drsuapi_DsReplicaAddOptions(ndr, "add", r->add);
9768 break;
9770 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
9771 ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "op_delete", r->op_delete);
9772 break;
9774 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
9775 ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "modify", r->modify);
9776 break;
9778 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
9779 ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "update_refs", r->update_refs);
9780 break;
9782 default:
9783 ndr_print_uint32(ndr, "unknown", r->unknown);
9784 break;
9789 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r)
9791 if (ndr_flags & NDR_SCALARS) {
9792 NDR_CHECK(ndr_push_align(ndr, 4));
9793 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start));
9794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num));
9795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
9796 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type));
9797 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->options, r->operation_type));
9798 NDR_CHECK(ndr_push_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
9799 NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn));
9800 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn));
9801 NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address));
9802 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
9803 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
9805 if (ndr_flags & NDR_BUFFERS) {
9806 if (r->nc_dn) {
9807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
9808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9809 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16)));
9810 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9812 if (r->remote_dsa_obj_dn) {
9813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
9814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16)));
9816 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));
9818 if (r->remote_dsa_address) {
9819 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
9820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9821 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16)));
9822 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));
9825 return NDR_ERR_SUCCESS;
9828 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r)
9830 uint32_t _ptr_nc_dn;
9831 uint32_t size_nc_dn_1 = 0;
9832 uint32_t length_nc_dn_1 = 0;
9833 TALLOC_CTX *_mem_save_nc_dn_0;
9834 uint32_t _ptr_remote_dsa_obj_dn;
9835 uint32_t size_remote_dsa_obj_dn_1 = 0;
9836 uint32_t length_remote_dsa_obj_dn_1 = 0;
9837 TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0;
9838 uint32_t _ptr_remote_dsa_address;
9839 uint32_t size_remote_dsa_address_1 = 0;
9840 uint32_t length_remote_dsa_address_1 = 0;
9841 TALLOC_CTX *_mem_save_remote_dsa_address_0;
9842 if (ndr_flags & NDR_SCALARS) {
9843 NDR_CHECK(ndr_pull_align(ndr, 4));
9844 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start));
9845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num));
9846 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
9847 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type));
9848 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->options, r->operation_type));
9849 NDR_CHECK(ndr_pull_drsuapi_DsRplicaOpOptions(ndr, NDR_SCALARS, &r->options));
9850 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn));
9851 if (_ptr_nc_dn) {
9852 NDR_PULL_ALLOC(ndr, r->nc_dn);
9853 } else {
9854 r->nc_dn = NULL;
9856 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn));
9857 if (_ptr_remote_dsa_obj_dn) {
9858 NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn);
9859 } else {
9860 r->remote_dsa_obj_dn = NULL;
9862 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address));
9863 if (_ptr_remote_dsa_address) {
9864 NDR_PULL_ALLOC(ndr, r->remote_dsa_address);
9865 } else {
9866 r->remote_dsa_address = NULL;
9868 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid));
9869 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid));
9871 if (ndr_flags & NDR_BUFFERS) {
9872 if (r->nc_dn) {
9873 _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9874 NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0);
9875 NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn));
9876 NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn));
9877 size_nc_dn_1 = ndr_get_array_size(ndr, &r->nc_dn);
9878 length_nc_dn_1 = ndr_get_array_length(ndr, &r->nc_dn);
9879 if (length_nc_dn_1 > size_nc_dn_1) {
9880 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_nc_dn_1, length_nc_dn_1);
9882 NDR_CHECK(ndr_check_string_terminator(ndr, length_nc_dn_1, sizeof(uint16_t)));
9883 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, length_nc_dn_1, sizeof(uint16_t), CH_UTF16));
9884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0);
9886 if (r->remote_dsa_obj_dn) {
9887 _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
9888 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0);
9889 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn));
9890 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn));
9891 size_remote_dsa_obj_dn_1 = ndr_get_array_size(ndr, &r->remote_dsa_obj_dn);
9892 length_remote_dsa_obj_dn_1 = ndr_get_array_length(ndr, &r->remote_dsa_obj_dn);
9893 if (length_remote_dsa_obj_dn_1 > size_remote_dsa_obj_dn_1) {
9894 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_dsa_obj_dn_1, length_remote_dsa_obj_dn_1);
9896 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_dsa_obj_dn_1, sizeof(uint16_t)));
9897 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, length_remote_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
9898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0);
9900 if (r->remote_dsa_address) {
9901 _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
9902 NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0);
9903 NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address));
9904 NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address));
9905 size_remote_dsa_address_1 = ndr_get_array_size(ndr, &r->remote_dsa_address);
9906 length_remote_dsa_address_1 = ndr_get_array_length(ndr, &r->remote_dsa_address);
9907 if (length_remote_dsa_address_1 > size_remote_dsa_address_1) {
9908 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_remote_dsa_address_1, length_remote_dsa_address_1);
9910 NDR_CHECK(ndr_check_string_terminator(ndr, length_remote_dsa_address_1, sizeof(uint16_t)));
9911 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, length_remote_dsa_address_1, sizeof(uint16_t), CH_UTF16));
9912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0);
9915 return NDR_ERR_SUCCESS;
9918 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r)
9920 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp");
9921 ndr->depth++;
9922 ndr_print_NTTIME(ndr, "operation_start", r->operation_start);
9923 ndr_print_uint32(ndr, "serial_num", r->serial_num);
9924 ndr_print_uint32(ndr, "priority", r->priority);
9925 ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type);
9926 ndr_print_set_switch_value(ndr, &r->options, r->operation_type);
9927 ndr_print_drsuapi_DsRplicaOpOptions(ndr, "options", &r->options);
9928 ndr_print_ptr(ndr, "nc_dn", r->nc_dn);
9929 ndr->depth++;
9930 if (r->nc_dn) {
9931 ndr_print_string(ndr, "nc_dn", r->nc_dn);
9933 ndr->depth--;
9934 ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
9935 ndr->depth++;
9936 if (r->remote_dsa_obj_dn) {
9937 ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn);
9939 ndr->depth--;
9940 ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address);
9941 ndr->depth++;
9942 if (r->remote_dsa_address) {
9943 ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address);
9945 ndr->depth--;
9946 ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid);
9947 ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid);
9948 ndr->depth--;
9951 static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r)
9953 uint32_t cntr_array_0;
9954 if (ndr_flags & NDR_SCALARS) {
9955 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9956 NDR_CHECK(ndr_push_align(ndr, 4));
9957 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time));
9958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9959 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9960 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9963 if (ndr_flags & NDR_BUFFERS) {
9964 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
9965 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
9968 return NDR_ERR_SUCCESS;
9971 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r)
9973 uint32_t size_array_0 = 0;
9974 uint32_t cntr_array_0;
9975 TALLOC_CTX *_mem_save_array_0;
9976 if (ndr_flags & NDR_SCALARS) {
9977 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9978 NDR_CHECK(ndr_pull_align(ndr, 4));
9979 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time));
9980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9981 size_array_0 = ndr_get_array_size(ndr, &r->array);
9982 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
9983 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9984 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9985 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9986 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
9988 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9989 if (r->array) {
9990 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9993 if (ndr_flags & NDR_BUFFERS) {
9994 size_array_0 = ndr_get_array_size(ndr, &r->array);
9995 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9996 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9997 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
9998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10000 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10002 return NDR_ERR_SUCCESS;
10005 _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r)
10007 uint32_t cntr_array_0;
10008 ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr");
10009 ndr->depth++;
10010 ndr_print_NTTIME(ndr, "time", r->time);
10011 ndr_print_uint32(ndr, "count", r->count);
10012 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10013 ndr->depth++;
10014 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10015 char *idx_0=NULL;
10016 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10017 ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]);
10018 free(idx_0);
10021 ndr->depth--;
10022 ndr->depth--;
10025 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r)
10027 if (ndr_flags & NDR_SCALARS) {
10028 NDR_CHECK(ndr_push_align(ndr, 8));
10029 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10032 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10033 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10034 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10036 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10037 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10038 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10039 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10041 if (ndr_flags & NDR_BUFFERS) {
10042 if (r->attribute_name) {
10043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10046 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10048 if (r->object_dn) {
10049 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10052 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10054 if (r->binary) {
10055 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10058 return NDR_ERR_SUCCESS;
10061 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r)
10063 uint32_t _ptr_attribute_name;
10064 uint32_t size_attribute_name_1 = 0;
10065 uint32_t length_attribute_name_1 = 0;
10066 TALLOC_CTX *_mem_save_attribute_name_0;
10067 uint32_t _ptr_object_dn;
10068 uint32_t size_object_dn_1 = 0;
10069 uint32_t length_object_dn_1 = 0;
10070 TALLOC_CTX *_mem_save_object_dn_0;
10071 uint32_t _ptr_binary;
10072 TALLOC_CTX *_mem_save_binary_0;
10073 if (ndr_flags & NDR_SCALARS) {
10074 NDR_CHECK(ndr_pull_align(ndr, 8));
10075 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10076 if (_ptr_attribute_name) {
10077 NDR_PULL_ALLOC(ndr, r->attribute_name);
10078 } else {
10079 r->attribute_name = NULL;
10081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10082 if (_ptr_object_dn) {
10083 NDR_PULL_ALLOC(ndr, r->object_dn);
10084 } else {
10085 r->object_dn = NULL;
10087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10088 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10089 if (_ptr_binary) {
10090 NDR_PULL_ALLOC(ndr, r->binary);
10091 } else {
10092 r->binary = NULL;
10094 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10095 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10096 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10097 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10098 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10099 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10100 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10102 if (ndr_flags & NDR_BUFFERS) {
10103 if (r->attribute_name) {
10104 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10105 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10106 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10107 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10108 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
10109 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
10110 if (length_attribute_name_1 > size_attribute_name_1) {
10111 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
10113 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
10114 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
10115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10117 if (r->object_dn) {
10118 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10119 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10120 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10121 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10122 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
10123 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
10124 if (length_object_dn_1 > size_object_dn_1) {
10125 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
10127 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
10128 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
10129 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10131 if (r->binary) {
10132 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10133 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10134 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10138 return NDR_ERR_SUCCESS;
10141 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r)
10143 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData");
10144 ndr->depth++;
10145 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10146 ndr->depth++;
10147 if (r->attribute_name) {
10148 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10150 ndr->depth--;
10151 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10152 ndr->depth++;
10153 if (r->object_dn) {
10154 ndr_print_string(ndr, "object_dn", r->object_dn);
10156 ndr->depth--;
10157 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);
10158 ndr_print_ptr(ndr, "binary", r->binary);
10159 ndr->depth++;
10160 if (r->binary) {
10161 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10163 ndr->depth--;
10164 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10165 ndr_print_NTTIME(ndr, "created", r->created);
10166 ndr_print_uint32(ndr, "version", r->version);
10167 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10168 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10169 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10170 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10171 ndr->depth--;
10174 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10176 uint32_t cntr_array_0;
10177 if (ndr_flags & NDR_SCALARS) {
10178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10179 NDR_CHECK(ndr_push_align(ndr, 8));
10180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10181 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10182 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10183 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10186 if (ndr_flags & NDR_BUFFERS) {
10187 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10188 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10191 return NDR_ERR_SUCCESS;
10194 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10196 uint32_t size_array_0 = 0;
10197 uint32_t cntr_array_0;
10198 TALLOC_CTX *_mem_save_array_0;
10199 if (ndr_flags & NDR_SCALARS) {
10200 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10201 NDR_CHECK(ndr_pull_align(ndr, 8));
10202 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10203 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10204 size_array_0 = ndr_get_array_size(ndr, &r->array);
10205 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
10206 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10207 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10208 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10209 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10211 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10212 if (r->array) {
10213 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10216 if (ndr_flags & NDR_BUFFERS) {
10217 size_array_0 = ndr_get_array_size(ndr, &r->array);
10218 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10219 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10220 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10221 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10225 return NDR_ERR_SUCCESS;
10228 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r)
10230 uint32_t cntr_array_0;
10231 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr");
10232 ndr->depth++;
10233 ndr_print_uint32(ndr, "count", r->count);
10234 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10235 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10236 ndr->depth++;
10237 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10238 char *idx_0=NULL;
10239 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10240 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]);
10241 free(idx_0);
10244 ndr->depth--;
10245 ndr->depth--;
10248 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r)
10250 uint32_t cntr_array_0;
10251 if (ndr_flags & NDR_SCALARS) {
10252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10253 NDR_CHECK(ndr_push_align(ndr, 8));
10254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10255 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10256 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10257 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10260 if (ndr_flags & NDR_BUFFERS) {
10262 return NDR_ERR_SUCCESS;
10265 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r)
10267 uint32_t size_array_0 = 0;
10268 uint32_t cntr_array_0;
10269 TALLOC_CTX *_mem_save_array_0;
10270 if (ndr_flags & NDR_SCALARS) {
10271 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10272 NDR_CHECK(ndr_pull_align(ndr, 8));
10273 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10274 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10275 size_array_0 = ndr_get_array_size(ndr, &r->array);
10276 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
10277 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10278 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10279 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10280 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10283 if (r->array) {
10284 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10287 if (ndr_flags & NDR_BUFFERS) {
10289 return NDR_ERR_SUCCESS;
10292 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r)
10294 uint32_t cntr_array_0;
10295 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr");
10296 ndr->depth++;
10297 ndr_print_uint32(ndr, "count", r->count);
10298 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10299 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10300 ndr->depth++;
10301 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10302 char *idx_0=NULL;
10303 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10304 ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]);
10305 free(idx_0);
10308 ndr->depth--;
10309 ndr->depth--;
10312 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r)
10314 if (ndr_flags & NDR_SCALARS) {
10315 NDR_CHECK(ndr_push_align(ndr, 8));
10316 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10317 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn));
10318 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success));
10319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn));
10321 if (ndr_flags & NDR_BUFFERS) {
10322 if (r->source_dsa_obj_dn) {
10323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10324 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16)));
10326 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));
10329 return NDR_ERR_SUCCESS;
10332 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r)
10334 uint32_t _ptr_source_dsa_obj_dn;
10335 uint32_t size_source_dsa_obj_dn_1 = 0;
10336 uint32_t length_source_dsa_obj_dn_1 = 0;
10337 TALLOC_CTX *_mem_save_source_dsa_obj_dn_0;
10338 if (ndr_flags & NDR_SCALARS) {
10339 NDR_CHECK(ndr_pull_align(ndr, 8));
10340 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id));
10341 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn));
10342 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success));
10343 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn));
10344 if (_ptr_source_dsa_obj_dn) {
10345 NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn);
10346 } else {
10347 r->source_dsa_obj_dn = NULL;
10350 if (ndr_flags & NDR_BUFFERS) {
10351 if (r->source_dsa_obj_dn) {
10352 _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10353 NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0);
10354 NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn));
10355 NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn));
10356 size_source_dsa_obj_dn_1 = ndr_get_array_size(ndr, &r->source_dsa_obj_dn);
10357 length_source_dsa_obj_dn_1 = ndr_get_array_length(ndr, &r->source_dsa_obj_dn);
10358 if (length_source_dsa_obj_dn_1 > size_source_dsa_obj_dn_1) {
10359 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_source_dsa_obj_dn_1, length_source_dsa_obj_dn_1);
10361 NDR_CHECK(ndr_check_string_terminator(ndr, length_source_dsa_obj_dn_1, sizeof(uint16_t)));
10362 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, length_source_dsa_obj_dn_1, sizeof(uint16_t), CH_UTF16));
10363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0);
10366 return NDR_ERR_SUCCESS;
10369 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r)
10371 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3");
10372 ndr->depth++;
10373 ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id);
10374 ndr_print_hyper(ndr, "highest_usn", r->highest_usn);
10375 ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success);
10376 ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10377 ndr->depth++;
10378 if (r->source_dsa_obj_dn) {
10379 ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn);
10381 ndr->depth--;
10382 ndr->depth--;
10385 static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r)
10387 uint32_t cntr_array_0;
10388 if (ndr_flags & NDR_SCALARS) {
10389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10390 NDR_CHECK(ndr_push_align(ndr, 8));
10391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10392 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10393 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10394 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10397 if (ndr_flags & NDR_BUFFERS) {
10398 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10399 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10402 return NDR_ERR_SUCCESS;
10405 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r)
10407 uint32_t size_array_0 = 0;
10408 uint32_t cntr_array_0;
10409 TALLOC_CTX *_mem_save_array_0;
10410 if (ndr_flags & NDR_SCALARS) {
10411 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10412 NDR_CHECK(ndr_pull_align(ndr, 8));
10413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10414 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10415 size_array_0 = ndr_get_array_size(ndr, &r->array);
10416 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
10417 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10418 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10419 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10420 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10423 if (r->array) {
10424 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10427 if (ndr_flags & NDR_BUFFERS) {
10428 size_array_0 = ndr_get_array_size(ndr, &r->array);
10429 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10430 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10431 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10432 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10434 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10436 return NDR_ERR_SUCCESS;
10439 _PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r)
10441 uint32_t cntr_array_0;
10442 ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr");
10443 ndr->depth++;
10444 ndr_print_uint32(ndr, "count", r->count);
10445 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10446 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10447 ndr->depth++;
10448 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10449 char *idx_0=NULL;
10450 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10451 ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]);
10452 free(idx_0);
10455 ndr->depth--;
10456 ndr->depth--;
10459 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r)
10461 if (ndr_flags & NDR_SCALARS) {
10462 NDR_CHECK(ndr_push_align(ndr, 8));
10463 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10465 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10466 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10467 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10468 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10469 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
10471 if (ndr_flags & NDR_BUFFERS) {
10472 if (r->attribute_name) {
10473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10476 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10478 if (r->originating_dsa_dn) {
10479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
10480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10481 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
10482 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));
10485 return NDR_ERR_SUCCESS;
10488 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r)
10490 uint32_t _ptr_attribute_name;
10491 uint32_t size_attribute_name_1 = 0;
10492 uint32_t length_attribute_name_1 = 0;
10493 TALLOC_CTX *_mem_save_attribute_name_0;
10494 uint32_t _ptr_originating_dsa_dn;
10495 uint32_t size_originating_dsa_dn_1 = 0;
10496 uint32_t length_originating_dsa_dn_1 = 0;
10497 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
10498 if (ndr_flags & NDR_SCALARS) {
10499 NDR_CHECK(ndr_pull_align(ndr, 8));
10500 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10501 if (_ptr_attribute_name) {
10502 NDR_PULL_ALLOC(ndr, r->attribute_name);
10503 } else {
10504 r->attribute_name = NULL;
10506 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10507 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10508 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10509 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10510 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10511 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
10512 if (_ptr_originating_dsa_dn) {
10513 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
10514 } else {
10515 r->originating_dsa_dn = NULL;
10518 if (ndr_flags & NDR_BUFFERS) {
10519 if (r->attribute_name) {
10520 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10521 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10522 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10523 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10524 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
10525 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
10526 if (length_attribute_name_1 > size_attribute_name_1) {
10527 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
10529 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
10530 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
10531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10533 if (r->originating_dsa_dn) {
10534 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10535 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
10536 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
10537 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
10538 size_originating_dsa_dn_1 = ndr_get_array_size(ndr, &r->originating_dsa_dn);
10539 length_originating_dsa_dn_1 = ndr_get_array_length(ndr, &r->originating_dsa_dn);
10540 if (length_originating_dsa_dn_1 > size_originating_dsa_dn_1) {
10541 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_originating_dsa_dn_1, length_originating_dsa_dn_1);
10543 NDR_CHECK(ndr_check_string_terminator(ndr, length_originating_dsa_dn_1, sizeof(uint16_t)));
10544 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, length_originating_dsa_dn_1, sizeof(uint16_t), CH_UTF16));
10545 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
10548 return NDR_ERR_SUCCESS;
10551 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r)
10553 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2");
10554 ndr->depth++;
10555 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10556 ndr->depth++;
10557 if (r->attribute_name) {
10558 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10560 ndr->depth--;
10561 ndr_print_uint32(ndr, "version", r->version);
10562 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10563 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10564 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10565 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10566 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
10567 ndr->depth++;
10568 if (r->originating_dsa_dn) {
10569 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
10571 ndr->depth--;
10572 ndr->depth--;
10575 static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
10577 uint32_t cntr_array_0;
10578 if (ndr_flags & NDR_SCALARS) {
10579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10580 NDR_CHECK(ndr_push_align(ndr, 8));
10581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10582 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10583 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10584 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10587 if (ndr_flags & NDR_BUFFERS) {
10588 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10589 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10592 return NDR_ERR_SUCCESS;
10595 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r)
10597 uint32_t size_array_0 = 0;
10598 uint32_t cntr_array_0;
10599 TALLOC_CTX *_mem_save_array_0;
10600 if (ndr_flags & NDR_SCALARS) {
10601 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10602 NDR_CHECK(ndr_pull_align(ndr, 8));
10603 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10604 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10605 size_array_0 = ndr_get_array_size(ndr, &r->array);
10606 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
10607 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10608 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10609 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10610 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10613 if (r->array) {
10614 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10617 if (ndr_flags & NDR_BUFFERS) {
10618 size_array_0 = ndr_get_array_size(ndr, &r->array);
10619 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10620 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10621 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10622 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10626 return NDR_ERR_SUCCESS;
10629 _PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r)
10631 uint32_t cntr_array_0;
10632 ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr");
10633 ndr->depth++;
10634 ndr_print_uint32(ndr, "count", r->count);
10635 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10636 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10637 ndr->depth++;
10638 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10639 char *idx_0=NULL;
10640 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10641 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]);
10642 free(idx_0);
10645 ndr->depth--;
10646 ndr->depth--;
10649 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
10651 if (ndr_flags & NDR_SCALARS) {
10652 NDR_CHECK(ndr_push_align(ndr, 8));
10653 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
10654 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
10655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0)));
10656 NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary));
10657 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted));
10658 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created));
10659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
10660 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time));
10661 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10662 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn));
10663 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn));
10664 NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn));
10666 if (ndr_flags & NDR_BUFFERS) {
10667 if (r->attribute_name) {
10668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10670 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
10671 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10673 if (r->object_dn) {
10674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
10677 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10679 if (r->binary) {
10680 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary));
10682 if (r->originating_dsa_dn) {
10683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
10684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16)));
10686 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));
10689 return NDR_ERR_SUCCESS;
10692 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r)
10694 uint32_t _ptr_attribute_name;
10695 uint32_t size_attribute_name_1 = 0;
10696 uint32_t length_attribute_name_1 = 0;
10697 TALLOC_CTX *_mem_save_attribute_name_0;
10698 uint32_t _ptr_object_dn;
10699 uint32_t size_object_dn_1 = 0;
10700 uint32_t length_object_dn_1 = 0;
10701 TALLOC_CTX *_mem_save_object_dn_0;
10702 uint32_t _ptr_binary;
10703 TALLOC_CTX *_mem_save_binary_0;
10704 uint32_t _ptr_originating_dsa_dn;
10705 uint32_t size_originating_dsa_dn_1 = 0;
10706 uint32_t length_originating_dsa_dn_1 = 0;
10707 TALLOC_CTX *_mem_save_originating_dsa_dn_0;
10708 if (ndr_flags & NDR_SCALARS) {
10709 NDR_CHECK(ndr_pull_align(ndr, 8));
10710 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
10711 if (_ptr_attribute_name) {
10712 NDR_PULL_ALLOC(ndr, r->attribute_name);
10713 } else {
10714 r->attribute_name = NULL;
10716 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn));
10717 if (_ptr_object_dn) {
10718 NDR_PULL_ALLOC(ndr, r->object_dn);
10719 } else {
10720 r->object_dn = NULL;
10722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary));
10723 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary));
10724 if (_ptr_binary) {
10725 NDR_PULL_ALLOC(ndr, r->binary);
10726 } else {
10727 r->binary = NULL;
10729 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted));
10730 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created));
10731 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
10732 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time));
10733 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id));
10734 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn));
10735 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn));
10736 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn));
10737 if (_ptr_originating_dsa_dn) {
10738 NDR_PULL_ALLOC(ndr, r->originating_dsa_dn);
10739 } else {
10740 r->originating_dsa_dn = NULL;
10743 if (ndr_flags & NDR_BUFFERS) {
10744 if (r->attribute_name) {
10745 _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10746 NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
10747 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
10748 NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
10749 size_attribute_name_1 = ndr_get_array_size(ndr, &r->attribute_name);
10750 length_attribute_name_1 = ndr_get_array_length(ndr, &r->attribute_name);
10751 if (length_attribute_name_1 > size_attribute_name_1) {
10752 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_attribute_name_1, length_attribute_name_1);
10754 NDR_CHECK(ndr_check_string_terminator(ndr, length_attribute_name_1, sizeof(uint16_t)));
10755 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, length_attribute_name_1, sizeof(uint16_t), CH_UTF16));
10756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
10758 if (r->object_dn) {
10759 _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10760 NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0);
10761 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn));
10762 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn));
10763 size_object_dn_1 = ndr_get_array_size(ndr, &r->object_dn);
10764 length_object_dn_1 = ndr_get_array_length(ndr, &r->object_dn);
10765 if (length_object_dn_1 > size_object_dn_1) {
10766 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_dn_1, length_object_dn_1);
10768 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_dn_1, sizeof(uint16_t)));
10769 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, length_object_dn_1, sizeof(uint16_t), CH_UTF16));
10770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
10772 if (r->binary) {
10773 _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr);
10774 NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0);
10775 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
10776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0);
10778 if (r->originating_dsa_dn) {
10779 _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr);
10780 NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0);
10781 NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn));
10782 NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn));
10783 size_originating_dsa_dn_1 = ndr_get_array_size(ndr, &r->originating_dsa_dn);
10784 length_originating_dsa_dn_1 = ndr_get_array_length(ndr, &r->originating_dsa_dn);
10785 if (length_originating_dsa_dn_1 > size_originating_dsa_dn_1) {
10786 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_originating_dsa_dn_1, length_originating_dsa_dn_1);
10788 NDR_CHECK(ndr_check_string_terminator(ndr, length_originating_dsa_dn_1, sizeof(uint16_t)));
10789 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, length_originating_dsa_dn_1, sizeof(uint16_t), CH_UTF16));
10790 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0);
10793 return NDR_ERR_SUCCESS;
10796 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r)
10798 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2");
10799 ndr->depth++;
10800 ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
10801 ndr->depth++;
10802 if (r->attribute_name) {
10803 ndr_print_string(ndr, "attribute_name", r->attribute_name);
10805 ndr->depth--;
10806 ndr_print_ptr(ndr, "object_dn", r->object_dn);
10807 ndr->depth++;
10808 if (r->object_dn) {
10809 ndr_print_string(ndr, "object_dn", r->object_dn);
10811 ndr->depth--;
10812 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);
10813 ndr_print_ptr(ndr, "binary", r->binary);
10814 ndr->depth++;
10815 if (r->binary) {
10816 ndr_print_DATA_BLOB(ndr, "binary", *r->binary);
10818 ndr->depth--;
10819 ndr_print_NTTIME(ndr, "deleted", r->deleted);
10820 ndr_print_NTTIME(ndr, "created", r->created);
10821 ndr_print_uint32(ndr, "version", r->version);
10822 ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time);
10823 ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id);
10824 ndr_print_hyper(ndr, "originating_usn", r->originating_usn);
10825 ndr_print_hyper(ndr, "local_usn", r->local_usn);
10826 ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn);
10827 ndr->depth++;
10828 if (r->originating_dsa_dn) {
10829 ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn);
10831 ndr->depth--;
10832 ndr->depth--;
10835 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
10837 uint32_t cntr_array_0;
10838 if (ndr_flags & NDR_SCALARS) {
10839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10840 NDR_CHECK(ndr_push_align(ndr, 8));
10841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10842 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->enumeration_context));
10843 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10844 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10847 if (ndr_flags & NDR_BUFFERS) {
10848 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10849 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10852 return NDR_ERR_SUCCESS;
10855 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
10857 uint32_t size_array_0 = 0;
10858 uint32_t cntr_array_0;
10859 TALLOC_CTX *_mem_save_array_0;
10860 if (ndr_flags & NDR_SCALARS) {
10861 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10862 NDR_CHECK(ndr_pull_align(ndr, 8));
10863 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10864 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->enumeration_context));
10865 size_array_0 = ndr_get_array_size(ndr, &r->array);
10866 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
10867 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10868 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10869 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10870 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10873 if (r->array) {
10874 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
10877 if (ndr_flags & NDR_BUFFERS) {
10878 size_array_0 = ndr_get_array_size(ndr, &r->array);
10879 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10880 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
10881 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
10882 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
10884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
10886 return NDR_ERR_SUCCESS;
10889 _PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r)
10891 uint32_t cntr_array_0;
10892 ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr");
10893 ndr->depth++;
10894 ndr_print_uint32(ndr, "count", r->count);
10895 ndr_print_int32(ndr, "enumeration_context", r->enumeration_context);
10896 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
10897 ndr->depth++;
10898 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
10899 char *idx_0=NULL;
10900 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
10901 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]);
10902 free(idx_0);
10905 ndr->depth--;
10906 ndr->depth--;
10909 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r)
10911 if (ndr_flags & NDR_SCALARS) {
10912 NDR_CHECK(ndr_push_align(ndr, 8));
10913 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1));
10914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
10915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
10916 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid));
10917 NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time));
10919 uint32_t _flags_save_ipv4address = ndr->flags;
10920 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
10921 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address));
10922 ndr->flags = _flags_save_ipv4address;
10924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
10926 if (ndr_flags & NDR_BUFFERS) {
10928 return NDR_ERR_SUCCESS;
10931 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r)
10933 if (ndr_flags & NDR_SCALARS) {
10934 NDR_CHECK(ndr_pull_align(ndr, 8));
10935 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1));
10936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
10937 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
10938 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid));
10939 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time));
10941 uint32_t _flags_save_ipv4address = ndr->flags;
10942 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
10943 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address));
10944 ndr->flags = _flags_save_ipv4address;
10946 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
10948 if (ndr_flags & NDR_BUFFERS) {
10950 return NDR_ERR_SUCCESS;
10953 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r)
10955 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04");
10956 ndr->depth++;
10957 ndr_print_hyper(ndr, "u1", r->u1);
10958 ndr_print_uint32(ndr, "u2", r->u2);
10959 ndr_print_uint32(ndr, "u3", r->u3);
10960 ndr_print_GUID(ndr, "bind_guid", &r->bind_guid);
10961 ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time);
10962 ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address);
10963 ndr_print_uint32(ndr, "u5", r->u5);
10964 ndr->depth--;
10967 static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r)
10969 uint32_t cntr_array_0;
10970 if (ndr_flags & NDR_SCALARS) {
10971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10972 NDR_CHECK(ndr_push_align(ndr, 8));
10973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
10974 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
10975 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
10976 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
10979 if (ndr_flags & NDR_BUFFERS) {
10981 return NDR_ERR_SUCCESS;
10984 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r)
10986 uint32_t size_array_0 = 0;
10987 uint32_t cntr_array_0;
10988 TALLOC_CTX *_mem_save_array_0;
10989 if (ndr_flags & NDR_SCALARS) {
10990 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
10991 NDR_CHECK(ndr_pull_align(ndr, 8));
10992 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
10993 if (r->count > 10000) {
10994 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
10996 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
10997 size_array_0 = ndr_get_array_size(ndr, &r->array);
10998 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
10999 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11000 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11001 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11002 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11004 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11005 if (r->array) {
11006 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11009 if (ndr_flags & NDR_BUFFERS) {
11011 return NDR_ERR_SUCCESS;
11014 _PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r)
11016 uint32_t cntr_array_0;
11017 ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr");
11018 ndr->depth++;
11019 ndr_print_uint32(ndr, "count", r->count);
11020 ndr_print_uint32(ndr, "reserved", r->reserved);
11021 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11022 ndr->depth++;
11023 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11024 char *idx_0=NULL;
11025 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11026 ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]);
11027 free(idx_0);
11030 ndr->depth--;
11031 ndr->depth--;
11034 static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r)
11036 if (ndr_flags & NDR_SCALARS) {
11037 NDR_CHECK(ndr_push_align(ndr, 8));
11038 NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1));
11039 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1));
11040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2));
11041 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
11042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4));
11043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5));
11044 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6));
11045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7));
11047 if (ndr_flags & NDR_BUFFERS) {
11048 if (r->str1) {
11049 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16)));
11052 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11055 return NDR_ERR_SUCCESS;
11058 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r)
11060 uint32_t _ptr_str1;
11061 uint32_t size_str1_1 = 0;
11062 uint32_t length_str1_1 = 0;
11063 TALLOC_CTX *_mem_save_str1_0;
11064 if (ndr_flags & NDR_SCALARS) {
11065 NDR_CHECK(ndr_pull_align(ndr, 8));
11066 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1));
11067 if (_ptr_str1) {
11068 NDR_PULL_ALLOC(ndr, r->str1);
11069 } else {
11070 r->str1 = NULL;
11072 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1));
11073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2));
11074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3));
11075 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4));
11076 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5));
11077 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6));
11078 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7));
11080 if (ndr_flags & NDR_BUFFERS) {
11081 if (r->str1) {
11082 _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr);
11083 NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0);
11084 NDR_CHECK(ndr_pull_array_size(ndr, &r->str1));
11085 NDR_CHECK(ndr_pull_array_length(ndr, &r->str1));
11086 size_str1_1 = ndr_get_array_size(ndr, &r->str1);
11087 length_str1_1 = ndr_get_array_length(ndr, &r->str1);
11088 if (length_str1_1 > size_str1_1) {
11089 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_str1_1, length_str1_1);
11091 NDR_CHECK(ndr_check_string_terminator(ndr, length_str1_1, sizeof(uint16_t)));
11092 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, length_str1_1, sizeof(uint16_t), CH_UTF16));
11093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0);
11096 return NDR_ERR_SUCCESS;
11099 _PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r)
11101 ndr_print_struct(ndr, name, "drsuapi_DsReplica06");
11102 ndr->depth++;
11103 ndr_print_ptr(ndr, "str1", r->str1);
11104 ndr->depth++;
11105 if (r->str1) {
11106 ndr_print_string(ndr, "str1", r->str1);
11108 ndr->depth--;
11109 ndr_print_uint32(ndr, "u1", r->u1);
11110 ndr_print_uint32(ndr, "u2", r->u2);
11111 ndr_print_uint32(ndr, "u3", r->u3);
11112 ndr_print_uint32(ndr, "u4", r->u4);
11113 ndr_print_uint32(ndr, "u5", r->u5);
11114 ndr_print_hyper(ndr, "u6", r->u6);
11115 ndr_print_uint32(ndr, "u7", r->u7);
11116 ndr->depth--;
11119 static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r)
11121 uint32_t cntr_array_0;
11122 if (ndr_flags & NDR_SCALARS) {
11123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11124 NDR_CHECK(ndr_push_align(ndr, 8));
11125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
11126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
11127 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11128 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11131 if (ndr_flags & NDR_BUFFERS) {
11132 for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) {
11133 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11136 return NDR_ERR_SUCCESS;
11139 static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r)
11141 uint32_t size_array_0 = 0;
11142 uint32_t cntr_array_0;
11143 TALLOC_CTX *_mem_save_array_0;
11144 if (ndr_flags & NDR_SCALARS) {
11145 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
11146 NDR_CHECK(ndr_pull_align(ndr, 8));
11147 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
11148 if (r->count > 256) {
11149 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
11152 size_array_0 = ndr_get_array_size(ndr, &r->array);
11153 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0);
11154 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11155 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11156 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11157 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0]));
11159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11160 if (r->array) {
11161 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
11164 if (ndr_flags & NDR_BUFFERS) {
11165 size_array_0 = ndr_get_array_size(ndr, &r->array);
11166 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11167 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
11168 for (cntr_array_0 = 0; cntr_array_0 < size_array_0; cntr_array_0++) {
11169 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0]));
11171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
11173 return NDR_ERR_SUCCESS;
11176 _PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r)
11178 uint32_t cntr_array_0;
11179 ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr");
11180 ndr->depth++;
11181 ndr_print_uint32(ndr, "count", r->count);
11182 ndr_print_uint32(ndr, "reserved", r->reserved);
11183 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
11184 ndr->depth++;
11185 for (cntr_array_0=0;cntr_array_0<r->count;cntr_array_0++) {
11186 char *idx_0=NULL;
11187 if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) {
11188 ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]);
11189 free(idx_0);
11192 ndr->depth--;
11193 ndr->depth--;
11196 static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r)
11198 if (ndr_flags & NDR_SCALARS) {
11199 int level = ndr_push_get_switch_value(ndr, r);
11200 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level));
11201 switch (level) {
11202 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11203 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours));
11204 break; }
11206 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11207 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors));
11208 break; }
11210 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11211 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata));
11212 break; }
11214 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures));
11216 break; }
11218 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11219 NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures));
11220 break; }
11222 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11223 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops));
11224 break; }
11226 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11227 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata));
11228 break; }
11230 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11231 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2));
11232 break; }
11234 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11235 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3));
11236 break; }
11238 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11239 NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2));
11240 break; }
11242 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11243 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2));
11244 break; }
11246 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
11247 NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours02));
11248 break; }
11250 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
11251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->connections04));
11252 break; }
11254 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
11255 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors05));
11256 break; }
11258 case DRSUAPI_DS_REPLICA_INFO_06: {
11259 NDR_CHECK(ndr_push_unique_ptr(ndr, r->i06));
11260 break; }
11262 default:
11263 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11266 if (ndr_flags & NDR_BUFFERS) {
11267 int level = ndr_push_get_switch_value(ndr, r);
11268 switch (level) {
11269 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11270 if (r->neighbours) {
11271 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
11273 break;
11275 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11276 if (r->cursors) {
11277 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
11279 break;
11281 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11282 if (r->objmetadata) {
11283 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
11285 break;
11287 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11288 if (r->connectfailures) {
11289 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
11291 break;
11293 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
11294 if (r->linkfailures) {
11295 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
11297 break;
11299 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
11300 if (r->pendingops) {
11301 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
11303 break;
11305 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
11306 if (r->attrvalmetadata) {
11307 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
11309 break;
11311 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
11312 if (r->cursors2) {
11313 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
11315 break;
11317 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
11318 if (r->cursors3) {
11319 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
11321 break;
11323 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
11324 if (r->objmetadata2) {
11325 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
11327 break;
11329 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
11330 if (r->attrvalmetadata2) {
11331 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
11333 break;
11335 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
11336 if (r->neighbours02) {
11337 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
11339 break;
11341 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
11342 if (r->connections04) {
11343 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
11345 break;
11347 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
11348 if (r->cursors05) {
11349 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
11351 break;
11353 case DRSUAPI_DS_REPLICA_INFO_06:
11354 if (r->i06) {
11355 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
11357 break;
11359 default:
11360 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11363 return NDR_ERR_SUCCESS;
11366 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r)
11368 int level;
11369 uint32_t _level;
11370 TALLOC_CTX *_mem_save_neighbours_0;
11371 uint32_t _ptr_neighbours;
11372 TALLOC_CTX *_mem_save_cursors_0;
11373 uint32_t _ptr_cursors;
11374 TALLOC_CTX *_mem_save_objmetadata_0;
11375 uint32_t _ptr_objmetadata;
11376 TALLOC_CTX *_mem_save_connectfailures_0;
11377 uint32_t _ptr_connectfailures;
11378 TALLOC_CTX *_mem_save_linkfailures_0;
11379 uint32_t _ptr_linkfailures;
11380 TALLOC_CTX *_mem_save_pendingops_0;
11381 uint32_t _ptr_pendingops;
11382 TALLOC_CTX *_mem_save_attrvalmetadata_0;
11383 uint32_t _ptr_attrvalmetadata;
11384 TALLOC_CTX *_mem_save_cursors2_0;
11385 uint32_t _ptr_cursors2;
11386 TALLOC_CTX *_mem_save_cursors3_0;
11387 uint32_t _ptr_cursors3;
11388 TALLOC_CTX *_mem_save_objmetadata2_0;
11389 uint32_t _ptr_objmetadata2;
11390 TALLOC_CTX *_mem_save_attrvalmetadata2_0;
11391 uint32_t _ptr_attrvalmetadata2;
11392 TALLOC_CTX *_mem_save_neighbours02_0;
11393 uint32_t _ptr_neighbours02;
11394 TALLOC_CTX *_mem_save_connections04_0;
11395 uint32_t _ptr_connections04;
11396 TALLOC_CTX *_mem_save_cursors05_0;
11397 uint32_t _ptr_cursors05;
11398 TALLOC_CTX *_mem_save_i06_0;
11399 uint32_t _ptr_i06;
11400 level = ndr_pull_get_switch_value(ndr, r);
11401 if (ndr_flags & NDR_SCALARS) {
11402 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
11403 if (_level != level) {
11404 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
11406 switch (level) {
11407 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: {
11408 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours));
11409 if (_ptr_neighbours) {
11410 NDR_PULL_ALLOC(ndr, r->neighbours);
11411 } else {
11412 r->neighbours = NULL;
11414 break; }
11416 case DRSUAPI_DS_REPLICA_INFO_CURSORS: {
11417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors));
11418 if (_ptr_cursors) {
11419 NDR_PULL_ALLOC(ndr, r->cursors);
11420 } else {
11421 r->cursors = NULL;
11423 break; }
11425 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: {
11426 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata));
11427 if (_ptr_objmetadata) {
11428 NDR_PULL_ALLOC(ndr, r->objmetadata);
11429 } else {
11430 r->objmetadata = NULL;
11432 break; }
11434 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: {
11435 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures));
11436 if (_ptr_connectfailures) {
11437 NDR_PULL_ALLOC(ndr, r->connectfailures);
11438 } else {
11439 r->connectfailures = NULL;
11441 break; }
11443 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: {
11444 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures));
11445 if (_ptr_linkfailures) {
11446 NDR_PULL_ALLOC(ndr, r->linkfailures);
11447 } else {
11448 r->linkfailures = NULL;
11450 break; }
11452 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: {
11453 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops));
11454 if (_ptr_pendingops) {
11455 NDR_PULL_ALLOC(ndr, r->pendingops);
11456 } else {
11457 r->pendingops = NULL;
11459 break; }
11461 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: {
11462 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata));
11463 if (_ptr_attrvalmetadata) {
11464 NDR_PULL_ALLOC(ndr, r->attrvalmetadata);
11465 } else {
11466 r->attrvalmetadata = NULL;
11468 break; }
11470 case DRSUAPI_DS_REPLICA_INFO_CURSORS2: {
11471 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2));
11472 if (_ptr_cursors2) {
11473 NDR_PULL_ALLOC(ndr, r->cursors2);
11474 } else {
11475 r->cursors2 = NULL;
11477 break; }
11479 case DRSUAPI_DS_REPLICA_INFO_CURSORS3: {
11480 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3));
11481 if (_ptr_cursors3) {
11482 NDR_PULL_ALLOC(ndr, r->cursors3);
11483 } else {
11484 r->cursors3 = NULL;
11486 break; }
11488 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: {
11489 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2));
11490 if (_ptr_objmetadata2) {
11491 NDR_PULL_ALLOC(ndr, r->objmetadata2);
11492 } else {
11493 r->objmetadata2 = NULL;
11495 break; }
11497 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: {
11498 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2));
11499 if (_ptr_attrvalmetadata2) {
11500 NDR_PULL_ALLOC(ndr, r->attrvalmetadata2);
11501 } else {
11502 r->attrvalmetadata2 = NULL;
11504 break; }
11506 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02: {
11507 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours02));
11508 if (_ptr_neighbours02) {
11509 NDR_PULL_ALLOC(ndr, r->neighbours02);
11510 } else {
11511 r->neighbours02 = NULL;
11513 break; }
11515 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04: {
11516 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connections04));
11517 if (_ptr_connections04) {
11518 NDR_PULL_ALLOC(ndr, r->connections04);
11519 } else {
11520 r->connections04 = NULL;
11522 break; }
11524 case DRSUAPI_DS_REPLICA_INFO_CURSORS05: {
11525 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors05));
11526 if (_ptr_cursors05) {
11527 NDR_PULL_ALLOC(ndr, r->cursors05);
11528 } else {
11529 r->cursors05 = NULL;
11531 break; }
11533 case DRSUAPI_DS_REPLICA_INFO_06: {
11534 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_i06));
11535 if (_ptr_i06) {
11536 NDR_PULL_ALLOC(ndr, r->i06);
11537 } else {
11538 r->i06 = NULL;
11540 break; }
11542 default:
11543 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11546 if (ndr_flags & NDR_BUFFERS) {
11547 switch (level) {
11548 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11549 if (r->neighbours) {
11550 _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr);
11551 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0);
11552 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours));
11553 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0);
11555 break;
11557 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11558 if (r->cursors) {
11559 _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr);
11560 NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0);
11561 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors));
11562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0);
11564 break;
11566 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11567 if (r->objmetadata) {
11568 _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
11569 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0);
11570 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata));
11571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0);
11573 break;
11575 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11576 if (r->connectfailures) {
11577 _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
11578 NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0);
11579 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures));
11580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0);
11582 break;
11584 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
11585 if (r->linkfailures) {
11586 _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr);
11587 NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0);
11588 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures));
11589 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0);
11591 break;
11593 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
11594 if (r->pendingops) {
11595 _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr);
11596 NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0);
11597 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops));
11598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0);
11600 break;
11602 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
11603 if (r->attrvalmetadata) {
11604 _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr);
11605 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0);
11606 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata));
11607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0);
11609 break;
11611 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
11612 if (r->cursors2) {
11613 _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr);
11614 NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0);
11615 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2));
11616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0);
11618 break;
11620 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
11621 if (r->cursors3) {
11622 _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr);
11623 NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0);
11624 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3));
11625 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0);
11627 break;
11629 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
11630 if (r->objmetadata2) {
11631 _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
11632 NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0);
11633 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2));
11634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0);
11636 break;
11638 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
11639 if (r->attrvalmetadata2) {
11640 _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr);
11641 NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0);
11642 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2));
11643 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0);
11645 break;
11647 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
11648 if (r->neighbours02) {
11649 _mem_save_neighbours02_0 = NDR_PULL_GET_MEM_CTX(ndr);
11650 NDR_PULL_SET_MEM_CTX(ndr, r->neighbours02, 0);
11651 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours02));
11652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours02_0, 0);
11654 break;
11656 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
11657 if (r->connections04) {
11658 _mem_save_connections04_0 = NDR_PULL_GET_MEM_CTX(ndr);
11659 NDR_PULL_SET_MEM_CTX(ndr, r->connections04, 0);
11660 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->connections04));
11661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connections04_0, 0);
11663 break;
11665 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
11666 if (r->cursors05) {
11667 _mem_save_cursors05_0 = NDR_PULL_GET_MEM_CTX(ndr);
11668 NDR_PULL_SET_MEM_CTX(ndr, r->cursors05, 0);
11669 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->cursors05));
11670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors05_0, 0);
11672 break;
11674 case DRSUAPI_DS_REPLICA_INFO_06:
11675 if (r->i06) {
11676 _mem_save_i06_0 = NDR_PULL_GET_MEM_CTX(ndr);
11677 NDR_PULL_SET_MEM_CTX(ndr, r->i06, 0);
11678 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->i06));
11679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_i06_0, 0);
11681 break;
11683 default:
11684 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11687 return NDR_ERR_SUCCESS;
11690 _PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r)
11692 int level;
11693 level = ndr_print_get_switch_value(ndr, r);
11694 ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo");
11695 switch (level) {
11696 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS:
11697 ndr_print_ptr(ndr, "neighbours", r->neighbours);
11698 ndr->depth++;
11699 if (r->neighbours) {
11700 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours);
11702 ndr->depth--;
11703 break;
11705 case DRSUAPI_DS_REPLICA_INFO_CURSORS:
11706 ndr_print_ptr(ndr, "cursors", r->cursors);
11707 ndr->depth++;
11708 if (r->cursors) {
11709 ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors);
11711 ndr->depth--;
11712 break;
11714 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA:
11715 ndr_print_ptr(ndr, "objmetadata", r->objmetadata);
11716 ndr->depth++;
11717 if (r->objmetadata) {
11718 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata);
11720 ndr->depth--;
11721 break;
11723 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES:
11724 ndr_print_ptr(ndr, "connectfailures", r->connectfailures);
11725 ndr->depth++;
11726 if (r->connectfailures) {
11727 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures);
11729 ndr->depth--;
11730 break;
11732 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES:
11733 ndr_print_ptr(ndr, "linkfailures", r->linkfailures);
11734 ndr->depth++;
11735 if (r->linkfailures) {
11736 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures);
11738 ndr->depth--;
11739 break;
11741 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS:
11742 ndr_print_ptr(ndr, "pendingops", r->pendingops);
11743 ndr->depth++;
11744 if (r->pendingops) {
11745 ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops);
11747 ndr->depth--;
11748 break;
11750 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA:
11751 ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata);
11752 ndr->depth++;
11753 if (r->attrvalmetadata) {
11754 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata);
11756 ndr->depth--;
11757 break;
11759 case DRSUAPI_DS_REPLICA_INFO_CURSORS2:
11760 ndr_print_ptr(ndr, "cursors2", r->cursors2);
11761 ndr->depth++;
11762 if (r->cursors2) {
11763 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2);
11765 ndr->depth--;
11766 break;
11768 case DRSUAPI_DS_REPLICA_INFO_CURSORS3:
11769 ndr_print_ptr(ndr, "cursors3", r->cursors3);
11770 ndr->depth++;
11771 if (r->cursors3) {
11772 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3);
11774 ndr->depth--;
11775 break;
11777 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2:
11778 ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2);
11779 ndr->depth++;
11780 if (r->objmetadata2) {
11781 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2);
11783 ndr->depth--;
11784 break;
11786 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2:
11787 ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
11788 ndr->depth++;
11789 if (r->attrvalmetadata2) {
11790 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2);
11792 ndr->depth--;
11793 break;
11795 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02:
11796 ndr_print_ptr(ndr, "neighbours02", r->neighbours02);
11797 ndr->depth++;
11798 if (r->neighbours02) {
11799 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours02", r->neighbours02);
11801 ndr->depth--;
11802 break;
11804 case DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04:
11805 ndr_print_ptr(ndr, "connections04", r->connections04);
11806 ndr->depth++;
11807 if (r->connections04) {
11808 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "connections04", r->connections04);
11810 ndr->depth--;
11811 break;
11813 case DRSUAPI_DS_REPLICA_INFO_CURSORS05:
11814 ndr_print_ptr(ndr, "cursors05", r->cursors05);
11815 ndr->depth++;
11816 if (r->cursors05) {
11817 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "cursors05", r->cursors05);
11819 ndr->depth--;
11820 break;
11822 case DRSUAPI_DS_REPLICA_INFO_06:
11823 ndr_print_ptr(ndr, "i06", r->i06);
11824 ndr->depth++;
11825 if (r->i06) {
11826 ndr_print_drsuapi_DsReplica06Ctr(ndr, "i06", r->i06);
11828 ndr->depth--;
11829 break;
11831 default:
11832 ndr_print_bad_level(ndr, name, level);
11836 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r)
11838 if (ndr_flags & NDR_SCALARS) {
11839 int level = ndr_push_get_switch_value(ndr, r);
11840 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
11841 switch (level) {
11842 case 1: {
11843 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
11844 break; }
11846 default:
11847 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11850 if (ndr_flags & NDR_BUFFERS) {
11851 int level = ndr_push_get_switch_value(ndr, r);
11852 switch (level) {
11853 case 1:
11854 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
11855 break;
11857 default:
11858 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11861 return NDR_ERR_SUCCESS;
11864 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r)
11866 int level;
11867 int32_t _level;
11868 level = ndr_pull_get_switch_value(ndr, r);
11869 if (ndr_flags & NDR_SCALARS) {
11870 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
11871 if (_level != level) {
11872 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
11874 switch (level) {
11875 case 1: {
11876 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1));
11877 break; }
11879 default:
11880 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11883 if (ndr_flags & NDR_BUFFERS) {
11884 switch (level) {
11885 case 1:
11886 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1));
11887 break;
11889 default:
11890 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
11893 return NDR_ERR_SUCCESS;
11896 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r)
11898 int level;
11899 level = ndr_print_get_switch_value(ndr, r);
11900 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr");
11901 switch (level) {
11902 case 1:
11903 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1);
11904 break;
11906 default:
11907 ndr_print_bad_level(ndr, name, level);
11911 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r)
11913 uint32_t cntr_req_array_1;
11914 if (ndr_flags & NDR_SCALARS) {
11915 NDR_CHECK(ndr_push_align(ndr, 4));
11916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
11917 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array));
11919 if (ndr_flags & NDR_BUFFERS) {
11920 if (r->req_array) {
11921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
11922 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
11923 NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1]));
11925 for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) {
11926 if (r->req_array[cntr_req_array_1]) {
11927 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
11932 return NDR_ERR_SUCCESS;
11935 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r)
11937 uint32_t _ptr_req_array;
11938 uint32_t size_req_array_1 = 0;
11939 uint32_t cntr_req_array_1;
11940 TALLOC_CTX *_mem_save_req_array_0;
11941 TALLOC_CTX *_mem_save_req_array_1;
11942 TALLOC_CTX *_mem_save_req_array_2;
11943 if (ndr_flags & NDR_SCALARS) {
11944 NDR_CHECK(ndr_pull_align(ndr, 4));
11945 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
11946 if (r->num_req < 1 || r->num_req > 10000) {
11947 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11949 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
11950 if (_ptr_req_array) {
11951 NDR_PULL_ALLOC(ndr, r->req_array);
11952 } else {
11953 r->req_array = NULL;
11956 if (ndr_flags & NDR_BUFFERS) {
11957 if (r->req_array) {
11958 _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
11959 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
11960 NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array));
11961 size_req_array_1 = ndr_get_array_size(ndr, &r->req_array);
11962 NDR_PULL_ALLOC_N(ndr, r->req_array, size_req_array_1);
11963 _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
11964 NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0);
11965 for (cntr_req_array_1 = 0; cntr_req_array_1 < size_req_array_1; cntr_req_array_1++) {
11966 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array));
11967 if (_ptr_req_array) {
11968 NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]);
11969 } else {
11970 r->req_array[cntr_req_array_1] = NULL;
11973 for (cntr_req_array_1 = 0; cntr_req_array_1 < size_req_array_1; cntr_req_array_1++) {
11974 if (r->req_array[cntr_req_array_1]) {
11975 _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr);
11976 NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0);
11977 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1]));
11978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0);
11981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0);
11982 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0);
11984 if (r->req_array) {
11985 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req));
11988 return NDR_ERR_SUCCESS;
11991 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r)
11993 uint32_t cntr_req_array_1;
11994 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1");
11995 ndr->depth++;
11996 ndr_print_uint32(ndr, "num_req", r->num_req);
11997 ndr_print_ptr(ndr, "req_array", r->req_array);
11998 ndr->depth++;
11999 if (r->req_array) {
12000 ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req);
12001 ndr->depth++;
12002 for (cntr_req_array_1=0;cntr_req_array_1<r->num_req;cntr_req_array_1++) {
12003 char *idx_1=NULL;
12004 if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) {
12005 ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]);
12006 ndr->depth++;
12007 if (r->req_array[cntr_req_array_1]) {
12008 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]);
12010 ndr->depth--;
12011 free(idx_1);
12014 ndr->depth--;
12016 ndr->depth--;
12017 ndr->depth--;
12020 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r)
12022 if (ndr_flags & NDR_SCALARS) {
12023 int level = ndr_push_get_switch_value(ndr, r);
12024 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12025 switch (level) {
12026 case 1: {
12027 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12028 break; }
12030 default:
12031 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12034 if (ndr_flags & NDR_BUFFERS) {
12035 int level = ndr_push_get_switch_value(ndr, r);
12036 switch (level) {
12037 case 1:
12038 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12039 break;
12041 default:
12042 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12045 return NDR_ERR_SUCCESS;
12048 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r)
12050 int level;
12051 int32_t _level;
12052 level = ndr_pull_get_switch_value(ndr, r);
12053 if (ndr_flags & NDR_SCALARS) {
12054 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12055 if (_level != level) {
12056 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
12058 switch (level) {
12059 case 1: {
12060 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1));
12061 break; }
12063 default:
12064 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12067 if (ndr_flags & NDR_BUFFERS) {
12068 switch (level) {
12069 case 1:
12070 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1));
12071 break;
12073 default:
12074 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12077 return NDR_ERR_SUCCESS;
12080 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r)
12082 int level;
12083 level = ndr_print_get_switch_value(ndr, r);
12084 ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request");
12085 switch (level) {
12086 case 1:
12087 ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1);
12088 break;
12090 default:
12091 ndr_print_bad_level(ndr, name, level);
12095 static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r)
12097 if (ndr_flags & NDR_SCALARS) {
12098 NDR_CHECK(ndr_push_align(ndr, 4));
12099 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code));
12100 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost));
12102 if (ndr_flags & NDR_BUFFERS) {
12104 return NDR_ERR_SUCCESS;
12107 static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r)
12109 if (ndr_flags & NDR_SCALARS) {
12110 NDR_CHECK(ndr_pull_align(ndr, 4));
12111 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code));
12112 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost));
12114 if (ndr_flags & NDR_BUFFERS) {
12116 return NDR_ERR_SUCCESS;
12119 _PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r)
12121 ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo");
12122 ndr->depth++;
12123 ndr_print_WERROR(ndr, "error_code", r->error_code);
12124 ndr_print_uint32(ndr, "site_cost", r->site_cost);
12125 ndr->depth--;
12128 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r)
12130 uint32_t cntr_info_1;
12131 if (ndr_flags & NDR_SCALARS) {
12132 NDR_CHECK(ndr_push_align(ndr, 4));
12133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12134 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
12135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
12137 if (ndr_flags & NDR_BUFFERS) {
12138 if (r->info) {
12139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info));
12140 for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) {
12141 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12145 return NDR_ERR_SUCCESS;
12148 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r)
12150 uint32_t _ptr_info;
12151 uint32_t size_info_1 = 0;
12152 uint32_t cntr_info_1;
12153 TALLOC_CTX *_mem_save_info_0;
12154 TALLOC_CTX *_mem_save_info_1;
12155 if (ndr_flags & NDR_SCALARS) {
12156 NDR_CHECK(ndr_pull_align(ndr, 4));
12157 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info));
12158 if (r->num_info > 10000) {
12159 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12161 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12162 if (_ptr_info) {
12163 NDR_PULL_ALLOC(ndr, r->info);
12164 } else {
12165 r->info = NULL;
12167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
12169 if (ndr_flags & NDR_BUFFERS) {
12170 if (r->info) {
12171 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12172 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12173 NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
12174 size_info_1 = ndr_get_array_size(ndr, &r->info);
12175 NDR_PULL_ALLOC_N(ndr, r->info, size_info_1);
12176 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12177 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
12178 for (cntr_info_1 = 0; cntr_info_1 < size_info_1; cntr_info_1++) {
12179 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1]));
12181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
12184 if (r->info) {
12185 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info));
12188 return NDR_ERR_SUCCESS;
12191 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r)
12193 uint32_t cntr_info_1;
12194 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1");
12195 ndr->depth++;
12196 ndr_print_uint32(ndr, "num_info", r->num_info);
12197 ndr_print_ptr(ndr, "info", r->info);
12198 ndr->depth++;
12199 if (r->info) {
12200 ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info);
12201 ndr->depth++;
12202 for (cntr_info_1=0;cntr_info_1<r->num_info;cntr_info_1++) {
12203 char *idx_1=NULL;
12204 if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) {
12205 ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]);
12206 free(idx_1);
12209 ndr->depth--;
12211 ndr->depth--;
12212 ndr_print_uint32(ndr, "unknown", r->unknown);
12213 ndr->depth--;
12216 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r)
12218 if (ndr_flags & NDR_SCALARS) {
12219 int level = ndr_push_get_switch_value(ndr, r);
12220 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12221 switch (level) {
12222 case 1: {
12223 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12224 break; }
12226 default:
12227 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12230 if (ndr_flags & NDR_BUFFERS) {
12231 int level = ndr_push_get_switch_value(ndr, r);
12232 switch (level) {
12233 case 1:
12234 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12235 break;
12237 default:
12238 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12241 return NDR_ERR_SUCCESS;
12244 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r)
12246 int level;
12247 int32_t _level;
12248 level = ndr_pull_get_switch_value(ndr, r);
12249 if (ndr_flags & NDR_SCALARS) {
12250 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12251 if (_level != level) {
12252 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
12254 switch (level) {
12255 case 1: {
12256 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1));
12257 break; }
12259 default:
12260 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12263 if (ndr_flags & NDR_BUFFERS) {
12264 switch (level) {
12265 case 1:
12266 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1));
12267 break;
12269 default:
12270 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12273 return NDR_ERR_SUCCESS;
12276 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r)
12278 int level;
12279 level = ndr_print_get_switch_value(ndr, r);
12280 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr");
12281 switch (level) {
12282 case 1:
12283 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1);
12284 break;
12286 default:
12287 ndr_print_bad_level(ndr, name, level);
12291 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r)
12293 uint32_t cntr_site_to_1;
12294 if (ndr_flags & NDR_SCALARS) {
12295 NDR_CHECK(ndr_push_align(ndr, 4));
12296 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from));
12297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12298 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to));
12299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
12301 if (ndr_flags & NDR_BUFFERS) {
12302 if (r->site_from) {
12303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
12304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16)));
12306 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12308 if (r->site_to) {
12309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req));
12310 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12311 NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1]));
12313 for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) {
12314 if (r->site_to[cntr_site_to_1]) {
12315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
12316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16)));
12318 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));
12323 return NDR_ERR_SUCCESS;
12326 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r)
12328 uint32_t _ptr_site_from;
12329 uint32_t size_site_from_1 = 0;
12330 uint32_t length_site_from_1 = 0;
12331 TALLOC_CTX *_mem_save_site_from_0;
12332 uint32_t _ptr_site_to;
12333 uint32_t size_site_to_1 = 0;
12334 uint32_t cntr_site_to_1;
12335 uint32_t size_site_to_3 = 0;
12336 uint32_t length_site_to_3 = 0;
12337 TALLOC_CTX *_mem_save_site_to_0;
12338 TALLOC_CTX *_mem_save_site_to_1;
12339 TALLOC_CTX *_mem_save_site_to_2;
12340 if (ndr_flags & NDR_SCALARS) {
12341 NDR_CHECK(ndr_pull_align(ndr, 4));
12342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from));
12343 if (_ptr_site_from) {
12344 NDR_PULL_ALLOC(ndr, r->site_from);
12345 } else {
12346 r->site_from = NULL;
12348 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req));
12349 if (r->num_req < 1 || r->num_req > 10000) {
12350 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12352 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
12353 if (_ptr_site_to) {
12354 NDR_PULL_ALLOC(ndr, r->site_to);
12355 } else {
12356 r->site_to = NULL;
12358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
12360 if (ndr_flags & NDR_BUFFERS) {
12361 if (r->site_from) {
12362 _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr);
12363 NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0);
12364 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from));
12365 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from));
12366 size_site_from_1 = ndr_get_array_size(ndr, &r->site_from);
12367 length_site_from_1 = ndr_get_array_length(ndr, &r->site_from);
12368 if (length_site_from_1 > size_site_from_1) {
12369 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_from_1, length_site_from_1);
12371 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_from_1, sizeof(uint16_t)));
12372 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, length_site_from_1, sizeof(uint16_t), CH_UTF16));
12373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0);
12375 if (r->site_to) {
12376 _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr);
12377 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
12378 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to));
12379 size_site_to_1 = ndr_get_array_size(ndr, &r->site_to);
12380 NDR_PULL_ALLOC_N(ndr, r->site_to, size_site_to_1);
12381 _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr);
12382 NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0);
12383 for (cntr_site_to_1 = 0; cntr_site_to_1 < size_site_to_1; cntr_site_to_1++) {
12384 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to));
12385 if (_ptr_site_to) {
12386 NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]);
12387 } else {
12388 r->site_to[cntr_site_to_1] = NULL;
12391 for (cntr_site_to_1 = 0; cntr_site_to_1 < size_site_to_1; cntr_site_to_1++) {
12392 if (r->site_to[cntr_site_to_1]) {
12393 _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr);
12394 NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0);
12395 NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1]));
12396 NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1]));
12397 size_site_to_3 = ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1]);
12398 length_site_to_3 = ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]);
12399 if (length_site_to_3 > size_site_to_3) {
12400 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_to_3, length_site_to_3);
12402 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_to_3, sizeof(uint16_t)));
12403 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], length_site_to_3, sizeof(uint16_t), CH_UTF16));
12404 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0);
12407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0);
12408 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0);
12410 if (r->site_to) {
12411 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req));
12414 return NDR_ERR_SUCCESS;
12417 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r)
12419 uint32_t cntr_site_to_1;
12420 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1");
12421 ndr->depth++;
12422 ndr_print_ptr(ndr, "site_from", r->site_from);
12423 ndr->depth++;
12424 if (r->site_from) {
12425 ndr_print_string(ndr, "site_from", r->site_from);
12427 ndr->depth--;
12428 ndr_print_uint32(ndr, "num_req", r->num_req);
12429 ndr_print_ptr(ndr, "site_to", r->site_to);
12430 ndr->depth++;
12431 if (r->site_to) {
12432 ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req);
12433 ndr->depth++;
12434 for (cntr_site_to_1=0;cntr_site_to_1<r->num_req;cntr_site_to_1++) {
12435 char *idx_1=NULL;
12436 if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) {
12437 ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]);
12438 ndr->depth++;
12439 if (r->site_to[cntr_site_to_1]) {
12440 ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]);
12442 ndr->depth--;
12443 free(idx_1);
12446 ndr->depth--;
12448 ndr->depth--;
12449 ndr_print_uint32(ndr, "flags", r->flags);
12450 ndr->depth--;
12453 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r)
12455 if (ndr_flags & NDR_SCALARS) {
12456 int level = ndr_push_get_switch_value(ndr, r);
12457 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
12458 switch (level) {
12459 case 1: {
12460 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
12461 break; }
12463 default:
12464 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12467 if (ndr_flags & NDR_BUFFERS) {
12468 int level = ndr_push_get_switch_value(ndr, r);
12469 switch (level) {
12470 case 1:
12471 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
12472 break;
12474 default:
12475 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12478 return NDR_ERR_SUCCESS;
12481 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r)
12483 int level;
12484 int32_t _level;
12485 level = ndr_pull_get_switch_value(ndr, r);
12486 if (ndr_flags & NDR_SCALARS) {
12487 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
12488 if (_level != level) {
12489 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
12491 switch (level) {
12492 case 1: {
12493 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1));
12494 break; }
12496 default:
12497 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12500 if (ndr_flags & NDR_BUFFERS) {
12501 switch (level) {
12502 case 1:
12503 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1));
12504 break;
12506 default:
12507 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
12510 return NDR_ERR_SUCCESS;
12513 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r)
12515 int level;
12516 level = ndr_print_get_switch_value(ndr, r);
12517 ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest");
12518 switch (level) {
12519 case 1:
12520 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1);
12521 break;
12523 default:
12524 ndr_print_bad_level(ndr, name, level);
12528 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r)
12530 if (flags & NDR_IN) {
12531 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid));
12532 if (r->in.bind_guid) {
12533 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
12535 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info));
12536 if (r->in.bind_info) {
12537 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
12540 if (flags & NDR_OUT) {
12541 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info));
12542 if (r->out.bind_info) {
12543 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
12545 if (r->out.bind_handle == NULL) {
12546 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12548 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
12549 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12551 return NDR_ERR_SUCCESS;
12554 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r)
12556 uint32_t _ptr_bind_guid;
12557 uint32_t _ptr_bind_info;
12558 TALLOC_CTX *_mem_save_bind_guid_0;
12559 TALLOC_CTX *_mem_save_bind_info_0;
12560 TALLOC_CTX *_mem_save_bind_handle_0;
12561 if (flags & NDR_IN) {
12562 ZERO_STRUCT(r->out);
12564 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid));
12565 if (_ptr_bind_guid) {
12566 NDR_PULL_ALLOC(ndr, r->in.bind_guid);
12567 } else {
12568 r->in.bind_guid = NULL;
12570 if (r->in.bind_guid) {
12571 _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12572 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0);
12573 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid));
12574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0);
12576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
12577 if (_ptr_bind_info) {
12578 NDR_PULL_ALLOC(ndr, r->in.bind_info);
12579 } else {
12580 r->in.bind_info = NULL;
12582 if (r->in.bind_info) {
12583 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12584 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0);
12585 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info));
12586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
12588 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
12589 ZERO_STRUCTP(r->out.bind_handle);
12591 if (flags & NDR_OUT) {
12592 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info));
12593 if (_ptr_bind_info) {
12594 NDR_PULL_ALLOC(ndr, r->out.bind_info);
12595 } else {
12596 r->out.bind_info = NULL;
12598 if (r->out.bind_info) {
12599 _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12600 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0);
12601 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info));
12602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0);
12604 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12605 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
12607 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12608 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12609 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
12610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12611 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12613 return NDR_ERR_SUCCESS;
12616 _PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r)
12618 ndr_print_struct(ndr, name, "drsuapi_DsBind");
12619 ndr->depth++;
12620 if (flags & NDR_SET_VALUES) {
12621 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12623 if (flags & NDR_IN) {
12624 ndr_print_struct(ndr, "in", "drsuapi_DsBind");
12625 ndr->depth++;
12626 ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid);
12627 ndr->depth++;
12628 if (r->in.bind_guid) {
12629 ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid);
12631 ndr->depth--;
12632 ndr_print_ptr(ndr, "bind_info", r->in.bind_info);
12633 ndr->depth++;
12634 if (r->in.bind_info) {
12635 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info);
12637 ndr->depth--;
12638 ndr->depth--;
12640 if (flags & NDR_OUT) {
12641 ndr_print_struct(ndr, "out", "drsuapi_DsBind");
12642 ndr->depth++;
12643 ndr_print_ptr(ndr, "bind_info", r->out.bind_info);
12644 ndr->depth++;
12645 if (r->out.bind_info) {
12646 ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info);
12648 ndr->depth--;
12649 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
12650 ndr->depth++;
12651 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
12652 ndr->depth--;
12653 ndr_print_WERROR(ndr, "result", r->out.result);
12654 ndr->depth--;
12656 ndr->depth--;
12659 static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r)
12661 if (flags & NDR_IN) {
12662 if (r->in.bind_handle == NULL) {
12663 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12665 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12667 if (flags & NDR_OUT) {
12668 if (r->out.bind_handle == NULL) {
12669 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12671 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
12672 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12674 return NDR_ERR_SUCCESS;
12677 static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r)
12679 TALLOC_CTX *_mem_save_bind_handle_0;
12680 if (flags & NDR_IN) {
12681 ZERO_STRUCT(r->out);
12683 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12684 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12686 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12687 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12688 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12690 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
12691 *r->out.bind_handle = *r->in.bind_handle;
12693 if (flags & NDR_OUT) {
12694 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12695 NDR_PULL_ALLOC(ndr, r->out.bind_handle);
12697 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12698 NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12699 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle));
12700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12701 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12703 return NDR_ERR_SUCCESS;
12706 _PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r)
12708 ndr_print_struct(ndr, name, "drsuapi_DsUnbind");
12709 ndr->depth++;
12710 if (flags & NDR_SET_VALUES) {
12711 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12713 if (flags & NDR_IN) {
12714 ndr_print_struct(ndr, "in", "drsuapi_DsUnbind");
12715 ndr->depth++;
12716 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12717 ndr->depth++;
12718 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12719 ndr->depth--;
12720 ndr->depth--;
12722 if (flags & NDR_OUT) {
12723 ndr_print_struct(ndr, "out", "drsuapi_DsUnbind");
12724 ndr->depth++;
12725 ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle);
12726 ndr->depth++;
12727 ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle);
12728 ndr->depth--;
12729 ndr_print_WERROR(ndr, "result", r->out.result);
12730 ndr->depth--;
12732 ndr->depth--;
12735 static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r)
12737 if (flags & NDR_IN) {
12738 if (r->in.bind_handle == NULL) {
12739 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12741 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12742 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
12743 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
12744 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
12746 if (flags & NDR_OUT) {
12747 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12749 return NDR_ERR_SUCCESS;
12752 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
12754 TALLOC_CTX *_mem_save_bind_handle_0;
12755 if (flags & NDR_IN) {
12756 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12757 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12759 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12760 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12761 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12762 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12763 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
12764 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
12765 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
12767 if (flags & NDR_OUT) {
12768 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12770 return NDR_ERR_SUCCESS;
12773 _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r)
12775 ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync");
12776 ndr->depth++;
12777 if (flags & NDR_SET_VALUES) {
12778 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12780 if (flags & NDR_IN) {
12781 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync");
12782 ndr->depth++;
12783 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12784 ndr->depth++;
12785 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12786 ndr->depth--;
12787 ndr_print_int32(ndr, "level", r->in.level);
12788 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
12789 ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
12790 ndr->depth--;
12792 if (flags & NDR_OUT) {
12793 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync");
12794 ndr->depth++;
12795 ndr_print_WERROR(ndr, "result", r->out.result);
12796 ndr->depth--;
12798 ndr->depth--;
12801 static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r)
12803 if (flags & NDR_IN) {
12804 if (r->in.bind_handle == NULL) {
12805 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12807 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12808 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
12809 if (r->in.req == NULL) {
12810 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12812 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
12813 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12815 if (flags & NDR_OUT) {
12816 if (r->out.level_out == NULL) {
12817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12819 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
12820 if (r->out.ctr == NULL) {
12821 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12823 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
12824 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
12825 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12827 return NDR_ERR_SUCCESS;
12830 static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r)
12832 TALLOC_CTX *_mem_save_bind_handle_0;
12833 TALLOC_CTX *_mem_save_req_0;
12834 TALLOC_CTX *_mem_save_level_out_0;
12835 TALLOC_CTX *_mem_save_ctr_0;
12836 if (flags & NDR_IN) {
12837 ZERO_STRUCT(r->out);
12839 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12840 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12842 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12843 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12844 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12845 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12846 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
12847 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12848 NDR_PULL_ALLOC(ndr, r->in.req);
12850 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
12851 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
12852 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
12853 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
12855 NDR_PULL_ALLOC(ndr, r->out.level_out);
12856 ZERO_STRUCTP(r->out.level_out);
12857 NDR_PULL_ALLOC(ndr, r->out.ctr);
12858 ZERO_STRUCTP(r->out.ctr);
12860 if (flags & NDR_OUT) {
12861 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12862 NDR_PULL_ALLOC(ndr, r->out.level_out);
12864 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
12865 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
12866 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
12867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
12868 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12869 NDR_PULL_ALLOC(ndr, r->out.ctr);
12871 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12872 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12873 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
12874 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
12875 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12876 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12878 return NDR_ERR_SUCCESS;
12881 _PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r)
12883 ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges");
12884 ndr->depth++;
12885 if (flags & NDR_SET_VALUES) {
12886 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12888 if (flags & NDR_IN) {
12889 ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges");
12890 ndr->depth++;
12891 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12892 ndr->depth++;
12893 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12894 ndr->depth--;
12895 ndr_print_int32(ndr, "level", r->in.level);
12896 ndr_print_ptr(ndr, "req", r->in.req);
12897 ndr->depth++;
12898 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
12899 ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req);
12900 ndr->depth--;
12901 ndr->depth--;
12903 if (flags & NDR_OUT) {
12904 ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges");
12905 ndr->depth++;
12906 ndr_print_ptr(ndr, "level_out", r->out.level_out);
12907 ndr->depth++;
12908 ndr_print_int32(ndr, "level_out", *r->out.level_out);
12909 ndr->depth--;
12910 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12911 ndr->depth++;
12912 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
12913 ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr);
12914 ndr->depth--;
12915 ndr_print_WERROR(ndr, "result", r->out.result);
12916 ndr->depth--;
12918 ndr->depth--;
12921 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
12923 if (flags & NDR_IN) {
12924 if (r->in.bind_handle == NULL) {
12925 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12927 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12928 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
12929 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
12930 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
12932 if (flags & NDR_OUT) {
12933 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12935 return NDR_ERR_SUCCESS;
12938 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r)
12940 TALLOC_CTX *_mem_save_bind_handle_0;
12941 if (flags & NDR_IN) {
12942 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12943 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
12945 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12946 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
12947 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
12948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
12949 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
12950 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
12951 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
12953 if (flags & NDR_OUT) {
12954 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12956 return NDR_ERR_SUCCESS;
12959 _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r)
12961 ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs");
12962 ndr->depth++;
12963 if (flags & NDR_SET_VALUES) {
12964 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12966 if (flags & NDR_IN) {
12967 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs");
12968 ndr->depth++;
12969 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
12970 ndr->depth++;
12971 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
12972 ndr->depth--;
12973 ndr_print_int32(ndr, "level", r->in.level);
12974 ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
12975 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req);
12976 ndr->depth--;
12978 if (flags & NDR_OUT) {
12979 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs");
12980 ndr->depth++;
12981 ndr_print_WERROR(ndr, "result", r->out.result);
12982 ndr->depth--;
12984 ndr->depth--;
12987 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_ADD(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_ADD *r)
12989 if (flags & NDR_IN) {
12991 if (flags & NDR_OUT) {
12992 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12994 return NDR_ERR_SUCCESS;
12997 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_ADD(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_ADD *r)
12999 if (flags & NDR_IN) {
13001 if (flags & NDR_OUT) {
13002 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13004 return NDR_ERR_SUCCESS;
13007 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_ADD(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_ADD *r)
13009 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_ADD");
13010 ndr->depth++;
13011 if (flags & NDR_SET_VALUES) {
13012 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13014 if (flags & NDR_IN) {
13015 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_ADD");
13016 ndr->depth++;
13017 ndr->depth--;
13019 if (flags & NDR_OUT) {
13020 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_ADD");
13021 ndr->depth++;
13022 ndr_print_WERROR(ndr, "result", r->out.result);
13023 ndr->depth--;
13025 ndr->depth--;
13028 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_DEL(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_DEL *r)
13030 if (flags & NDR_IN) {
13032 if (flags & NDR_OUT) {
13033 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13035 return NDR_ERR_SUCCESS;
13038 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_DEL(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_DEL *r)
13040 if (flags & NDR_IN) {
13042 if (flags & NDR_OUT) {
13043 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13045 return NDR_ERR_SUCCESS;
13048 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_DEL(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_DEL *r)
13050 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_DEL");
13051 ndr->depth++;
13052 if (flags & NDR_SET_VALUES) {
13053 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13055 if (flags & NDR_IN) {
13056 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_DEL");
13057 ndr->depth++;
13058 ndr->depth--;
13060 if (flags & NDR_OUT) {
13061 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_DEL");
13062 ndr->depth++;
13063 ndr_print_WERROR(ndr, "result", r->out.result);
13064 ndr->depth--;
13066 ndr->depth--;
13069 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_MODIFY(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_MODIFY *r)
13071 if (flags & NDR_IN) {
13073 if (flags & NDR_OUT) {
13074 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13076 return NDR_ERR_SUCCESS;
13079 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_MODIFY(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_MODIFY *r)
13081 if (flags & NDR_IN) {
13083 if (flags & NDR_OUT) {
13084 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13086 return NDR_ERR_SUCCESS;
13089 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_MODIFY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_MODIFY *r)
13091 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_MODIFY");
13092 ndr->depth++;
13093 if (flags & NDR_SET_VALUES) {
13094 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13096 if (flags & NDR_IN) {
13097 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_MODIFY");
13098 ndr->depth++;
13099 ndr->depth--;
13101 if (flags & NDR_OUT) {
13102 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_MODIFY");
13103 ndr->depth++;
13104 ndr_print_WERROR(ndr, "result", r->out.result);
13105 ndr->depth--;
13107 ndr->depth--;
13110 static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13112 if (flags & NDR_IN) {
13114 if (flags & NDR_OUT) {
13115 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13117 return NDR_ERR_SUCCESS;
13120 static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r)
13122 if (flags & NDR_IN) {
13124 if (flags & NDR_OUT) {
13125 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13127 return NDR_ERR_SUCCESS;
13130 _PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r)
13132 ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES");
13133 ndr->depth++;
13134 if (flags & NDR_SET_VALUES) {
13135 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13137 if (flags & NDR_IN) {
13138 ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES");
13139 ndr->depth++;
13140 ndr->depth--;
13142 if (flags & NDR_OUT) {
13143 ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES");
13144 ndr->depth++;
13145 ndr_print_WERROR(ndr, "result", r->out.result);
13146 ndr->depth--;
13148 ndr->depth--;
13151 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r)
13153 if (flags & NDR_IN) {
13154 if (r->in.bind_handle == NULL) {
13155 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13157 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13158 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13159 if (r->in.req == NULL) {
13160 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13162 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13163 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13165 if (flags & NDR_OUT) {
13166 if (r->out.level_out == NULL) {
13167 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13169 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13170 if (r->out.ctr == NULL) {
13171 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13173 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13174 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13175 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13177 return NDR_ERR_SUCCESS;
13180 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r)
13182 TALLOC_CTX *_mem_save_bind_handle_0;
13183 TALLOC_CTX *_mem_save_req_0;
13184 TALLOC_CTX *_mem_save_level_out_0;
13185 TALLOC_CTX *_mem_save_ctr_0;
13186 if (flags & NDR_IN) {
13187 ZERO_STRUCT(r->out);
13189 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13190 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13192 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13193 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13194 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13196 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13197 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13198 NDR_PULL_ALLOC(ndr, r->in.req);
13200 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13201 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13202 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13203 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13205 NDR_PULL_ALLOC(ndr, r->out.level_out);
13206 ZERO_STRUCTP(r->out.level_out);
13207 NDR_PULL_ALLOC(ndr, r->out.ctr);
13208 ZERO_STRUCTP(r->out.ctr);
13210 if (flags & NDR_OUT) {
13211 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13212 NDR_PULL_ALLOC(ndr, r->out.level_out);
13214 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13215 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13216 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13217 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13218 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13219 NDR_PULL_ALLOC(ndr, r->out.ctr);
13221 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13222 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13223 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13224 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13226 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13228 return NDR_ERR_SUCCESS;
13231 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r)
13233 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships");
13234 ndr->depth++;
13235 if (flags & NDR_SET_VALUES) {
13236 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13238 if (flags & NDR_IN) {
13239 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships");
13240 ndr->depth++;
13241 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13242 ndr->depth++;
13243 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13244 ndr->depth--;
13245 ndr_print_int32(ndr, "level", r->in.level);
13246 ndr_print_ptr(ndr, "req", r->in.req);
13247 ndr->depth++;
13248 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13249 ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req);
13250 ndr->depth--;
13251 ndr->depth--;
13253 if (flags & NDR_OUT) {
13254 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships");
13255 ndr->depth++;
13256 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13257 ndr->depth++;
13258 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13259 ndr->depth--;
13260 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13261 ndr->depth++;
13262 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13263 ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr);
13264 ndr->depth--;
13265 ndr_print_WERROR(ndr, "result", r->out.result);
13266 ndr->depth--;
13268 ndr->depth--;
13271 static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
13273 if (flags & NDR_IN) {
13275 if (flags & NDR_OUT) {
13276 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13278 return NDR_ERR_SUCCESS;
13281 static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r)
13283 if (flags & NDR_IN) {
13285 if (flags & NDR_OUT) {
13286 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13288 return NDR_ERR_SUCCESS;
13291 _PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r)
13293 ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE");
13294 ndr->depth++;
13295 if (flags & NDR_SET_VALUES) {
13296 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13298 if (flags & NDR_IN) {
13299 ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
13300 ndr->depth++;
13301 ndr->depth--;
13303 if (flags & NDR_OUT) {
13304 ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
13305 ndr->depth++;
13306 ndr_print_WERROR(ndr, "result", r->out.result);
13307 ndr->depth--;
13309 ndr->depth--;
13312 static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
13314 if (flags & NDR_IN) {
13315 if (r->in.bind_handle == NULL) {
13316 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13318 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13320 if (r->in.req == NULL) {
13321 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13323 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13324 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13326 if (flags & NDR_OUT) {
13327 if (r->out.level_out == NULL) {
13328 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
13331 if (r->out.info == NULL) {
13332 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13334 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out));
13335 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13336 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13338 return NDR_ERR_SUCCESS;
13341 static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r)
13343 TALLOC_CTX *_mem_save_bind_handle_0;
13344 TALLOC_CTX *_mem_save_req_0;
13345 TALLOC_CTX *_mem_save_level_out_0;
13346 TALLOC_CTX *_mem_save_info_0;
13347 if (flags & NDR_IN) {
13348 ZERO_STRUCT(r->out);
13350 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13351 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13353 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13354 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13355 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13356 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13357 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13358 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13359 NDR_PULL_ALLOC(ndr, r->in.req);
13361 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13362 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13363 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13364 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13366 NDR_PULL_ALLOC(ndr, r->out.level_out);
13367 ZERO_STRUCTP(r->out.level_out);
13368 NDR_PULL_ALLOC(ndr, r->out.info);
13369 ZERO_STRUCTP(r->out.info);
13371 if (flags & NDR_OUT) {
13372 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13373 NDR_PULL_ALLOC(ndr, r->out.level_out);
13375 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13376 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13377 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
13378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13379 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13380 NDR_PULL_ALLOC(ndr, r->out.info);
13382 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13383 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13384 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out));
13385 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13387 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13389 return NDR_ERR_SUCCESS;
13392 _PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r)
13394 ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog");
13395 ndr->depth++;
13396 if (flags & NDR_SET_VALUES) {
13397 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13399 if (flags & NDR_IN) {
13400 ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog");
13401 ndr->depth++;
13402 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13403 ndr->depth++;
13404 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13405 ndr->depth--;
13406 ndr_print_uint32(ndr, "level", r->in.level);
13407 ndr_print_ptr(ndr, "req", r->in.req);
13408 ndr->depth++;
13409 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13410 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req);
13411 ndr->depth--;
13412 ndr->depth--;
13414 if (flags & NDR_OUT) {
13415 ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog");
13416 ndr->depth++;
13417 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13418 ndr->depth++;
13419 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
13420 ndr->depth--;
13421 ndr_print_ptr(ndr, "info", r->out.info);
13422 ndr->depth++;
13423 ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out);
13424 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info);
13425 ndr->depth--;
13426 ndr_print_WERROR(ndr, "result", r->out.result);
13427 ndr->depth--;
13429 ndr->depth--;
13432 static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r)
13434 if (flags & NDR_IN) {
13435 if (r->in.bind_handle == NULL) {
13436 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13438 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13439 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13440 if (r->in.req == NULL) {
13441 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13443 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13444 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13446 if (flags & NDR_OUT) {
13447 if (r->out.level_out == NULL) {
13448 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13450 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13451 if (r->out.ctr == NULL) {
13452 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13454 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13455 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13456 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13458 return NDR_ERR_SUCCESS;
13461 static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r)
13463 TALLOC_CTX *_mem_save_bind_handle_0;
13464 TALLOC_CTX *_mem_save_req_0;
13465 TALLOC_CTX *_mem_save_level_out_0;
13466 TALLOC_CTX *_mem_save_ctr_0;
13467 if (flags & NDR_IN) {
13468 ZERO_STRUCT(r->out);
13470 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13471 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13473 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13474 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13475 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13477 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13478 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13479 NDR_PULL_ALLOC(ndr, r->in.req);
13481 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13482 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13483 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13484 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13486 NDR_PULL_ALLOC(ndr, r->out.level_out);
13487 ZERO_STRUCTP(r->out.level_out);
13488 NDR_PULL_ALLOC(ndr, r->out.ctr);
13489 ZERO_STRUCTP(r->out.ctr);
13491 if (flags & NDR_OUT) {
13492 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13493 NDR_PULL_ALLOC(ndr, r->out.level_out);
13495 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13496 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13497 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13499 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13500 NDR_PULL_ALLOC(ndr, r->out.ctr);
13502 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13503 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13504 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13505 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13507 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13509 return NDR_ERR_SUCCESS;
13512 _PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r)
13514 ndr_print_struct(ndr, name, "drsuapi_DsCrackNames");
13515 ndr->depth++;
13516 if (flags & NDR_SET_VALUES) {
13517 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13519 if (flags & NDR_IN) {
13520 ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames");
13521 ndr->depth++;
13522 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13523 ndr->depth++;
13524 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13525 ndr->depth--;
13526 ndr_print_int32(ndr, "level", r->in.level);
13527 ndr_print_ptr(ndr, "req", r->in.req);
13528 ndr->depth++;
13529 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13530 ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req);
13531 ndr->depth--;
13532 ndr->depth--;
13534 if (flags & NDR_OUT) {
13535 ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames");
13536 ndr->depth++;
13537 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13538 ndr->depth++;
13539 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13540 ndr->depth--;
13541 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13542 ndr->depth++;
13543 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13544 ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr);
13545 ndr->depth--;
13546 ndr_print_WERROR(ndr, "result", r->out.result);
13547 ndr->depth--;
13549 ndr->depth--;
13552 static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r)
13554 if (flags & NDR_IN) {
13555 if (r->in.bind_handle == NULL) {
13556 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13558 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13559 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13560 if (r->in.req == NULL) {
13561 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13563 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13564 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13566 if (flags & NDR_OUT) {
13567 if (r->out.level_out == NULL) {
13568 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13570 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13571 if (r->out.res == NULL) {
13572 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13574 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
13575 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
13576 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13578 return NDR_ERR_SUCCESS;
13581 static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r)
13583 TALLOC_CTX *_mem_save_bind_handle_0;
13584 TALLOC_CTX *_mem_save_req_0;
13585 TALLOC_CTX *_mem_save_level_out_0;
13586 TALLOC_CTX *_mem_save_res_0;
13587 if (flags & NDR_IN) {
13588 ZERO_STRUCT(r->out);
13590 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13591 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13593 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13594 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13595 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13596 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13597 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13598 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13599 NDR_PULL_ALLOC(ndr, r->in.req);
13601 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13602 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13603 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13604 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13606 NDR_PULL_ALLOC(ndr, r->out.level_out);
13607 ZERO_STRUCTP(r->out.level_out);
13608 NDR_PULL_ALLOC(ndr, r->out.res);
13609 ZERO_STRUCTP(r->out.res);
13611 if (flags & NDR_OUT) {
13612 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13613 NDR_PULL_ALLOC(ndr, r->out.level_out);
13615 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13616 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13617 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13619 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13620 NDR_PULL_ALLOC(ndr, r->out.res);
13622 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
13623 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
13624 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
13625 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res));
13626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
13627 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13629 return NDR_ERR_SUCCESS;
13632 _PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r)
13634 ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn");
13635 ndr->depth++;
13636 if (flags & NDR_SET_VALUES) {
13637 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13639 if (flags & NDR_IN) {
13640 ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn");
13641 ndr->depth++;
13642 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13643 ndr->depth++;
13644 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13645 ndr->depth--;
13646 ndr_print_int32(ndr, "level", r->in.level);
13647 ndr_print_ptr(ndr, "req", r->in.req);
13648 ndr->depth++;
13649 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13650 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req);
13651 ndr->depth--;
13652 ndr->depth--;
13654 if (flags & NDR_OUT) {
13655 ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn");
13656 ndr->depth++;
13657 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13658 ndr->depth++;
13659 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13660 ndr->depth--;
13661 ndr_print_ptr(ndr, "res", r->out.res);
13662 ndr->depth++;
13663 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
13664 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res);
13665 ndr->depth--;
13666 ndr_print_WERROR(ndr, "result", r->out.result);
13667 ndr->depth--;
13669 ndr->depth--;
13672 static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r)
13674 if (flags & NDR_IN) {
13675 if (r->in.bind_handle == NULL) {
13676 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13678 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13679 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13680 if (r->in.req == NULL) {
13681 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13683 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13684 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13686 if (flags & NDR_OUT) {
13687 if (r->out.level_out == NULL) {
13688 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13690 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13691 if (r->out.res == NULL) {
13692 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13694 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out));
13695 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
13696 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13698 return NDR_ERR_SUCCESS;
13701 static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r)
13703 TALLOC_CTX *_mem_save_bind_handle_0;
13704 TALLOC_CTX *_mem_save_req_0;
13705 TALLOC_CTX *_mem_save_level_out_0;
13706 TALLOC_CTX *_mem_save_res_0;
13707 if (flags & NDR_IN) {
13708 ZERO_STRUCT(r->out);
13710 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13711 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13713 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13714 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13715 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13717 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13718 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13719 NDR_PULL_ALLOC(ndr, r->in.req);
13721 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13722 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13723 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13724 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13725 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13726 NDR_PULL_ALLOC(ndr, r->out.level_out);
13727 ZERO_STRUCTP(r->out.level_out);
13728 NDR_PULL_ALLOC(ndr, r->out.res);
13729 ZERO_STRUCTP(r->out.res);
13731 if (flags & NDR_OUT) {
13732 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13733 NDR_PULL_ALLOC(ndr, r->out.level_out);
13735 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13736 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13737 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13739 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13740 NDR_PULL_ALLOC(ndr, r->out.res);
13742 _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr);
13743 NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC);
13744 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out));
13745 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res));
13746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC);
13747 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13749 return NDR_ERR_SUCCESS;
13752 _PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r)
13754 ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer");
13755 ndr->depth++;
13756 if (flags & NDR_SET_VALUES) {
13757 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13759 if (flags & NDR_IN) {
13760 ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer");
13761 ndr->depth++;
13762 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13763 ndr->depth++;
13764 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13765 ndr->depth--;
13766 ndr_print_int32(ndr, "level", r->in.level);
13767 ndr_print_ptr(ndr, "req", r->in.req);
13768 ndr->depth++;
13769 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13770 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req);
13771 ndr->depth--;
13772 ndr->depth--;
13774 if (flags & NDR_OUT) {
13775 ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer");
13776 ndr->depth++;
13777 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13778 ndr->depth++;
13779 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13780 ndr->depth--;
13781 ndr_print_ptr(ndr, "res", r->out.res);
13782 ndr->depth++;
13783 ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out);
13784 ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res);
13785 ndr->depth--;
13786 ndr_print_WERROR(ndr, "result", r->out.result);
13787 ndr->depth--;
13789 ndr->depth--;
13792 static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
13794 if (flags & NDR_IN) {
13796 if (flags & NDR_OUT) {
13797 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13799 return NDR_ERR_SUCCESS;
13802 static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r)
13804 if (flags & NDR_IN) {
13806 if (flags & NDR_OUT) {
13807 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13809 return NDR_ERR_SUCCESS;
13812 _PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r)
13814 ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN");
13815 ndr->depth++;
13816 if (flags & NDR_SET_VALUES) {
13817 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13819 if (flags & NDR_IN) {
13820 ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
13821 ndr->depth++;
13822 ndr->depth--;
13824 if (flags & NDR_OUT) {
13825 ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
13826 ndr->depth++;
13827 ndr_print_WERROR(ndr, "result", r->out.result);
13828 ndr->depth--;
13830 ndr->depth--;
13833 static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
13835 if (flags & NDR_IN) {
13836 if (r->in.bind_handle == NULL) {
13837 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13839 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13840 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13841 if (r->in.req == NULL) {
13842 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13844 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13845 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13847 if (flags & NDR_OUT) {
13848 if (r->out.level_out == NULL) {
13849 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13851 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13852 if (r->out.ctr == NULL) {
13853 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13855 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13856 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13857 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13859 return NDR_ERR_SUCCESS;
13862 static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r)
13864 TALLOC_CTX *_mem_save_bind_handle_0;
13865 TALLOC_CTX *_mem_save_req_0;
13866 TALLOC_CTX *_mem_save_level_out_0;
13867 TALLOC_CTX *_mem_save_ctr_0;
13868 if (flags & NDR_IN) {
13869 ZERO_STRUCT(r->out);
13871 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13872 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13874 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13875 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13876 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13878 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13879 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13880 NDR_PULL_ALLOC(ndr, r->in.req);
13882 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
13883 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
13884 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
13885 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13886 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
13887 NDR_PULL_ALLOC(ndr, r->out.level_out);
13888 ZERO_STRUCTP(r->out.level_out);
13889 NDR_PULL_ALLOC(ndr, r->out.ctr);
13890 ZERO_STRUCTP(r->out.ctr);
13892 if (flags & NDR_OUT) {
13893 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13894 NDR_PULL_ALLOC(ndr, r->out.level_out);
13896 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
13897 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
13898 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
13899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
13900 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13901 NDR_PULL_ALLOC(ndr, r->out.ctr);
13903 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13904 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13905 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13906 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13908 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13910 return NDR_ERR_SUCCESS;
13913 _PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r)
13915 ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo");
13916 ndr->depth++;
13917 if (flags & NDR_SET_VALUES) {
13918 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13920 if (flags & NDR_IN) {
13921 ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo");
13922 ndr->depth++;
13923 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
13924 ndr->depth++;
13925 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
13926 ndr->depth--;
13927 ndr_print_int32(ndr, "level", r->in.level);
13928 ndr_print_ptr(ndr, "req", r->in.req);
13929 ndr->depth++;
13930 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
13931 ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req);
13932 ndr->depth--;
13933 ndr->depth--;
13935 if (flags & NDR_OUT) {
13936 ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo");
13937 ndr->depth++;
13938 ndr_print_ptr(ndr, "level_out", r->out.level_out);
13939 ndr->depth++;
13940 ndr_print_int32(ndr, "level_out", *r->out.level_out);
13941 ndr->depth--;
13942 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13943 ndr->depth++;
13944 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
13945 ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr);
13946 ndr->depth--;
13947 ndr_print_WERROR(ndr, "result", r->out.result);
13948 ndr->depth--;
13950 ndr->depth--;
13953 _PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r)
13955 if (flags & NDR_IN) {
13956 if (r->in.bind_handle == NULL) {
13957 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13959 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13960 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
13961 if (r->in.req == NULL) {
13962 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13964 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
13965 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
13967 if (flags & NDR_OUT) {
13968 if (r->out.level_out == NULL) {
13969 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13971 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
13972 if (r->out.ctr == NULL) {
13973 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13975 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
13976 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13977 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13979 return NDR_ERR_SUCCESS;
13982 _PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r)
13984 TALLOC_CTX *_mem_save_bind_handle_0;
13985 TALLOC_CTX *_mem_save_req_0;
13986 TALLOC_CTX *_mem_save_level_out_0;
13987 TALLOC_CTX *_mem_save_ctr_0;
13988 if (flags & NDR_IN) {
13989 ZERO_STRUCT(r->out);
13991 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13992 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
13994 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
13995 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
13996 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
13997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
13998 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
13999 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14000 NDR_PULL_ALLOC(ndr, r->in.req);
14002 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14003 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14004 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14005 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14006 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14007 NDR_PULL_ALLOC(ndr, r->out.level_out);
14008 ZERO_STRUCTP(r->out.level_out);
14009 NDR_PULL_ALLOC(ndr, r->out.ctr);
14010 ZERO_STRUCTP(r->out.ctr);
14012 if (flags & NDR_OUT) {
14013 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14014 NDR_PULL_ALLOC(ndr, r->out.level_out);
14016 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14017 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14018 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14020 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14021 NDR_PULL_ALLOC(ndr, r->out.ctr);
14023 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14024 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14025 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14026 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14028 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14030 return NDR_ERR_SUCCESS;
14033 _PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r)
14035 ndr_print_struct(ndr, name, "drsuapi_DsAddEntry");
14036 ndr->depth++;
14037 if (flags & NDR_SET_VALUES) {
14038 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14040 if (flags & NDR_IN) {
14041 ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry");
14042 ndr->depth++;
14043 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14044 ndr->depth++;
14045 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14046 ndr->depth--;
14047 ndr_print_int32(ndr, "level", r->in.level);
14048 ndr_print_ptr(ndr, "req", r->in.req);
14049 ndr->depth++;
14050 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14051 ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req);
14052 ndr->depth--;
14053 ndr->depth--;
14055 if (flags & NDR_OUT) {
14056 ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry");
14057 ndr->depth++;
14058 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14059 ndr->depth++;
14060 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14061 ndr->depth--;
14062 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14063 ndr->depth++;
14064 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14065 ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr);
14066 ndr->depth--;
14067 ndr_print_WERROR(ndr, "result", r->out.result);
14068 ndr->depth--;
14070 ndr->depth--;
14073 static enum ndr_err_code ndr_push_DRSUAPI_EXECUTE_KCC(struct ndr_push *ndr, int flags, const struct DRSUAPI_EXECUTE_KCC *r)
14075 if (flags & NDR_IN) {
14077 if (flags & NDR_OUT) {
14078 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14080 return NDR_ERR_SUCCESS;
14083 static enum ndr_err_code ndr_pull_DRSUAPI_EXECUTE_KCC(struct ndr_pull *ndr, int flags, struct DRSUAPI_EXECUTE_KCC *r)
14085 if (flags & NDR_IN) {
14087 if (flags & NDR_OUT) {
14088 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14090 return NDR_ERR_SUCCESS;
14093 _PUBLIC_ void ndr_print_DRSUAPI_EXECUTE_KCC(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_EXECUTE_KCC *r)
14095 ndr_print_struct(ndr, name, "DRSUAPI_EXECUTE_KCC");
14096 ndr->depth++;
14097 if (flags & NDR_SET_VALUES) {
14098 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14100 if (flags & NDR_IN) {
14101 ndr_print_struct(ndr, "in", "DRSUAPI_EXECUTE_KCC");
14102 ndr->depth++;
14103 ndr->depth--;
14105 if (flags & NDR_OUT) {
14106 ndr_print_struct(ndr, "out", "DRSUAPI_EXECUTE_KCC");
14107 ndr->depth++;
14108 ndr_print_WERROR(ndr, "result", r->out.result);
14109 ndr->depth--;
14111 ndr->depth--;
14114 static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14116 if (flags & NDR_IN) {
14117 if (r->in.bind_handle == NULL) {
14118 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14120 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14121 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level));
14122 if (r->in.req == NULL) {
14123 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14125 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14126 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14128 if (flags & NDR_OUT) {
14129 if (r->out.info_type == NULL) {
14130 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14132 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type));
14133 if (r->out.info == NULL) {
14134 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14136 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type));
14137 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14138 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14140 return NDR_ERR_SUCCESS;
14143 static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r)
14145 TALLOC_CTX *_mem_save_bind_handle_0;
14146 TALLOC_CTX *_mem_save_req_0;
14147 TALLOC_CTX *_mem_save_info_type_0;
14148 TALLOC_CTX *_mem_save_info_0;
14149 if (flags & NDR_IN) {
14150 ZERO_STRUCT(r->out);
14152 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14153 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14155 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14156 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14157 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14158 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14159 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level));
14160 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14161 NDR_PULL_ALLOC(ndr, r->in.req);
14163 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14164 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14165 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14166 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14168 NDR_PULL_ALLOC(ndr, r->out.info_type);
14169 ZERO_STRUCTP(r->out.info_type);
14170 NDR_PULL_ALLOC(ndr, r->out.info);
14171 ZERO_STRUCTP(r->out.info);
14173 if (flags & NDR_OUT) {
14174 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14175 NDR_PULL_ALLOC(ndr, r->out.info_type);
14177 _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
14178 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC);
14179 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type));
14180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC);
14181 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14182 NDR_PULL_ALLOC(ndr, r->out.info);
14184 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14185 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14186 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type));
14187 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14188 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14189 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14191 return NDR_ERR_SUCCESS;
14194 _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r)
14196 ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo");
14197 ndr->depth++;
14198 if (flags & NDR_SET_VALUES) {
14199 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14201 if (flags & NDR_IN) {
14202 ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo");
14203 ndr->depth++;
14204 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14205 ndr->depth++;
14206 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14207 ndr->depth--;
14208 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level);
14209 ndr_print_ptr(ndr, "req", r->in.req);
14210 ndr->depth++;
14211 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14212 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req);
14213 ndr->depth--;
14214 ndr->depth--;
14216 if (flags & NDR_OUT) {
14217 ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo");
14218 ndr->depth++;
14219 ndr_print_ptr(ndr, "info_type", r->out.info_type);
14220 ndr->depth++;
14221 ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type);
14222 ndr->depth--;
14223 ndr_print_ptr(ndr, "info", r->out.info);
14224 ndr->depth++;
14225 ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type);
14226 ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info);
14227 ndr->depth--;
14228 ndr_print_WERROR(ndr, "result", r->out.result);
14229 ndr->depth--;
14231 ndr->depth--;
14234 static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
14236 if (flags & NDR_IN) {
14238 if (flags & NDR_OUT) {
14239 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14241 return NDR_ERR_SUCCESS;
14244 static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r)
14246 if (flags & NDR_IN) {
14248 if (flags & NDR_OUT) {
14249 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14251 return NDR_ERR_SUCCESS;
14254 _PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r)
14256 ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY");
14257 ndr->depth++;
14258 if (flags & NDR_SET_VALUES) {
14259 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14261 if (flags & NDR_IN) {
14262 ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY");
14263 ndr->depth++;
14264 ndr->depth--;
14266 if (flags & NDR_OUT) {
14267 ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY");
14268 ndr->depth++;
14269 ndr_print_WERROR(ndr, "result", r->out.result);
14270 ndr->depth--;
14272 ndr->depth--;
14275 static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r)
14277 if (flags & NDR_IN) {
14278 if (r->in.bind_handle == NULL) {
14279 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14281 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14282 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14283 if (r->in.req == NULL) {
14284 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14286 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14287 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14289 if (flags & NDR_OUT) {
14290 if (r->out.level_out == NULL) {
14291 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14293 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14294 if (r->out.ctr == NULL) {
14295 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14297 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14298 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14299 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14301 return NDR_ERR_SUCCESS;
14304 static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r)
14306 TALLOC_CTX *_mem_save_bind_handle_0;
14307 TALLOC_CTX *_mem_save_req_0;
14308 TALLOC_CTX *_mem_save_level_out_0;
14309 TALLOC_CTX *_mem_save_ctr_0;
14310 if (flags & NDR_IN) {
14311 ZERO_STRUCT(r->out);
14313 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14314 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14316 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14317 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14318 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14320 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14321 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14322 NDR_PULL_ALLOC(ndr, r->in.req);
14324 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14325 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14326 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14327 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14329 NDR_PULL_ALLOC(ndr, r->out.level_out);
14330 ZERO_STRUCTP(r->out.level_out);
14331 NDR_PULL_ALLOC(ndr, r->out.ctr);
14332 ZERO_STRUCTP(r->out.ctr);
14334 if (flags & NDR_OUT) {
14335 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14336 NDR_PULL_ALLOC(ndr, r->out.level_out);
14338 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14339 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14340 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14341 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14342 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14343 NDR_PULL_ALLOC(ndr, r->out.ctr);
14345 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14346 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14347 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14348 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14350 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14352 return NDR_ERR_SUCCESS;
14355 _PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r)
14357 ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2");
14358 ndr->depth++;
14359 if (flags & NDR_SET_VALUES) {
14360 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14362 if (flags & NDR_IN) {
14363 ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2");
14364 ndr->depth++;
14365 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14366 ndr->depth++;
14367 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14368 ndr->depth--;
14369 ndr_print_int32(ndr, "level", r->in.level);
14370 ndr_print_ptr(ndr, "req", r->in.req);
14371 ndr->depth++;
14372 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14373 ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req);
14374 ndr->depth--;
14375 ndr->depth--;
14377 if (flags & NDR_OUT) {
14378 ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2");
14379 ndr->depth++;
14380 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14381 ndr->depth++;
14382 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14383 ndr->depth--;
14384 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14385 ndr->depth++;
14386 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14387 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr);
14388 ndr->depth--;
14389 ndr_print_WERROR(ndr, "result", r->out.result);
14390 ndr->depth--;
14392 ndr->depth--;
14395 static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
14397 if (flags & NDR_IN) {
14399 if (flags & NDR_OUT) {
14400 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14402 return NDR_ERR_SUCCESS;
14405 static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
14407 if (flags & NDR_IN) {
14409 if (flags & NDR_OUT) {
14410 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14412 return NDR_ERR_SUCCESS;
14415 _PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r)
14417 ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14418 ndr->depth++;
14419 if (flags & NDR_SET_VALUES) {
14420 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14422 if (flags & NDR_IN) {
14423 ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14424 ndr->depth++;
14425 ndr->depth--;
14427 if (flags & NDR_OUT) {
14428 ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
14429 ndr->depth++;
14430 ndr_print_WERROR(ndr, "result", r->out.result);
14431 ndr->depth--;
14433 ndr->depth--;
14436 static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
14438 if (flags & NDR_IN) {
14440 if (flags & NDR_OUT) {
14441 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14443 return NDR_ERR_SUCCESS;
14446 static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
14448 if (flags & NDR_IN) {
14450 if (flags & NDR_OUT) {
14451 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14453 return NDR_ERR_SUCCESS;
14456 _PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r)
14458 ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE");
14459 ndr->depth++;
14460 if (flags & NDR_SET_VALUES) {
14461 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14463 if (flags & NDR_IN) {
14464 ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
14465 ndr->depth++;
14466 ndr->depth--;
14468 if (flags & NDR_OUT) {
14469 ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
14470 ndr->depth++;
14471 ndr_print_WERROR(ndr, "result", r->out.result);
14472 ndr->depth--;
14474 ndr->depth--;
14477 static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r)
14479 if (flags & NDR_IN) {
14480 if (r->in.bind_handle == NULL) {
14481 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14483 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14484 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
14485 if (r->in.req == NULL) {
14486 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14488 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
14489 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14491 if (flags & NDR_OUT) {
14492 if (r->out.level_out == NULL) {
14493 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14495 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out));
14496 if (r->out.ctr == NULL) {
14497 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14499 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14500 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14501 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14503 return NDR_ERR_SUCCESS;
14506 static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r)
14508 TALLOC_CTX *_mem_save_bind_handle_0;
14509 TALLOC_CTX *_mem_save_req_0;
14510 TALLOC_CTX *_mem_save_level_out_0;
14511 TALLOC_CTX *_mem_save_ctr_0;
14512 if (flags & NDR_IN) {
14513 ZERO_STRUCT(r->out);
14515 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14516 NDR_PULL_ALLOC(ndr, r->in.bind_handle);
14518 _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
14519 NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
14520 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
14521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
14522 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
14523 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14524 NDR_PULL_ALLOC(ndr, r->in.req);
14526 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
14527 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
14528 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
14529 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
14530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
14531 NDR_PULL_ALLOC(ndr, r->out.level_out);
14532 ZERO_STRUCTP(r->out.level_out);
14533 NDR_PULL_ALLOC(ndr, r->out.ctr);
14534 ZERO_STRUCTP(r->out.ctr);
14536 if (flags & NDR_OUT) {
14537 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14538 NDR_PULL_ALLOC(ndr, r->out.level_out);
14540 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
14541 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
14542 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out));
14543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
14544 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14545 NDR_PULL_ALLOC(ndr, r->out.ctr);
14547 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14548 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14549 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out));
14550 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
14551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14552 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14554 return NDR_ERR_SUCCESS;
14557 _PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r)
14559 ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost");
14560 ndr->depth++;
14561 if (flags & NDR_SET_VALUES) {
14562 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14564 if (flags & NDR_IN) {
14565 ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost");
14566 ndr->depth++;
14567 ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle);
14568 ndr->depth++;
14569 ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
14570 ndr->depth--;
14571 ndr_print_int32(ndr, "level", r->in.level);
14572 ndr_print_ptr(ndr, "req", r->in.req);
14573 ndr->depth++;
14574 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
14575 ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req);
14576 ndr->depth--;
14577 ndr->depth--;
14579 if (flags & NDR_OUT) {
14580 ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost");
14581 ndr->depth++;
14582 ndr_print_ptr(ndr, "level_out", r->out.level_out);
14583 ndr->depth++;
14584 ndr_print_int32(ndr, "level_out", *r->out.level_out);
14585 ndr->depth--;
14586 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14587 ndr->depth++;
14588 ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out);
14589 ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr);
14590 ndr->depth--;
14591 ndr_print_WERROR(ndr, "result", r->out.result);
14592 ndr->depth--;
14594 ndr->depth--;
14597 static const struct ndr_interface_call drsuapi_calls[] = {
14599 "drsuapi_DsBind",
14600 sizeof(struct drsuapi_DsBind),
14601 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind,
14602 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind,
14603 (ndr_print_function_t) ndr_print_drsuapi_DsBind,
14604 false,
14607 "drsuapi_DsUnbind",
14608 sizeof(struct drsuapi_DsUnbind),
14609 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind,
14610 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind,
14611 (ndr_print_function_t) ndr_print_drsuapi_DsUnbind,
14612 false,
14615 "drsuapi_DsReplicaSync",
14616 sizeof(struct drsuapi_DsReplicaSync),
14617 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync,
14618 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync,
14619 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync,
14620 false,
14623 "drsuapi_DsGetNCChanges",
14624 sizeof(struct drsuapi_DsGetNCChanges),
14625 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges,
14626 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges,
14627 (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges,
14628 false,
14631 "drsuapi_DsReplicaUpdateRefs",
14632 sizeof(struct drsuapi_DsReplicaUpdateRefs),
14633 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs,
14634 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs,
14635 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs,
14636 false,
14639 "DRSUAPI_REPLICA_ADD",
14640 sizeof(struct DRSUAPI_REPLICA_ADD),
14641 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_ADD,
14642 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_ADD,
14643 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_ADD,
14644 false,
14647 "DRSUAPI_REPLICA_DEL",
14648 sizeof(struct DRSUAPI_REPLICA_DEL),
14649 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_DEL,
14650 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_DEL,
14651 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_DEL,
14652 false,
14655 "DRSUAPI_REPLICA_MODIFY",
14656 sizeof(struct DRSUAPI_REPLICA_MODIFY),
14657 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_MODIFY,
14658 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_MODIFY,
14659 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_MODIFY,
14660 false,
14663 "DRSUAPI_VERIFY_NAMES",
14664 sizeof(struct DRSUAPI_VERIFY_NAMES),
14665 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES,
14666 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES,
14667 (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES,
14668 false,
14671 "drsuapi_DsGetMemberships",
14672 sizeof(struct drsuapi_DsGetMemberships),
14673 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships,
14674 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships,
14675 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships,
14676 false,
14679 "DRSUAPI_INTER_DOMAIN_MOVE",
14680 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE),
14681 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE,
14682 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE,
14683 (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE,
14684 false,
14687 "drsuapi_DsGetNT4ChangeLog",
14688 sizeof(struct drsuapi_DsGetNT4ChangeLog),
14689 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog,
14690 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog,
14691 (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog,
14692 false,
14695 "drsuapi_DsCrackNames",
14696 sizeof(struct drsuapi_DsCrackNames),
14697 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames,
14698 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames,
14699 (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames,
14700 false,
14703 "drsuapi_DsWriteAccountSpn",
14704 sizeof(struct drsuapi_DsWriteAccountSpn),
14705 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn,
14706 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn,
14707 (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn,
14708 false,
14711 "drsuapi_DsRemoveDSServer",
14712 sizeof(struct drsuapi_DsRemoveDSServer),
14713 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer,
14714 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer,
14715 (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer,
14716 false,
14719 "DRSUAPI_REMOVE_DS_DOMAIN",
14720 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN),
14721 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN,
14722 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN,
14723 (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN,
14724 false,
14727 "drsuapi_DsGetDomainControllerInfo",
14728 sizeof(struct drsuapi_DsGetDomainControllerInfo),
14729 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo,
14730 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo,
14731 (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo,
14732 false,
14735 "drsuapi_DsAddEntry",
14736 sizeof(struct drsuapi_DsAddEntry),
14737 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry,
14738 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry,
14739 (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry,
14740 false,
14743 "DRSUAPI_EXECUTE_KCC",
14744 sizeof(struct DRSUAPI_EXECUTE_KCC),
14745 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_EXECUTE_KCC,
14746 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_EXECUTE_KCC,
14747 (ndr_print_function_t) ndr_print_DRSUAPI_EXECUTE_KCC,
14748 false,
14751 "drsuapi_DsReplicaGetInfo",
14752 sizeof(struct drsuapi_DsReplicaGetInfo),
14753 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo,
14754 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo,
14755 (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo,
14756 false,
14759 "DRSUAPI_ADD_SID_HISTORY",
14760 sizeof(struct DRSUAPI_ADD_SID_HISTORY),
14761 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY,
14762 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY,
14763 (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY,
14764 false,
14767 "drsuapi_DsGetMemberships2",
14768 sizeof(struct drsuapi_DsGetMemberships2),
14769 (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2,
14770 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2,
14771 (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2,
14772 false,
14775 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
14776 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS),
14777 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS,
14778 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS,
14779 (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS,
14780 false,
14783 "DRSUAPI_GET_OBJECT_EXISTENCE",
14784 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE),
14785 (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE,
14786 (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE,
14787 (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE,
14788 false,
14791 "drsuapi_QuerySitesByCost",
14792 sizeof(struct drsuapi_QuerySitesByCost),
14793 (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost,
14794 (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost,
14795 (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost,
14796 false,
14798 { NULL, 0, NULL, NULL, NULL, false }
14801 static const char * const drsuapi_endpoint_strings[] = {
14802 "ncacn_np:[\\pipe\\lsass]",
14803 "ncacn_np:[\\pipe\\protected_storage]",
14804 "ncacn_ip_tcp:",
14805 "ncalrpc:",
14808 static const struct ndr_interface_string_array drsuapi_endpoints = {
14809 .count = 4,
14810 .names = drsuapi_endpoint_strings
14813 static const char * const drsuapi_authservice_strings[] = {
14814 "ldap",
14817 static const struct ndr_interface_string_array drsuapi_authservices = {
14818 .count = 1,
14819 .names = drsuapi_authservice_strings
14823 const struct ndr_interface_table ndr_table_drsuapi = {
14824 .name = "drsuapi",
14825 .syntax_id = {
14826 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
14827 NDR_DRSUAPI_VERSION
14829 .helpstring = NDR_DRSUAPI_HELPSTRING,
14830 .num_calls = 25,
14831 .calls = drsuapi_calls,
14832 .endpoints = &drsuapi_endpoints,
14833 .authservices = &drsuapi_authservices